elasticsearch multi_match,其中phrase_prefix不起作用

时间:2017-10-11 19:36:29

标签: elasticsearch

我在索引

上运行以下搜索查询
{
  "_source": "false", 
  "query": {
    "bool": {
      "must": [
        {
          "multi_match": {
            "fields": ["email","name", "company",  "phone"],
            "query": "tes",
            "type" : "phrase_prefix"
          }
        }
      ]
    }
  },
  "highlight": {
    "fields": {"name": {}, "company" : {}, "email" : {}, "phone" : {}}
  }
}

我有一些带有字段值的样本数据

name: test paddy
name : test user
name : test logger
name : test

当我运行上述查询时,我没有得到任何结果,但当我将其更改为"query": "test"时,我开始看到1个结果" test"。我期待在这两种情况下看到我拥有的所有上述名字。我在这里错过了什么吗?

更新 我也注意到这是使用文本字段,但是失败了关键字,长字段等等。当我尝试

{ "query": {
    "prefix" : { "phone" : 99 }
  }
}

数字字段和关键字字段正常工作。

这就像multi_match和前缀不能与关键字和数字字段一起使用吗?

1 个答案:

答案 0 :(得分:1)

问题是我在关键字字段上运行此操作。我把它改成文字,像美女一样工作。应该更清楚地阅读文档!