精华内容
下载资源
问答
  • Elasticsearch 模糊查询

    千次阅读 2020-06-17 11:14:44
    模糊查询主要针对文本类型使用。 1、当搜索字段是text类型时:由于它会分词,在执行wildcard、regexp、prefix时和es会检查字段中的每个词条,而不是整个字段。 2、当搜索字段是keyword类型时:在执行wildcard、...

    前言

    模糊查询主要针对文本类型使用。
    1、当搜索字段是text类型时:由于它会分词,在执行wildcard、regexp、prefix时,es会检查字段中的每个词条,而不是整个字段。
    2、当搜索字段是keyword类型时:在执行wildcard、regexp、prefix时,es会检查字段中整个文本。

    性能方面:prefix > wildcard > regexp

    1、模糊查询之前缀查询-prefix

    prefix 前缀查询,以下查询示例 表示查出所有姓张的人(名字name以张开头),并且只返回name字段(_source字段的列表就是需要返回的)
    查询示例:

    POST /_search?pretty
    {
        "query":{
            "bool":{
                "filter":[{"prefix":{"name":"张"}}                              
                ]}},
    "size": 5,
    "_source": ["name"]
    }
    

    2、模糊查询之通配符查询-wildcard

    wildcard支持shell标准通配符。
    注意:字母要小写!
    注意:字母要小写!
    注意:字母要小写!
     
      

    通配符 含义 实例
    * 匹配 0 或多个字符 a*b,a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如 aabcb, axyzb, a012b, ab
    ? 匹配任意单个字符 a?b,a与b之间有且只有一个字符, 可以是任意字符, 如 aab, abb, acb, a0b
    [list]  匹配 list 中的任意单个字符 a[xyz]b,a与b之间必须也只能有一个字符, 但只能是 x 或 y 或 z, 如 axb, ayb, azb。
    [!list] 匹配除 list 中的任意单一字符 a[!0-9]b,a与b之间必须也只能有一个字符, 但不能是阿拉伯数字, 如 axb, aab, a-b。
    [c1-c2] 匹配 c1-c2 中的任意单一字符 a[0-9]b,匹配0与9之间其中一个字符,如 a0b, a1b… a9b
    {s1,s2,…}  匹配 s1 或 s2 (或更多)中的一个字符串 a{abc,xyz,123}b,a与b之间只能是abc或xyz或123这三个字符串之一
    查询示例,查询名字中带有‘万’字的文档

    查询示例,查询名字中带有‘万’字的文档

    POST /_search?pretty
    {
        "query":{"bool":{
                           "filter":[{"wildcard":{"name":"*万*"}}                              
            ]}},
        "size": 2,
        "_source": ["name"]
    }
    

    3、模糊查询之正则查询-regexp

    注意:字母要小写!
    注意:字母要小写!
    注意:字母要小写!

    支持标准的正则。
    查询示例:

    POST /_search?pretty
    {
      "query":{"bool":{
                           "filter":[{"regexp":{"name":".*张.*"}}                              
     ]}},
    "size": 2,
    "_source": ["name"]
    }
    

     

    展开全文
  • ElasticSearch 模糊查询

    万次阅读 2018-09-29 11:47:19
    于是需要用到模糊查询 ES:版本5.x 解决方案: 利用 wildcard 注意需要将该字段不分词 POST /indexname/typename/_search { "query": { "wildcard": { "fieldname": { ...

    背景:当要查询的字符串与分词的字段不一致时。由于ES根据词典进行分词,而输入的查询字符串又是比较随意的,比如名称。于是需要用到模糊查询

    ES:版本5.x
    解决方案:
    利用 wildcard
    注意需要将该字段不分词

    POST /indexname/typename/_search
    {
      "query": {
        "wildcard": {
          "fieldname": {
            "value": "*value"
          }
        }
      }
    }
    

    参考:
    https://blog.csdn.net/u011262847/article/details/78007119
    https://elasticsearch.cn/question/2295

    展开全文
  • elasticsearch 模糊查询

    万次阅读 2019-01-16 14:06:38
    1、使用关键字wildcard ...GET /cars/transactions/_search?pretty { "query": { "wildcard": { "city": { "value": "*ia*" } } } } 查询结果: ...

    1、使用关键字wildcard
    2. 它使用标准的 shell 通配符查询: ? 匹配任意字符, * 匹配 0 或多个字符

    GET /cars/transactions/_search?pretty
    {
      "query": {
        "wildcard": {
          "city": {
            "value": "*ia*"
          }
        }
      }
    }
    查询结果:
    

    在这里插入图片描述

    展开全文
  • elasticsearch模糊查询

    2021-05-07 10:30:12
    { "query":{ "bool":{ "must":[ { "wildcard":{ "originString.keyword":"*自式*" } } ] } }, "_source":{ ".
    {
        "query":{
            "bool":{
                "must":[
                    {
                        "wildcard":{
                            "originString.keyword":"*自式*"
                        }
                    }
                ]
            }
        },
        "_source":{
            "includes":[],
            "excludes":["simBase"]
        },
        "from":0,
        "size":20
    
    }

     

    展开全文
  • Elasticsearch模糊查询

    2019-04-22 18:54:00
    前缀查询 匹配包含具有指定前缀的项(not analyzed)的字段的文档。...GET /_search { "query": { "prefix" : { "user" : { "value" : "ki", "boost" : 2.0 } } } } 正则表达式查询 regexp(正则表达式...
  • ES 模糊查询

    2019-09-25 23:15:59
    参考:https://blog.csdn.net/u011262847/article/details/78007119 转载于:https://www.cnblogs.com/lvlin241/p/9554280.html
  • Elasticsearch模糊查询 //----------单字段查询----------------- http://170.160.230.26:9200/ppst/_doc/_search { "query": { "match": { "title": "设计" } }, "size": 2, "from": 0, "highlight":...
  • 我们都知道在ES中如果我们想要实现MySQL中的like查询的时候可以使用wildcard 通配符来进行...#模糊查询,比如查询李世民 GET booke/member/_search {"query": { "wildcard":{ "senderName": "李*" } } } ...
  • 转载:模糊查询导致Elasticsearch服务宕机 之前我在社区里写过 《ElasticSearch集群故障案例分析: 警惕通配符查询》一文,讲的是关于通配符查询可能引起ES集群负载过高的问题。 当时提到wildcard query构造的non-...
  • 最近使用yii2.0查询es数据,一般查找语句用的yii2.0的query类,遇到模糊查询使用like的时候竟然报 like conditions are not supported by elasticsearch.在QueryBuilder.php中查找到这个函数 private function ...
  • Es 模糊查询 match,wildcard

    千次阅读 2021-04-15 14:06:40
    Es 模糊查询的方式 要求: Es查询: 查询工单信息, 输入 “测试”,查出 form_name 为字段中有查询出含有符合内容的数据 match:分词模糊查询: 比如“Everything will be OK, All is well”,会被...
  • 之前讲过Elasticsearch 的wildcard(通配符查询)、regexp(正则查询)、prefix(前缀查询),他们都是致力于模糊搜索,然后在实际的项目中该如何选择,稍不注意就可能到很大性能问题。 使用方式这里就不再赘述了,...
  • 而使用过mysql的模糊查询的童鞋们,应该都知道,输入了 隔壁小白,则只会出现 隔壁小白123、321淘宝了压抑122、22445淘宝了压抑等相关的数据。它不会对其中的关键词进行分割 二、不分词使用 es对于不分词,其实...
  • elasticsearch模糊查询问题

    千次阅读 2018-04-08 11:51:29
    今天发现一个超蛋疼问题。...}查不出来后来发现这个字段未做分词,要用通配符wildcard查询。奇怪的是:"wildcard":{"logger_name":"org*"}有数据"wildcard":{"l
  • es模糊查询的问题

    千次阅读 2020-01-02 07:28:37
    es模糊查询的问题 今天在遇到es查询的时候,遇到了难点,花了半天才发现问题原因。 需求是:es实现模糊查询。相当于sql中的like %像%一样。但是在开发过程中,我使用了各种分词,各种查询代码,总是实现不了。 问题...
  • es模糊查询、分词查询、精确查询

    千次阅读 2020-04-27 17:36:15
    一:es精确查询、模糊查询es精确查询使用WildcardQueryBuilder :精确查询和模糊查询的区别是被模糊的字段值是否加匹配符 *、?,*匹配任意多个,?只匹配一个; SearchSourceBuilder sourceBuilder = new ...
  • ES模糊查询(任意位置模糊)

    万次阅读 热门讨论 2019-08-20 16:59:44
    elastic search7 java开发简单教程 中提到四种模糊查询,并且编写了prefix例子(即模糊字段在后面),但是实际情况可能包括其他位置模糊的情况,今天正要遇到了这个需求,项目经理让我根据某个excel表,根据里面的...
  • es 模糊查询默认

    2020-08-28 09:56:16
    一个param字段如何支持多值模糊查询, 最好能把结果代码给我贴出来</p><p> </p>下面的代码是这样的 类似是这样的 select * from table where param like '%www%' or email like '%email%'</p><p>...
  • SearchResponse scrollResponse = client.prepareSearch(INDEX) .setSearchType(SearchType.SCAN).setFrom(0).setSize(100).setScroll(TimeValue.timeValueMinutes(1)) .setQuery(QueryBuilders.fuzzyQuery...
  • es模糊查询与精准查询混用 QueryBuilder qb1 = QueryBuilders.matchPhraseQuery("XXXXXX1", "查询短语"); QueryBuilder qb2 = QueryBuilders.termQuery("XXXXXX2",1); QueryBuilder ...
  • BoolQueryBuilder wildcardQuery模糊查询汉字有问题,在查询字段后加一个.keyword进行查询
  • 1.match查询 会先对搜索词进行分词,比如“白雪公主和苹果”,会分成“白雪”“公主”“苹果”。含有相关内容的字段,都会被检索出来。 2.match_phrase查询 match_phrase与slop一起用,能保证分词间的邻近关系,...
  • 我们都知道在ES中如果我们想要实现MySQL中的like查询的时候可以使用wildcard 通配符来进行操作。其中?...#模糊查询,比如查询李政,PS:查不出李世民 GET booke/member/_search {"query": { "wildcard
  • es模糊查询索引名

    千次阅读 2020-04-26 11:29:21
    例如模糊查询包含data字段的索引名: GET _cat/indices/*data*?v

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,232
精华内容 7,292
关键字:

es模糊查询