我想与Algolia建立智能搜索。关键是使用关键字对结果进行排名。让我们说用户类型" smarphone蓝色廉价的好相机"。这应该找到所有蓝色智能手机,并按价格和相机特性订购。
这个想法是以某种方式将这些关键字映射到排名公式。
Doea任何人都知道Algolia是否有可能,如果是,那么达到预期结果的最佳方法是什么?
答案 0 :(得分:2)
要按分面值自动检测和过滤(例如blue
,good camera
),您可以使用Query Rules,特别是Dynamic Filtering。
然而,这不应该是必要的。如果您在color
列表中包含blue
(例如包含characteristics
值)和good camera
(包含searchableAttributes
值)属性,那么搜索请求将根据这些属性中匹配的纯文本相关性返回相关结果。
另一方面,排序策略会在构建时影响Algolia索引,因此为了根据查询更改排序策略(例如,如果搜索查询包含cheap
,则按升序排序结果),将need to setup a new replica index for which results are sorted by price。在前端,当检测到相关关键字(例如cheap
)时,您可以决定将搜索查询切换到主索引或已排序的副本。