弹性搜索phase_prefix查询不适用于第二个单词的第一个字母

时间:2016-12-19 23:37:02

标签: elasticsearch

以下查询为query =" s"," st"," sta&#返回正确的文档(使用movie_name ="星球大战") 34;," star"," star wa","星球大战"但不适合"明星w"返回0结果。

所有文档和查询都会发生这种情况,因此想知道如何修复此问题以及是否有其他替代方案。

我正在使用弹性搜索1.7。非常感谢提前!

"query": { "bool": { "minimum_should_match": 1, "should": [ { "constant_score": { "query": { "multi_match": { "query": "star w", "type": "phrase_prefix", "fields": [ "movie_name", "movie_tags" ] } }, "boost": 2 } }, { "constant_score": { "query": { "nested": { "path": "movie", "query": { "nested": { "path": "movie.cast", "query": { "match": { "movie.cast.name": { "query": "star w", "type": "phrase_prefix" } } } } } } }, "boost": 1 } } ],....

0 个答案:

没有答案