具有索引类型提升的多字段自动完成

时间:2013-10-14 18:39:05

标签: elasticsearch

我想在高层次上完成的是一个自动填充输入字段,它可以查询客户和多个字段的订单,客户名称搜索的客户排名更高。

在我看来,有各种方法可以使用elasticsearch提供的工具来解决这个问题。

我接触过这种方式的方法是使用multi_match类型的prefix_phrase个查询,以便让部分查询在多个字段中运行。

例如,“bo”应返回“Bob Smith”以及“Adam Boss”的匹配。我将fullname索引为firstname和lastname的单独字段,因此“adam boss”也会返回有效的前缀匹配。

此外,我想提高客户的结果 - 尝试使用boost param on the multi_match来做到这一点,但这似乎并没有像我期望的那样发挥作用。

解决这个问题的直接方法是什么?

我在弹性搜索文档中遇到的挑战之一是,并不总是清楚哪些属性和功能适用于哪些其他属性和功能。例如,multi_match documentation没有讨论使用自定义提升,而不是在字段级别。

1 个答案:

答案 0 :(得分:2)

我认为最好的方法是使用ES的完成建议器(v0.90.3 +),请参考这里的实际用例:

http://www.elasticsearch.org/blog/you-complete-me/ http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-suggesters-completion.html