目录
- 一、基本结构
- 二、查询部分
- 三、过滤部分
- 四、排序部分
- 五、分页部分
- 六、聚合部分
- 七、其他功能
- 八、操作示例
Elasticsearch 的 DSL(Domain Specific Language,领域特定语言)查询是一种使用 JSON 格式表达的查询语言,用于与 Elasticsearch 集群进行复杂的搜索交互。DSL 查询提供了丰富的查询类型、过滤条件、排序选项、分页控制、聚合功能等,使得用户能够精确地描述想要从索引中检索的数据,并获得结构化的搜索结果。
一、基本结构
一个典型的 Elasticsearch DSL 查询请求通常包含以下几个部分:
{
"query": {
... // 查询部分,定义如何匹配和筛选文档
},
"sort": {
... // 排序部分,定义结果的排序规则
},
"from": <offset>, // 分页偏移量,从第几个结果开始返回
"size": <limit>, // 分页限制,返回多少个结果
"aggs": {
... // 聚合部分,定义对结果进行的聚合分析
},
"highlight": {
... // 高亮部分,定义查询结果中哪些字段应进行高亮显示
},