ElasticSearch常见用法 常见的ElasticSearch用法(3)
ElasticSearch常见用法
四、常见检索
1、查询所有[match_all]
match_all关键字: 返回索引中的全部文档
GET /products/_search
{
"query": {
"match_all": {}
}
}
2、关键词查询(term)
match_all关键字: 返回索引中的全部文档
GET /products/_search
{
"query": {
"match_all": {}
}
}term 关键字: 用来使用关键词查询
GET /products/_search
{
"query": {
"term": {
"price": {
"value": 4999
}
}
}
}
NOTE1: 通过使用term查询得知ES中默认使用分词器为标准分词器(StandardAnalyzer),标准分词器对于英文单词分词,对于中文单字分词。
NOTE2: 通过使用term查询得知,在ES的Mapping Type 中 keyword , date ,integer, long , double , boolean or ip 这些类型不分词,只有text类型分词。
3、范围查询[range]
range 关键字: 用来指定查询指定范围内的文档
GET /products/_search
{
"query": {
"range": {
"price": {
"gte": 1400,
"lte": 9999
}
}
}
}
4、前缀查询[prefix]
prefix 关键字: 用来检索含有指定前缀的关键词的相关文档
GET /products/_search
{
"query": {
"prefix": {
"title": {
"value": "ipho"
}
}
}
}
5、通配符查询[wildcard]
wildcard 关键字: 通配符查询 ? 用来匹配一个任意字符 * 用来匹配多个任意字符
GET /products/_search
{
"query": {
"wildcard": {
"description": {
"value": "iphon*"
}
}
}
}
6、多id查询[ids]
ids 关键字 : 值为数组类型,用来根据一组id获取多个对应的文档
GET /products/_search
{
"query": {
"ids": {
"values": ["verUq3wBOTjuBizqAegi","vurUq3wBOTjuBizqAegk"]
}
}
}
7、模糊查询[fuzzy]
fuzzy 关键字: 用来模糊查询含有指定关键字的文档
GET /products/_search
{
"query": {
"fuzzy": {
"description": "iphooone"
}
}
}
注意: fuzzy 模糊查询 最大模糊错误 必须在0-2之间
- 搜索关键词长度为 2 不允许存在模糊
- 搜索关键词长度为3-5 允许一次模糊
- 搜索关键词长度大于5 允许最大2模糊
8、布尔查询[bool]
- bool 关键字: 用来组合多个条件实现复杂查询
- must: 相当于&& 同时成立
- should: 相当于|| 成立一个就行
- must_not: 相当于! 不能满足任何一个
GET /products/_search
{
"query": {
"bool": {
"must": [
{"term": {
"price": {
"value": 4999
}
}}
]
}
}
}
9、多字段查询[multi_match]
GET /products/_search
{
"query": {
"bool": {
"must": [
{"term": {
"price": {
"value": 4999
}
}}
]
}
}
}相关阅读
-
求生之路1怎么联机局域网 求生之路2本地服务器联机教程
小编为你介绍求生之路1怎么联机局域网和求生之路2本地服务器联机教程方面的讲解,下面来一起了解一下吧。 说到玩游戏,相信很多小伙伴都会在自己下班后的休息时间里,或者是周末宅在
-
dreamweaver新手教程快速入门 学生个人网页制作html
今日小编为你讲解学生个人网页制作html和dreamweaver新手教程快速入门的内容,下面为您详细介绍 伴随着互联网时代的到来,网页制作已经成为越来越多人感兴趣的一项技能。学习网页制作也成
-
什么是微服务、容器和Kubernetes
今日重点为您介绍什么是微服务、容器和Kubernetes的电脑方面的小经验,下面IT袋网为您详细介绍 什么是微服务? 什么是微服务?你应该使用微服务吗?微服务与容器和 Kubernetes 有什么关系?
-
OpenSSL命令详解:一篇全面深入的教程
全面的为您讲解OpenSSL命令详解的相关介绍,具体介绍如下: OpenSSL是一个开源项目,提供了一个健壮、全特性且高度灵活的工具包,主要用于安全传输协议和加密算法的实现。 在本文中,我们


