专栏首页cwl_JavaElasticSearch(7.2.2)-es之term的多种查询

ElasticSearch(7.2.2)-es之term的多种查询

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42528266/article/details/102803896

简介:⼿把⼿带你玩转es的⼏种查询

介绍

  • 单词级别查询
  • 这些查询通常⽤于结构化的数据,⽐如:number, date, keyword等,⽽不是对text。
  • 也就是说,全⽂本查询之前要先对⽂本内容进⾏分词,⽽单词级别的查询直接在相应字段的反向索引中精确查找,单词级别的查询⼀般⽤于数值、⽇期等类型的字段上
  • 准备⼯作
    • 删除nba索引
    • 新增nba索引

PUT nba

{
	"mappings": {
		"properties": {
			"birthDay": {
				"type": "date"
			},
			"birthDayStr": {
				"type": "keyword"
			},
			"age": {
				"type": "integer"
			},
			"code": {
				"type": "text"
			},
			"country": {
				"type": "text"
			},
			"countryEn": {
				"type": "text"
			},
			"displayAffiliation": {
				"type": "text"
			},
			"displayName": {
				"type": "text"
			},
			"displayNameEn": {
				"type": "text"
			},
			"draft": {
				"type": "long"
			},
			"heightValue": {
				"type": "float"
			},
			"jerseyNo": {
				"type": "text"
			},
			"playYear": {
				"type": "long"
			},
			"playerId": {
				"type": "keyword"
			},
			"position": {
				"type": "text"
			},
			"schoolType": {
				"type": "text"
			},
			"teamCity": {
				"type": "text"
			},
			"teamCityEn": {
				"type": "text"
			},
			"teamConference": {
				"type": "keyword"
			},
			"teamConferenceEn": {
				"type": "keyword"
			},
			"teamName": {
				"type": "keyword"
			},
			"teamNameEn": {
				"type": "keyword"
			},
			"weight": {
				"type": "text"
			}
		}
	}
}
  • Term query 精准匹配查询(查找号码为23的球员)

POST nba/_search

{
	"query": {
		"term": {
			"jerseyNo": "23"
		}
	}
}
  • Exsit Query 在特定的字段中查找⾮空值的⽂档(查找队名⾮空的球员)

POST nba/_search

{
	"query": {
		"exists": {
			"field": "teamNameEn"
		}
	}
}
  • Prefix Query 查找包含带有指定前缀term的⽂档(查找队名以Rock开头的球员)

POST nba/_search

{
	"query": {
		"prefix": {
			"teamNameEn": "Rock"
		}
	}
}
  • Wildcard Query ⽀持通配符查询,*表示任意字符,?表示任意单个字符(查找⽕箭队的球员)

POST nba/_search

{
	"query": {
		"wildcard": {
			"teamNameEn": "Ro*s"
		}
	}
}
  • Regexp Query 正则表达式查询(查找⽕箭队的球员)

POST nba/_search

{
	"query": {
		"regexp": {
			"teamNameEn": "Ro.*s"
		}
	}
}
  • Ids Query(查找id为1和2的球员)

POST nba/_search

{
	"query": {
		"ids": {
			"values": [1, 2]
		}
	}
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ElasticSearch(7.2.2)-es集群索引分⽚管理

    cwl_java
  • ElasticSearch(7.2.2)-映射的介绍和使用

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    cwl_java
  • ElasticSearch(7.2.2)-es之如何重建索引

    Elasticsearch是⼀个实时的分布式搜索引擎,为⽤户提供搜索服务,当我们决定存储某种数据时,在创建索引的时候需要将数据结构完整确定下来,于此同时索引的设...

    cwl_java
  • oracle中的数组(第一篇)(r4笔记第9天)

    数组在各种编程语言中都是很重要的数据结构实现,在oracle中也有自己的一席之地。自己简单做了几个实验,发现很多东西还是眼高手低,真实去做的时候,里面还是有不少...

    jeanron100
  • Go语言中反射的正确使用

    介绍 反射是元数据编程的一种形式,指的是程序获得本身结构的一种能力。不同语言的反射模型实现不一样,本文中的反射,仅仅指的是Go语言中的反射模型。 反射有两个问题...

    李海彬
  • Go语言中反射的正确使用

    介绍 反射是元数据编程的一种形式,指的是程序获得本身结构的一种能力。不同语言的反射模型实现不一样,本文中的反射,仅仅指的是Go语言中的反射模型。 反射有两个问题...

    李海彬
  • Go语言中反射的正确使用

    介绍 反射是元数据编程的一种形式,指的是程序获得本身结构的一种能力。不同语言的反射模型实现不一样,本文中的反射,仅仅指的是Go语言中的反射模型。 反射有两个问题...

    李海彬
  • Json Schema 快速入门

    Json schema 本身遵循Json规范,本身就是一个Json字符串,先来看一个例子

    软测小生
  • C++服务器开发之笔记三

    为什么需要原子性操作? 我们考虑一个例子: (1)x++这个常见的运算符在内存中是怎样操作的? 从内存中读x的值到寄存器中,对寄存器加1,再把新值写回x所处的内...

    用户1198337
  • ElasticSearch(7.2.2)-es集群索引分⽚管理

    cwl_java

扫码关注云+社区

领取腾讯云代金券