ElasticSearch 模糊查询

前缀搜索

# 前缀搜索
注意:
前缀搜索匹配的是trem,而不是filed,倒排索引的分词
性能比较差,没有缓存
搜索时尽量把前缀词设置长一点
GET /product/_search
{
  "query": {
    "prefix": {
      "name": {
        "value": "小米"
      }
    }
  }
}

通配符

 通配搜索匹配的是trem
GET /product/_search
{
  "query": {
    "wildcard": {
      "name": {
        "value": "耳*"
      }
    }
  }
}
tags.keyword 匹配的是数组里单个词
GET /product/_search
{
  "query": {
    "wildcard": {
      "tags.keyword": {
        "value": "*比"
      }
    }
  }
}

模糊查询

fuzzy 查询是不分词的
GET /product/_search
{
  "query": {
    "fuzzy": {
      "name":{
        "value": "耳耳机",
        "fuzziness": 1  # 允许字符的容错个数
      }
    }
  }
}

短语前缀查询

match_phrase_prefix 允许查询的最后一个分词做前缀匹配
max_expansions 可以限制匹配的最大此项,设置此值可以影响查询性能,同时也会影响查询结果
slop 分词可以移动的次数,分词移动后能匹配上都会出结果
GET /product/_search
{
  "query": {
    "match_phrase_prefix": {
      "name":{
        "query": "小米耳",
        "max_expansions": 10,
        "slop":2
      }
    }
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值