弹性搜索在query_string精确搜索中使用通配符

时间:2014-10-27 19:39:00

标签: elasticsearch query-string exact-match

尝试使用query_string获取通配符和弹性搜索精确短语搜索时遇到问题。

希望允许返回的结果是所有变体的精确短语。即“Coors Brewing”,“Coors Brewery”,“Coors Brews”等。

POST _search
{
"query": {
  "query_string": {
    "default_operator": "AND", 
    "analyze_wildcard": true,
    "query": "\"coors brew*\""
  }
}
}

我没有采用这种方法,但是想搜索大部分文档以找到匹配对比1或2个字段。

1 个答案:

答案 0 :(得分:1)

这似乎是match_phrase_prefix查询(documentation)的完美用例:您试一试吗?

如果您需要同时对多个字段进行查询,请使用multi_match类型(documentation)查看phrase_prefix个查询。

与基于wilcard的query_string查询的不同之处在于,匹配查询未经过解析,但不支持query_string syntax