用ES搜索引擎实现一个搜索框内查询多个不同条件
时间: 2024-05-12 09:12:58 浏览: 148
可以使用Elasticsearch的bool查询来实现搜索框内查询多个不同条件。bool查询可以将多个条件组合在一起,包括must(必须匹配)、should(可选匹配)、must_not(必须不匹配)等。
以下是一个示例查询,假设我们有一个名为“products”的索引,其包含产品名称、描述和价格字段:
```
GET /products/_search
{
"query": {
"bool": {
"must": [
{ "match": { "name": "iphone" } },
{ "match": { "description": "high-quality" } }
],
"filter": [
{ "range": { "price": { "gte": 5000 } } },
{ "term": { "category": "electronics" } }
]
}
}
}
```
以上查询将返回名称包含“iphone”和描述包含“high-quality”,价格大于或等于5000,且类别为“electronics”的产品。必须匹配的条件放在must数组中,而过滤条件放在filter数组中。你可以根据自己的需求添加更多的条件。
阅读全文