elasticsearch 常用查询 7.4 版本

Elasticsearch 常用查询

  • match:全文查询
  • exists:查询存在的字段
  • must_not:查询不存在的字段
  • ids:跟据id查询
  • prefix:前缀查询
  • range: 查询范围
  • term:精准查询
  • terms:多术语查询

本文基于es 7.4版本文档

match:全文查询

{
    "query": {
        "match" : {
            "message" : {
                "query" : "this is a test"
            }
        }
    }
}

exists:查询存在的字段

{
    "query": {
        "exists": {
            "field": "user"
        }
    }
}

must_not:查询不存在的字段

{
    "query": {
        "bool": {
            "must_not": {
                "exists": {
                    "field": "user"
                }
            }
        }
    }
}

ids:跟据id查询

每个文档都有一个唯一标识它的 _id,该 _id 已加入索引,以便可以使用 GET API 或 ids 查询来查找文档。

{
    "query": {
        "ids" : {
            "values" : ["1", "4", "100"]
        }
    }
}

prefix:前缀查询

{
    "query": {
        "prefix" : { "user" : "ki" }
    }
}

range: 查询范围

gt:大于
gte:大于等于
lt:小于
lte:小于等于
format:用于转换查询中的日期值的日期格式。
默认情况下,Elasticsearch 使用 映射中提供的日期格式。 该值会覆盖该映射格式。

{
    "query": {
        "range" : {
            "age" : {
                "gte" : 10,
                "lte" : 20,
                "boost" : 2.0
            }
        }
    }
}

term:精准查询

返回在提供的字段中包含确切术语的文档。

您可以使用术语查询根据精确值(例如价格、产品 ID 或用户名)查找文档。

避免对文本的字段使用 term查询。

默认情况下,Elasticsearch 会更改文本字段的值作为分析的一部分。 这可能会使查找文本字段值的精确匹配变得困难。

要搜索普通文本字段值,建议用match查询。

{
    "query": {
        "term": {
            "user": {
                "value": "Kimchy",
                "boost": 1.0
            }
        }
    }
}

terms:多术语查询

{
    "query" : {
        "terms" : {
            "user" : ["kimchy", "elasticsearch"],
            "boost" : 1.0
        }
    }
}

你可能感兴趣的:(elasticsearch,jenkins,大数据)