Elasticsearch 查询语法
warning:
这篇文章距离上次修改已过202天,其中的内容可能已经有所变动。
Elasticsearch 查询语法是基于 JSON 的,并且包含多种不同类型的查询。以下是一些常见查询的例子:
- 全文查询(Full text query):
{
"query": {
"match": {
"field": "text"
}
}
}
- 多字段全文查询(Multi-field full text query):
{
"query": {
"multi_match": {
"query": "text",
"fields": ["field1", "field2"]
}
}
}
- 精确匹配查询(Term query):
{
"query": {
"term": {
"field": {
"value": "value"
}
}
}
}
- 范围查询(Range query):
{
"query": {
"range": {
"field": {
"gte": 10,
"lte": 20
}
}
}
}
- 复合查询(Bool query):
{
"query": {
"bool": {
"must": {
"match": {
"field": "text"
}
},
"filter": {
"term": {
"field": "value"
}
},
"must_not": {
"range": {
"field": {
"gt": 50,
"lt": 10
}
}
}
}
}
}
- 排序(Sorting):
{
"query": {
"match_all": {}
},
"sort": [
{ "field": "asc" },
{ "other_field": "desc" }
]
}
- 分页(Pagination):
{
"query": {
"match_all": {}
},
"from": 10,
"size": 10
}
- 高亮搜索结果(Highlighting):
{
"query": {
"match": {
"field": "text"
}
},
"highlight": {
"fields": {
"field": {}
}
}
}
这些查询可以根据需求组合和嵌套,以执行更复杂的搜索操作。
评论已关闭