TypechoJoeTheme

IT技术分享

统计

06. ES模糊匹配查询——ElasticSearch搜索专栏

2022-06-15
/
0 评论
/
714 阅读
/
正在检测是否收录...
06/15

一、wildcard查询

需要通过通配符进行查询,可使用wildcard来进行处理

GET /dbindex/_search
{
  "query": {
    "wildcard": {
      "name": {
        "value": "*三",
        "boost": 3.0,  // 指定评分
        "rewrite": "constant_score"
      }
    }
  }
}

二、fuzzy查询

  • 更改字符(例如box匹配到fox)。
  • 删除字符(例如black匹配到lack)。
  • 插入字符(例如sic匹配到sick)。
  • 倒置两个相邻字符(例如act匹配到cat)。
GET /dbindex/_search
{
  "query": {
    "fuzzy": {
      "remarks": {
        "value": "powerf"
      }
    }
  }
}

三、正则表达式查询

正则表达式是一种使用占位符字符匹配数据的方法

符号说明示例
.匹配任何字符ab.可以匹配到aba、abb、abz等
?重复前面的字符0次或者1次ab?可以匹配到ab和abb
+重复前面的字符1次或者多次ab+可以匹配到abb、abbb等
*重复前面的字符0次或者多次ab*可以匹配到ab、abb、abbb 等
{}前面一个字符可以重复的最小和最大次数a{2}可以匹配到 aa, a{2,4}可以匹配到aa、aaa 和aaaa,
竖线或运算符abc\xyz可以匹配到abc 和xyz
(...)形成一个群体,可以使用组将部分表达式视为单个字符abc(def)?可以匹配到abc和abcdef,但是不能匹配到 abcd
[...]匹配括号中的字符之一[abc]可以匹配到a、b、c
GET /dbindex/_search
{
  "query": {
    "regexp": {
      "remarks": {
        "value": "po.*",
        "case_insensitive": true
      }
   }
  }
}
朗读
赞 · 0
版权属于:

IT技术分享

本文链接:

https://idunso.com/archives/2882/(转载时请注明本文出处及文章链接)