es使用match无法匹配到文档怎么办?

最近开始学es,发现使用match无法匹配文档,请大佬们帮忙看一下。
我想匹配张三或李四的文档,但是匹配不到。但是如果只匹配张三或只匹配李四,就能匹配到。
弄了快两天了一直没弄明白问题在哪。
 
es的版本是6.8

无结构索引创建语句:

PUT /haoke
{
  "settings": {
    "index": {
      "number_of_shards": "2",
      "number_of_replicas": "0"
    }
  }
}

数据插入语句:

POST /haoke/user/1001
{
  "id": 1001,
  "name": "张三",
  "age": 20,
  "sex": "男"
}


POST /haoke/user/
{
  "id": 1002,
  "name": "李四",
  "age": 21,
  "sex": "男"
}

查询语句:

POST /haoke/user/_search
{
  "query": {
    "match": {
      "name": "张三 李四"
    }
  }
}

 

可能是因为你的name属性是 keyword 类型的 , keyword只能通过精确值搜索 , 你可以把name改成 text 类型试试 , text类型会被分词

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632