Elasticsearch基本操作-搜索(三)

2023-05-08 10:37:24 浏览数 (1)

聚合搜索结果

在Elasticsearch中,可以使用聚合功能来对搜索结果进行汇总和分析。聚合可以按照不同的字段进行分组,然后计算每组的统计信息。以下是在名为my_index的索引中搜索所有包含"apple"的文档,并按照"category"字段进行分组的示例:

代码语言:javascript复制
POST /my_index/_search
{
  "query": {
    "match": {
      "content": "apple"
    }
  },
  "aggs": {
    "group_by_category": {
      "terms": {
        "field": "category"
      }
    }
  }
}

在上面的示例中,使用了"aggs"查询子句来指定聚合功能。"group_by_category"是聚合的名称。"terms"聚合指定按照"category"字段进行分组。Elasticsearch将返回一个JSON格式的响应,其中包含了所有与搜索条件匹配的文档。每个文档将被分组,并计算每组的统计信息。

模糊搜索

在Elasticsearch中,可以使用模糊搜索功能来搜索与指定关键字相似的文档。模糊搜索可以使用"match"查询子句和"~"符号来实现。以下是在名为my_index的索引中搜索包含与"apple"相似的关键字的文档的示例:

代码语言:javascript复制
POST /my_index/_search
{
  "query": {
    "match": {
      "content": {
        "query": "apple",
        "fuzziness": "2"
      }
    }
  }
}

在上面的示例中,"fuzziness"参数指定了搜索关键字与文档匹配的最大编辑距离。这个参数的值为"2"表示最大编辑距离为2。Elasticsearch将返回一个JSON格式的响应,其中包含了所有与搜索条件匹配的文档。

0 人点赞