Elasticsearch 基本使用条件查询_es条件查询,2024年最新值得一看
在Elasticsearch中,条件查询是通过查询DSL(Domain-Specific Language)来实现的。以下是一些常见的条件查询以及相应的Elasticsearch查询DSL示例。
- 匹配查询(match query):用于全文搜索,可以对文本进行分词后进行匹配。
GET /_search
{
"query": {
"match": {
"content": "Elasticsearch"
}
}
}
- 匹配精确值查询(match\_phrase query):用于精确匹配短语。
GET /_search
{
"query": {
"match_phrase": {
"content": "Elasticsearch"
}
}
}
- 多匹配查询(multi\_match query):可以在多个字段中进行匹配。
GET /_search
{
"query": {
"multi_match": {
"query": "Elasticsearch",
"fields": ["title", "content"]
}
}
}
- 范围查询(range query):可以查询特定范围内的数据。
GET /_search
{
"query": {
"range": {
"age": {
"gte": 20,
"lte": 30
}
}
}
}
- 终端查询(term query):用于精确匹配值,适用于数字、布尔值、keyword类型字段。
GET /_search
{
"query": {
"term": {
"category.keyword": "Elasticsearch"
}
}
}
- 组合查询(bool query):可以通过must(并且)、must\_not(不能)、should(应该)等逻辑组合多个查询条件。
GET /_search
{
"query": {
"bool": {
"must": {
"match": {
"content": "Elasticsearch"
}
},
"filter": {
"range": {
"age": {
"gte": 20,
"lte": 30
}
}
}
}
}
}
这些是Elasticsearch中常用的条件查询,每种查询都有其特定的用途,可以根据实际需求选择合适的查询类型。
评论已关闭