zoukankan      html  css  js  c++  java
  • Elasticsearch学习笔记之—wildcard、fuzzy、regexp、prefix

    WildCard

    GET /people/_search
    {
      "query":{
        "wildcard":{
          "firstName":"japa*"
        }
      }
    }

    上面的可以使用问号和星号两个形式的查询,下面是解释:

    ?, which matches any single character   匹配任意个字符

    *, which can match zero or more characters, including an empty one,翻译:可以匹配0个或多个字符,包含空字符

     Fuzzy

    GET /people/_search
    {
      "query":{
        "fuzzy":{
          "firstName":"japen"
        }
      }
    }
    japen可以匹配到japan,即使有一个字符不一样,也可以匹配出来

    Regexp

    假设您只想匹配以W开头,紧跟着数字的邮政编码。使用regexp查询能够让你写下更复杂的模式:备注:这个正则最好是用到不分词的字段里,如果做过分词以后就只能对分词后的词组或词进行搜索,意义就不大了。

    GET /my_index/address/_search
    {
        "query": {
            "regexp": {
                "postcode": "W[0-9].+"
            }
        }
    }

    GET /person_index/_search
    {
      "query":{
        "regexp":{
          "postCode":
          {
            "value":"W.*"
          }
        }
      }
    }

     匹配手机号:

    GET /person_index/_search
    {
      "query":{
        "regexp":{
          "address":
          {
            "value":"1[35678][0-9]{9}"
          }
        }
      }
    }

    这个正则表达式的规定了词条需要以W开头,紧跟着一个0到9的数字,然后是一个或者多个其它字符。

    下面例子是所有以 wxopen 开头的正则

    {
      "query": {
        "regexp": {
          "hostname": "wxopen.*"
        }
      }
    }

    prefix

    以什么字符开头的,可以更简单地用 prefix,如下面的例子

    GET /_search
    {
        "query": {
            "prefix": {
                "user": {
                    "value": "ki"
                }
            }
        }
    }

    或者
    GET /_search
    {
        "query": {
            "prefix" : { "user" : "ki" }
        }
    }
  • 相关阅读:
    chrome浏览器postman 插件安装
    使用poi解决导出excel内下拉框枚举项较多的问题
    Nginx(三)------nginx 反向代理
    webpack 内存溢出 Allocation failed
    Postman 安装及使用入门教程 (谷歌浏览器插件版)
    jquery 控制 video 视频播放和暂停
    百度编辑器ueditor 光标位置的坐标
    mkdocs 生成帮助文档
    js 日期 相关
    vue-cli3 第三版安装搭建项目
  • 原文地址:https://www.cnblogs.com/wjx-blog/p/12097892.html
Copyright © 2011-2022 走看看