如果我搜索3个字符,则phrase_prefix查询返回空结果,但如果我搜索4个或更多字符,则返回非空结果

时间:2015-12-06 22:03:20

标签: elasticsearch

我有这个问题:

"match": {   
    "_all": {
    "query": "ana",
    "type": "phrase_prefix"
   }
 }

此查询不会返回任何带有短语" ana"这是3个字符长度,但如果我搜索4个字符短语" anat"它返回结果:

match": {
  "_all": {
  "query": "anat",
  "type": "phrase_prefix"
  }
}

这可能是什么问题?我不知道为什么会这样,以及如何解决这个问题。

谢谢!!!

1 个答案:

答案 0 :(得分:1)

这可能是由于max_expansions参数设置为默认值10。

试试这个

{
  "query": {
    "match": {
      "_all": {
        "query": "ana",
        "type": "phrase_prefix",
        "max_expansions": 100
      }
    }
  }
}

尝试不同的“max_expansions”值,不要太大,否则查询返回需要时间

这有帮助吗?