Elasticsearch 基础教程

Elasticsearch 高级教程

Elasticsearch 插件

Elasticsearch 笔记

Elasticsearch FAQ

elasticsearch查询语法


当使用 Elasticsearch 进行查询时,您会使用 Elasticsearch 查询语言(Query DSL),它允许您构建复杂的查询以搜索和检索文档。

以下是一些常用的 Elasticsearch 查询语句示例,以及它们的说明:

Match 查询

{
  "query": {
    "match": {
      "field_name": "search_text"
    }
  }
}

这将在指定字段中搜索与搜索文本部分匹配的文档。

Term 查询

{
  "query": {
    "term": {
      "field_name": "exact_value"
    }
  }
}

该查询用于搜索字段中包含精确值的文档,不会分析搜索词。

Range 查询

{
  "query": {
    "range": {
      "age": {
        "gte": 18,
        "lte": 30
      }
    }
  }
}

这个查询用于查找在指定范围内的数值字段(在这个例子中是年龄)的文档。

Bool 查询

{
  "query": {
    "bool": {
      "must": [
        { "match": { "field1": "value1" } },
        { "match": { "field2": "value2" } }
      ],
      "must_not": [
        { "term": { "field3": "value3" } }
      ],
      "should": [
        { "term": { "field4": "value4" } }
      ]
    }
  }
}

布尔查询允许您将多个查询组合在一起,使用 must (AND)、 must_not (NOT)、 should (OR)来构建复杂的查询逻辑。

Wildcard 查询

{
  "query": {
    "wildcard": {
      "field_name": "sea*"
    }
  }
}

通配符查询允许您在字段中使用通配符(如 *? )来匹配文本。

Match Phrase 查询

{
  "query": {
    "match_phrase": {
      "field_name": "exact phrase"
    }
  }
}

这个查询会查找包含完整短语的文档,而不只是单个词的匹配。

这些只是一些基本的 Elasticsearch 查询示例,实际上 Elasticsearch 还提供了更多丰富的查询类型和功能,如模糊查询、多字段查询、嵌套查询、聚合等等。您可以根据您的需求和数据结构来选择合适的查询类型和组合。在实际使用中,您需要将这些查询嵌入到 Elasticsearch 的查询 API 中。

Elasticsearch 查询语句采用基于 RESTful 风格的接口封装成 JSON 格式的对象,称之为 Query DSL。Elast ...
当使用Kibana查询Elasticsearch(ES)索引数据时,您可以使用Kibana的查询界面(KibanaDiscover)或Kib ...
Elasticsearch的最多使用的场景就是用它的查询API,它提供完备的查询功能以满足现实中的各种需求。如果请求中潜在的分片数量很大,则 ...
Java 是一门面向对象的语言,其语法结构包括了类、对象等概念。 ...
Elasticsearch是一个开源的分布式搜索和分析引擎,它提供了强大的聚合功能,用于分析和汇总数据。示例代码:这些示例代码展示了一些常用 ...