弹性搜索完成建议器配置

时间:2014-01-03 15:02:02

标签: autocomplete elasticsearch

我正在尝试使用弹性搜索的completion suggester功能在我网站的搜索表单上设置自动填充/建议。

我有一个产品列表,按类别分组(在多个级别上)。搜索功能应该能够建议用户比直接产品更感兴趣的类别名称 其中一些类别具有相同的名称,但具有不同的父级(例如,在父类别'乳制品'和'牛奶'下的'牛奶'类别'宝贝')。当用户选择类别建议时,她会被重定向到另一个页面,其结果比仅仅搜索方法更具体。

payload字段中添加了其他元数据(重定向到的网址,父类别ID /名称)。

我使用output字段返回不同输入的规范化建议。如文档中所述:

  

“如果多个文档具有相同的输出,结果将被重复删除,   即只有一个作为建议结果的一部分返回。“

但正如所解释的那样,我的输出可能具有相同的值,但结果不同,因为它们将链接到不同的页面。未来还可能不同的类别级别将产生不同的行为。

我不愿通过添加完整字符串(即“乳制品中的牛奶”)作为输出来区分事物,因为:

1。父类别在概念上不是输出本身,而是相关的元数据 2。我打算在结果中使用一些格式,这会强制我解析输出字符串以在其中添加HTML标记。

那么,是否可以停用重复数据删除?

我正在考虑的一个解决方法是,如果不可能将字符串化的json对象存储在输出中,并且需要所有数据,包括搜索表单中显示的数据和当前在有效负载中的元数据。但在尝试使用之前,我宁愿调查现有的配置。

0 个答案:

没有答案