Elasticsearch基本操作-搜索(一)

2023-05-08 10:36:13 浏览数 (1)

基本搜索

Elasticsearch中的基本搜索功能可以使用HTTP GET请求实现。以下是在名为my_index的索引中搜索包含"apple"的文档的示例:

代码语言:javascript复制
GET /my_index/_search?q=apple

在上面的示例中,使用了查询字符串参数"q"来指定搜索关键字。Elasticsearch将返回一个JSON格式的响应,包含了与搜索关键字匹配的所有文档。响应中还包含了每个文档的相关性得分、元数据信息以及其他一些有用的信息。

复杂搜索

在Elasticsearch中,可以使用查询语句来进行更复杂的搜索。查询语句是一个JSON对象,可以包含多个子查询,每个子查询都可以指定不同的搜索条件。以下是使用查询语句在名为my_index的索引中搜索包含"apple"的文档的示例:

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

在上面的示例中,使用了"match"查询子句来指定搜索条件。"content"是要搜索的字段,"apple"是要搜索的关键字。Elasticsearch将返回一个JSON格式的响应,包含了所有与搜索条件匹配的文档。

过滤搜索结果

在Elasticsearch中,可以使用过滤器来限制搜索结果。过滤器可以指定一些条件,只有满足这些条件的文档才会被返回。以下是在名为my_index的索引中过滤出所有内容包含"apple"的文档的示例:

代码语言:javascript复制
POST /my_index/_search
{
  "query": {
    "match": {
      "content": "apple"
    }
  },
  "filter": {
    "term": {
      "category": "fruit"
    }
  }
}

在上面的示例中,使用了"term"过滤器来指定只返回"category"字段值为"fruit"的文档。

0 人点赞