Elasticsearch可以通过bool查询实现多条件查询和组合查询。bool查询可以包含多个子查询(must、should、must_not)以及过滤查询(filter),从而实现灵活的查询组合。
以下是一个示例查询,包含两个must条件和一个should条件:
{
"query": {
"bool": {
"must": [
{ "match": { "title": "关键词1" }},
{ "match": { "content": "关键词2" }}
],
"should": [
{ "match": { "content": "关键词3" }}
]
}
}
}
在上述查询中,must子查询表示必须同时满足“关键词1”和“关键词2”两个条件,should子查询表示可以满足“关键词3”条件。可以根据实际需求调整每个子查询的权重和逻辑关系。
除了bool查询,Elasticsearch还支持其他类型的查询,如match查询、term查询、range查询等等,可以根据具体需求选择合适的查询类型。