【问题标题】:Simple explanation of DSL in elastic search弹性搜索中DSL的简单解释
【发布时间】:2020-05-06 02:10:23
【问题描述】:

我提到了this,this。我其实很困惑。

我不确定 DSL 是否适用于 SQL,即我们在称为 DSL 的弹性搜索中查询数据的方式?

或

在弹性搜索中有很多方法可以访问数据。其中之一是DSL。我不认为这是真的。

或

有一些 python 包装器可以更简化地访问弹性搜索中的数据 - 这真的很混乱

谁能告诉我访问数据的方式以及什么是DSL,它有什么关系?

我知道这是一个非常基本的问题。我在任何地方都找不到适当的解释,或者当我参考更多时,我感到困惑。

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    TL;DR python DSL 是搜索 API 的低级 py 包装器的高级包装器。


    ES 是一个 JSON-in、JSON-out 接口,但有多种发送请求的方式。这是我自己的列表,按易用性和灵活性排序:

    1. POST Search API 带负载
    GET abc/_search?version=true
    {
      "query": {
        "match_all": {}
      }
    }
    
    1. Python Low 级别客户端
    es.get(index="my-index", id=42)['_source']
    
    1. URI Search
    http://localhost:9200/index/_search
    
    1. Python High 级别客户端
    s = Search().using(client).query("match", title="python")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-26
      • 2014-10-28
      • 2017-05-11
      • 2023-04-10
      • 2012-12-19
      • 1970-01-01
      相关资源
      最近更新 更多