我试图在高层次上完成的是一个自动完成输入字段,它在多个字段上查询客户和订单,客户在客户名称搜索中排名更高。
在我看来,使用 elasticsearch 提供的工具可以有多种方法来解决这个问题。
我解决这个问题的方法是使用multi_match
带有prefix_phrase
类型的查询,以便让部分查询跨多个字段工作。
例如,“bo”应该返回“Bob Smith”以及“Adam Boss”的匹配项。我将全名索引为与名字和姓氏分开的字段,因此“adam boss”也将返回有效的前缀匹配。
此外,我想提升客户结果 - 尝试使用boost
multi_match 上的参数来做到这一点,但这似乎并不像我期望的那样工作。
解决这个问题的直接方法是什么?
我在使用 elasticsearch 文档时面临的挑战之一是,并不总是清楚哪些属性和功能适用于哪些其他属性和功能。例如,multi_match 文档除了在字段级别之外没有讨论使用自定义提升。