elasticsearch - 如何将Kibana查询转换为 `elasticsearch_dsl`查询

标签 elasticsearch kibana elasticsearch-dsl elasticsearch-dsl-py

我有一个查询
GET index/_search

{
  "query": {
    "bool": {
      "should": [
        {
          "match": {
            "key1": "value"
          }
        },
        {
          "wildcard": {
            "key2": "*match*"
          }
        }
      ]
    }
  }
}

我想使用elasticsearch_dsl包进行相同的调用
我尝试过
s = Search(index=index).query({
    "bool": {
      "should": [
        {
          "match": {
            "key1": "value"
          }
        },
        {
          "wildcard": {
            "key2": "*match*"
          }
        }
      ]
    }
  })
s.using(self.client).scan()

但是结果不一样,我在这里遗漏了什么吗?

有没有办法用elasticsearch_dsl表示我的查询
尝试了这个,没有结果
s = Search(index=index).query('wildcard', key2='*match*').query('match', key1=value)
s.using(self.client).scan()

最佳答案

在我看来,您忘记了查询中的星星。

s = Search(index=index).query('wildcard', key='*match*').query('match', key=value)

关于elasticsearch - 如何将Kibana查询转换为 `elasticsearch_dsl`查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59889059/

相关文章:

elasticsearch - Elasticsearch脚本查询数组字段大小比较

python - 在 Django 中集成 elasticsearch 连接池

elasticsearch - 通过子聚合结果值对术语聚合桶进行排序

elasticsearch - 无法在 Kibana 中检索包含特定符号的数据

elasticsearch - 基于多个字段的Kibana可视化

python - Python上的Elasticsearch DSL无法生成分数

elasticsearch - 在Elastic Search中将嵌套的单位数据存储在Kibana中进行分析是否更好?

elasticsearch - Kibana用户禁止错误{“statusCode”:403 ,“error” :“Forbidden” ,“message” :“Forbidden”}

python - 在 python 中将 Elasticsearch 查询转换为 Elasticsearch-dsl

elasticsearch - 检查 Elasticsearch 中的列表字段