欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 艺术 > ElasticSearch的搜索方式

ElasticSearch的搜索方式

2025/4/3 5:25:56 来源:https://blog.csdn.net/gaoqiandr/article/details/142416914  浏览:    关键词:ElasticSearch的搜索方式

目录

目录

前言

数据准备

文档搜索

一、查询所有文档

二、全文检索

(1)全文检索

(2)自动纠错

三、范围搜索

四、短语检索

五、单词/词组搜索

六、复合搜索


前言

数据准备

PUT /students
{"mappings":{"properties":{"id": {"type": "integer","index": true},"name": {"type": "text","store": true,"index": true,"analyzer": "ik_smart"},"info": {"type": "text","store": true,"index": true,"analyzer": "ik_smart"}}}
}POST /students/_doc/
{"id":1,"name":"程序员","info":"I love you"
}POST /students/_doc/
{"id":2,"name":"美羊羊","info":"美羊羊是羊村最漂亮的人"
}POST /students/_doc/
{"id":3,"name":"懒羊羊","info":"懒羊羊的成绩不是很好"
}POST /students/_doc/
{"id":4,"name":"小灰灰","info":"小灰灰的年纪比较小"
}POST /students/_doc/
{"id":5,"name":"沸羊羊","info":"沸羊羊喜欢美羊羊"
}POST /students/_doc/
{"id":6,"name":"灰太狼","info":"灰太狼是小灰灰的父亲,每次都会说我一定会回来的"
}

文档搜索

GET /索引/_search
{"query":{搜索方式:搜索参数}
}

——————————————————————————————————————————

一、查询所有文档

{"query":{"match_all":{}}
}

二、全文检索

(1)全文检索

{"query":{"match":{搜索字段:搜索条件}}
}

(2)自动纠错

注:在搜索时关键词有可能会输入错误,ES搜索提供了自动纠错功能,即ES的模糊查询。使用match方式可以实现模糊查询。模糊查询对中文的支持效果一般,我们使用英文数据测试模糊查询。

{"query": {"match": {"域名": {"query": 搜索条件,"fuzziness": 最多错误字符数,不能超过2}}}
}

三、范围搜索

范围搜索。对数字类型的字段进行范围搜索

{"query":{"range":{搜索字段:{ "gte":最小值,"lte":最大值} }}
}
gt/lt:大于/小于
gte/lte:大于等于/小于等于

四、短语检索

搜索条件不做任何分词解析,在搜索字段对应的倒排索引中精确匹配。

{"query":{"match_phrase":{搜索字段:搜索条件}}
}

五、单词/词组搜索

term/terms:单词/词组搜索。搜索条件不做任何分词解析,在搜索字段对应的倒排索引中精确匹配

{"query":{"term":{ 搜索字段: 搜索条件}}
}{"query":{"terms":{ 搜索字段: [搜索条件1,搜索条件2]}}
}

六、复合搜索

简单来说就是支持多个条件搜索,有三个:必须满足,满足其中一个,必须都不满足!

GET /索引/_search
{ "query": { "bool": { // 必须满足的条件 "must": [ 搜索方式:搜索参数,搜索方式:搜索参数],// 多个条件有任意一个满足即可"should": [搜索方式:搜索参数,搜索方式:搜索参数],// 必须不满足的条件"must_not":[搜索方式:搜索参数,搜索方式:搜索参数]} } 
}

 举例:

必须有“成绩”关键字,而且id是大于等于1小于等于3(可以多个条件一起的,如必须满足什么,必须不满足什么)

GET /students/_search
{"query": {"bool": {"must": [{"term": {"info":"成绩"}},{"range":{"id":{"gte": 1,"lte": 3}}}]}}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词