目录
- 一、初始化文档数据
- 二、模糊查询文档
- 2.1、概述
- 2.2、示例1
- 2.3、示例2
一、初始化文档数据
-
在 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 } } }
-
服务器响应结果