如何运用强大的 ElasticSearch 核心 DSL

DSL 介绍

Query DSL(Domain Specific Language)又叫做查询表达式,是一种丰富的、灵活的、强大的全文本与结构化查询语言,基于 JSON 格式对数据进行检索。前面我们介绍了简单的 ES 查询,但是对于更负责的需求使用 URL 查询显得有些困难,ES 提供了 DSL 查询,使用 DSL 表达式基本上满足各种负责的业务需求,DSL 可以与数据库提供的 SQL 进行类别,有了 SQL 各种查询都可以在数据库中实现,而不用把查询计算逻辑放到业务代码中去。

ES 的查询有两种查询与过滤,ES 的查询涉及到一个重要的概念就是相关性分数,这个分数在 ES 查询结果中 _score 字段中体现出来。像你在 Google 或者百度中查询资料时候,往往是以一种推荐的方式返回查询结果给你,并且有顺序的,排在前面的往往是与你查询问题最接近的内容,这里面就涉及到一个相关性分数,查询的每个结果都有一个相关性分数。

另外还有一种查询方式叫做过滤,过滤的查询结果中是不带有相关性分数的,因为有的时候我们只关注有或者没有,显而易见,不带有相关性分数的少了一层计算相关性分数的过程,那么自然计算速度会比较快。

第一个 DSL 查询,查询索引为 class 的所有数据。

GET class/_search
{
  "query": {
    "match_all": {}
  }
}

image-20200208155610134

字段含义

查询结果如下,我们来稍微看一个

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python的elasticsearch-dsl是基于elasticsearch-py封装实现的,提供了更简便的操作elasticsearch的方法。你可以通过安装elasticsearch-dsl库来使用它。安装命令是"pip install elasticsearch-dsl"。如果你在Django项目中使用elasticsearch-dsl,你还可以考虑安装django-elasticsearch-dsl-drf库,它可以将Elasticsearch DSL与Django REST框架集成,提供更方便的使用体验。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Elasticsearch python操作实践(elasticsearchElasticsearch DSL)](https://blog.csdn.net/qq_43008709/article/details/109401610)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [python中elasticsearch_dsl模块用法详解](https://blog.csdn.net/m0_72557783/article/details/126957624)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [django-elasticsearch-dsl-drf:将Elasticsearch DSL与Django REST框架集成](https://download.csdn.net/download/weixin_42131861/15058672)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值