使用ES的原生查询对象方法
时间: 2024-01-01 18:03:39 浏览: 120
在 Elasticsearch 中,原生的查询对象被称为 Query DSL,它是一种基于 JSON 格式的查询语言,可以通过发送 HTTP 请求来执行查询。以下是一个示例:
```
POST /my-index/_search
{
"query": {
"bool": {
"must": [
{ "match": { "title": "elasticsearch" } },
{ "match": { "content": "data" } }
],
"filter": [
{ "term": { "status": "published" } },
{ "range": { "publish_date": { "gte": "2015-01-01" } } }
]
}
}
}
```
这个查询使用布尔查询(bool query)来组合两个匹配查询(match query)和两个过滤器(term filter 和 range filter)。它的意思是:查找 my-index 索引中,标题中包含 "elasticsearch",内容中包含 "data",并且状态为 "published",发布时间在 2015 年 1 月 1 日之后的所有文档。
除了布尔查询和匹配查询之外,Elasticsearch 还支持诸如范围查询、前缀查询、正则表达式查询等多种查询类型。你可以在 Elasticsearch 的官方文档中找到更多关于 Query DSL 的详细信息。
阅读全文