Elasticsearch 字段可以模糊查询也可完全匹配查询(实例)

需求:

比如创建用户, 需要判断name是否重复后, 没有重复才插入数据, 创建好之后又需要模糊查询用户昵称name. 

这时候name字段类型就需要具备分词并且可完全匹配搜索.

直接上代码:

创建映射mapping:

{
  "mapping": {
    "properties": {
      "class": {
        "type": "byte"
      },
      "dateline": {
        "type": "integer"
      },
      "gallery_num": {
        "type": "integer"
      },
      "id": {
        "type": "keyword"
      },
      "is_deleted": {
        "type": "byte"
      },
      "is_enabled": {
        "type": "byte"
      },
      "name": {
        "type": "text",
        "fields": {
          "keyword": {
            "type": "keyword",
            "ignore_above": 256
          }
        },
        "analyzer": "ik_smart"
      },
      "owner_id": {
        "type": "integer"
      },
      "owner_type": {
        "type": "byte"
      },
      "type": {
        "type": "byte"
      },
      "uptime": {
        "type": "integer"
      }
    }
  }
}

原文地址: websites_CSDN https://blog.csdn.net/wuchengzeng/article/details/108360899

执行搜索: 假设index为user.

curl -XPOST "http://elasticsearch:9200/user/_search" -H 'Content-Type: application/json' -d'{  "query": {    "bool": {      "must": {        "match_phrase": {          "name.keyword": "标签测试"        }      },      "filter": [        {          "term": {            "owner_type": 1          }        },        {          "term": {            "is_enabled": 1          }        },        {          "term": {            "is_deleted": 0          }        }      ]    }  }}'

这样就实现了多字段查询以及name字段的完全匹配查询.

这里提供的是执行命令, 如果需要PHP代码, 可以留言.

Elasticsearch 字段可以模糊查询也可完全匹配查询(实例)_Websites-CSDN博客需求: 比如创建用户, 需要判断name是否重复后, 没有重复才插入数据, 创建好之后又需要模糊查询用户昵称name. 这时候name字段类型就需要具备分词并且可完全匹配搜索.直接上代码:创建映射mapping:{ "mapping": { "properties": { "class": { "type": "byte" }, "dateline": { "type": "integer" .https://blog.csdn.net/websites/article/details/108360899

本文地址: websites_CSDN https://blog.csdn.net/wuchengzeng/article/details/108360899

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云尔Websites

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值