目录
在Elasticsearch中,条件查询(也称为过滤查询)用于筛选文档。以下是一些常用的查询字段和查询类型:
1. Match Query
-
用途: 用于全文搜索,匹配指定字段中的文本。
-
示例:
{ "query": { "match": { "field_name": "search_text" } } }
2. Term Query
-
用途: 用于精确匹配指定字段中的值,通常用于关键字字段(keyword)。
-
示例:
{ "query": { "term": { "field_name": { "value": "exact_value" } } } }
3. Range Query
-
用途: 用于匹配指定字段中的值在某个范围内的文档。
-
示例:
{ "query": { "range": { "field_name": { "gte": 10, "lte": 20 } } } }
4. Bool Query
-
用途: 用于组合多个查询条件,支持
must
、should
、must_not
和filter
。 -
示例:
{ "query": { "bool": { "must": [ { "match": { "field1": "value1" } }, { "range": { "field2": { "gte": 10 } } } ], "should": [ { "term": { "field3": "value3" } } ], "must_not": [ { "