使用`_all`查询`multi_match`` phrase_prefix`

时间:2016-12-17 13:56:19

标签: elasticsearch

我有一个问题归结为这种意想不到的行为:

我正在使用包含以下内容的测试索引:

DELETE /test_index?ignore_unavailable=true

POST /test_index/content/1
{
  "name": "lorem"
}

现在我无法使用multi_match进行phrase_prefix _all查询,例如搜索lore

即,以下查询产生0结果:

POST /test_index/content/_search
{
  "query": {
    "multi_match": {
      "query": "lore",
      "fields": [
        "_all"
      ],
      "type": "phrase_prefix"
    }
  }
}

query更改为lorem(完整字词),会产生预期的文档。

专门更改查询以匹配name字段也可以。

我在ES 2.3.1上试过这个。任何人都可以确认,解释或提供解决方案吗?

2 个答案:

答案 0 :(得分:0)

这应该适用于ES 5.1中的OOTB。

答案 1 :(得分:0)