小编Fab*_*Fab的帖子

Elasticsearch:跨多个字段查询多个单词(带前缀)

我正在尝试实现一个由ES索引驱动的自动建议控件.索引有多个字段,我希望能够使用AND运算符跨多个字段进行查询,并允许部分匹配(仅限前缀).

举个例子,假设我有两个要查询的字段:"color"和"animal".我希望能够完成诸如"duc","duck","purpl","purple","purple duck"之类的查询.我设法使用带有AND运算符的multi_match()来完成所有这些工作.

我似乎无法做的是匹配像"purple duc"这样的查询,因为multi_match不允许使用通配符.

我查看了match_phrase_prefix(),但据我所知,它不跨越多个字段.

我正在转向使用tokeniser:它感觉解决方案可能存在,所以最终的问题是:

1)有人可以确认没有开箱即用的功能来做我想做的事情吗?感觉就像一个普通的模式,可以有一些东西可以使用.

2)有人可以提出任何解决方案吗?令牌化器是解决方案的一部分吗?我很高兴能够指出正确的方向并自己做更多的研究.显然,如果某人有工作解决方案来分享那将是非常棒的.

在此先感谢 - F.

autocomplete autosuggest elasticsearch

7
推荐指数
1
解决办法
4028
查看次数

标签 统计

autocomplete ×1

autosuggest ×1

elasticsearch ×1