Elasticsearch-DSL查询
wenking 12/19/2023 Elasticsearch
查询、过滤、聚合、排序
# 简单查询
# Match Query
Match Query用于全文搜索,可以匹配包含指定词汇的字段
{
"query": {
"match": {
"field_name": "search_term"
}
}
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# Term Query
Term Query用于精确匹配一个或多个不分析(not analyzed)的值。
{
"query": {
"term": {
"field_name": "exact_value"
}
}
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# Prefix Query
Prefix Query用于查找字段值以特定前缀开始的文档。
{
"query": {
"prefix": {
"field_name": "prefix_value"
}
}
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# Wildcard Query
Wildcard Query用于使用通配符(*和?)进行字段值的匹配。
{
"query": {
"wildcard": {
"field_name": "prefix*"
}
}
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# Range Query
Range Query用于查找字段值在特定范围内的文档。
{
"query": {
"range": {
"field_name": {
"gte": "lower_bound",
"lte": "upper_bound"
}
}
}
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# Exists Query
Exists Query用于查找具有指定字段的文档。
{
"query": {
"exists": {
"field": "field_name"
}
}
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# Missing Query
Missing Query用于查找未包含指定字段的文档。
{
"query": {
"missing": {
"field": "field_name"
}
}
}
1
2
3
4
5
6
7
2
3
4
5
6
7