2

我想知道 Algolia 服务在进行搜索时是否提供某种推荐机制。

我在 API 文档中找不到任何与基于索引数据为客户端提供更精细和智能的搜索选项相关的内容。

我试图描述的场景如下(这个例子有点过头了):

假设用户正在搜索“红色汽车”,那么系统会提供更具体的搜索选项以及数据库中可能存在的相关项目(例如,法拉利、红色驾驶手套、速度与激情的配乐 :-))

更新

为了将来参考,我最终使用 Algolia 的文本搜索功能做了一个基本的推荐系统。

总结一下,car保存时的属性color, speed,等用于创建同义词索引,engine例如引擎索引: 最后,每个索引必须指明搜索的属性,并作为搜索的返回结果。engine ferrari { synonyms: ['red', 'ferrari', 'fast'], value: 'ferrari' } synonymsvalue

4

1 回答 1

2

Algolia 没有提供那种开箱即用的“智能”。

您可以做的事情是使用同义词和其他参数的组合来近似您正在寻找的内容:

  • 定义同义词组,例如“汽车、法拉利、驾驶手套”、“红色、深红色、橘子、橙色”、...
  • 发送搜索查询时,设置optionalWords为该查询中包含的单词列表。这将使您的查询的每个单词都是可选的。
  • 也设置removeStopWordstrue忽略“the”、“a” (...) 等词,以提高相关性。

使用定义明确的同义词列表,这将使您的原始查询解释为许多其他可能性,从而增加可能结果的多样性。

请注意,它也可能会影响结果的相关性,因为例如用户在搜索汽车时可能不想寻找手套!

于 2015-11-19T07:33:32.807 回答