基本搜索
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"的文档。