Elasticsearch7.8.0版本高级查询—— 模糊查询文档

Posted 小志的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch7.8.0版本高级查询—— 模糊查询文档相关的知识,希望对你有一定的参考价值。

目录

一、初始化文档数据

  • 在 Postman 中,向 ES 服务器发 POST 请求 :http://localhost:9200/user/_doc/1,请求体内容为:

    
    "name":"zhangsan",
    "age":20,
    "sex":"男"
    
    

  • 在 Postman 中,向 ES 服务器发 POST 请求 :http://localhost:9200/user/_doc/2,请求体内容为:

    
    "name":"zhangsan1",
    "age":21,
    "sex":"男"
    
    

  • 在 Postman 中,向 ES 服务器发 POST 请求 :http://localhost:9200/user/_doc/3,请求体内容为:

    
    "name":"zhangsan2",
    "age":22,
    "sex":"男"
    
    

  • 在 Postman 中,向 ES 服务器发 POST 请求 :http://localhost:9200/user/_doc/4,请求体内容为:

    
        "name":"lisi",
        "age":25,
        "sex":"女"
    
    

二、模糊查询文档

2.1、概述

  • 模糊查询返回包含与搜索字词相似的字词的文档。

  • 编辑距离是将一个术语转换为另一个术语所需的一个字符更改的次数。这些更改可以包括:

    操作示例
    更改字符(box → fox)
    删除字符(black → lack)
    插入字符(sic → sick
    转置两个相邻字符(act → cat)
  • 为了找到相似的术语,fuzzy 查询会在指定的编辑距离内创建一组搜索词的所有可能的变体
    或扩展。然后查询返回每个扩展的完全匹配。

  • 通过 fuzziness 修改编辑距离。一般使用默认值 AUTO,根据术语的长度生成编辑距离。

2.2、示例1

  • 在 Postman 中,向 ES 服务器发 GET请求 :http://localhost:9200/user/_search,请求体内容为:

    
    "query": 
        "fuzzy": 
            "name": 
                "value": "zhangsan"
            
        
    
    

  • 服务器响应结果

2.3、示例2

  • 在 Postman 中,向 ES 服务器发 GET请求 :http://localhost:9200/user/_search,请求体内容为:

    
    "query": 
        "fuzzy": 
            "name": 
                "value": "zhangsan",
                "fuzziness": 0
            
        
    
    

  • 服务器响应结果

以上是关于Elasticsearch7.8.0版本高级查询—— 模糊查询文档的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch7.8.0版本高级查询——组合查询文档

Elasticsearch7.8.0版本高级查询—— 模糊查询文档

Elasticsearch7.8.0版本高级查询—— 指定查询字段查询文档

Elasticsearch7.8.0版本高级查询—— 完全匹配查询文档

Elasticsearch7.8.0版本高级查询—— 分页查询文档

Elasticsearch7.8.0版本高级查询—— 字段匹配查询文档