Skip to content

Commit 8087b28

Browse files
authored
feat(search): fetch recommendations directly from algoliasearch (#1509)
1 parent 252228a commit 8087b28

File tree

5 files changed

+57
-1
lines changed

5 files changed

+57
-1
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@
9898
"bundlesize": [
9999
{
100100
"path": "packages/algoliasearch/dist/algoliasearch.umd.js",
101-
"maxSize": "8.2KB"
101+
"maxSize": "8.4KB"
102102
},
103103
{
104104
"path": "packages/algoliasearch/dist/algoliasearch-lite.umd.js",

packages/algoliasearch/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
"@algolia/client-search": "4.22.1",
3636
"@algolia/logger-common": "4.22.1",
3737
"@algolia/logger-console": "4.22.1",
38+
"@algolia/recommend": "4.22.1",
3839
"@algolia/requester-browser-xhr": "4.22.1",
3940
"@algolia/requester-common": "4.22.1",
4041
"@algolia/requester-node-http": "4.22.1",

packages/algoliasearch/src/builds/browser.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,16 @@ import {
190190
} from '@algolia/client-search';
191191
import { LogLevelEnum } from '@algolia/logger-common';
192192
import { createConsoleLogger } from '@algolia/logger-console';
193+
import {
194+
getFrequentlyBoughtTogether,
195+
getLookingSimilar,
196+
getRecommendations,
197+
getRecommendedForYou,
198+
getRelatedProducts,
199+
getTrendingFacets,
200+
getTrendingItems,
201+
WithRecommendMethods,
202+
} from '@algolia/recommend';
193203
import { createBrowserXhrRequester } from '@algolia/requester-browser-xhr';
194204
import { createUserAgent, Request, RequestOptions } from '@algolia/transporter';
195205

@@ -343,6 +353,13 @@ export default function algoliasearch(
343353

344354
return initPersonalization()(clientOptions);
345355
},
356+
getRecommendations,
357+
getFrequentlyBoughtTogether,
358+
getLookingSimilar,
359+
getRecommendedForYou,
360+
getRelatedProducts,
361+
getTrendingFacets,
362+
getTrendingItems,
346363
},
347364
});
348365
}
@@ -689,6 +706,15 @@ export type SearchClient = BaseSearchClient & {
689706
* @deprecated Use `initPersonalization` instead.
690707
*/
691708
readonly initRecommendation: (options?: InitPersonalizationOptions) => PersonalizationClient;
709+
readonly getRecommendations: WithRecommendMethods<BaseSearchClient>['getRecommendations'];
710+
readonly getFrequentlyBoughtTogether: WithRecommendMethods<
711+
BaseSearchClient
712+
>['getFrequentlyBoughtTogether'];
713+
readonly getLookingSimilar: WithRecommendMethods<BaseSearchClient>['getLookingSimilar'];
714+
readonly getRecommendedForYou: WithRecommendMethods<BaseSearchClient>['getRecommendedForYou'];
715+
readonly getRelatedProducts: WithRecommendMethods<BaseSearchClient>['getRelatedProducts'];
716+
readonly getTrendingFacets: WithRecommendMethods<BaseSearchClient>['getTrendingFacets'];
717+
readonly getTrendingItems: WithRecommendMethods<BaseSearchClient>['getTrendingItems'];
692718
};
693719

694720
export * from '../types';

packages/algoliasearch/src/builds/browserLite.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import {
2525
} from '@algolia/client-search';
2626
import { LogLevelEnum } from '@algolia/logger-common';
2727
import { createConsoleLogger } from '@algolia/logger-console';
28+
import { getRecommendations, WithRecommendMethods } from '@algolia/recommend';
2829
import { createBrowserXhrRequester } from '@algolia/requester-browser-xhr';
2930
import { createUserAgent, Request, RequestOptions } from '@algolia/transporter';
3031

@@ -74,6 +75,7 @@ export default function algoliasearch(
7475
methods: { search, searchForFacetValues, findAnswers },
7576
});
7677
},
78+
getRecommendations,
7779
},
7880
});
7981
}
@@ -115,6 +117,7 @@ export type SearchClient = BaseSearchClient & {
115117
request: Request,
116118
requestOptions?: RequestOptions
117119
) => Readonly<Promise<TResponse>>;
120+
readonly getRecommendations: WithRecommendMethods<BaseSearchClient>['getRecommendations'];
118121
};
119122

120123
export { WithoutCredentials, AlgoliaSearchOptions } from '../types';

packages/algoliasearch/src/builds/node.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,16 @@ import {
191191
waitTask,
192192
} from '@algolia/client-search';
193193
import { createNullLogger } from '@algolia/logger-common';
194+
import {
195+
getFrequentlyBoughtTogether,
196+
getLookingSimilar,
197+
getRecommendations,
198+
getRecommendedForYou,
199+
getRelatedProducts,
200+
getTrendingFacets,
201+
getTrendingItems,
202+
WithRecommendMethods,
203+
} from '@algolia/recommend';
194204
import { Destroyable } from '@algolia/requester-common';
195205
import { createNodeHttpRequester } from '@algolia/requester-node-http';
196206
import { createUserAgent, Request, RequestOptions } from '@algolia/transporter';
@@ -346,6 +356,13 @@ export default function algoliasearch(
346356

347357
return initPersonalization()(clientOptions);
348358
},
359+
getRecommendations,
360+
getFrequentlyBoughtTogether,
361+
getLookingSimilar,
362+
getRecommendedForYou,
363+
getRelatedProducts,
364+
getTrendingFacets,
365+
getTrendingItems,
349366
},
350367
});
351368
}
@@ -697,6 +714,15 @@ export type SearchClient = BaseSearchClient & {
697714
* @deprecated Use `initPersonalization` instead.
698715
*/
699716
readonly initRecommendation: (options?: InitPersonalizationOptions) => PersonalizationClient;
717+
readonly getRecommendations: WithRecommendMethods<BaseSearchClient>['getRecommendations'];
718+
readonly getFrequentlyBoughtTogether: WithRecommendMethods<
719+
BaseSearchClient
720+
>['getFrequentlyBoughtTogether'];
721+
readonly getLookingSimilar: WithRecommendMethods<BaseSearchClient>['getLookingSimilar'];
722+
readonly getRecommendedForYou: WithRecommendMethods<BaseSearchClient>['getRecommendedForYou'];
723+
readonly getRelatedProducts: WithRecommendMethods<BaseSearchClient>['getRelatedProducts'];
724+
readonly getTrendingFacets: WithRecommendMethods<BaseSearchClient>['getTrendingFacets'];
725+
readonly getTrendingItems: WithRecommendMethods<BaseSearchClient>['getTrendingItems'];
700726
} & Destroyable;
701727

702728
export * from '../types';

0 commit comments

Comments
 (0)