【问题标题】:Convert elasticsearch DSL query with multiple conditions to URI Search将具有多个条件的 elasticsearch DSL 查询转换为 URI 搜索
【发布时间】:2019-01-30 02:34:53
【问题描述】:

当我在 Kibana Dev 控制台上运行以下 Elasticsearch DSL 查询时,它会正确返回结果,我试图通过基于 URI 的查询运行相同的查询,因为 HTTP URL 不起作用。我已经尝试在 doc 上进行搜索,但没有得到将这个查询构建为基于 HTTP 的 GET url 的确切方法。

GET _search
{
  "size": 100,
  "_source": [
    "fieldname1",
    "fieldname2"
  ],
  "query": {
    "bool": {
      "must": {
        "exists": {
          "field": "fieldname2"
        }
      },
      "must_not": {
        "match": {
          "fieldname2": "*IGNORE*"
        }
      }
    }
  }
}

请提供任何提示。

【问题讨论】:

  • 您想将此查询转换为基于 URI 的搜索吗?
  • @TechnocratSid 是的。我想将此 GET 请求转换为基于 URI 的搜索。喜欢server.com/_search.......
  • 检查我的答案

标签: elasticsearch


【解决方案1】:

上面URI Search格式的查询可以写成:

GET /_search?q=_exists_:fieldname2 AND !fieldname2:"*IGNORE*"&_source=fieldname1,fieldname2&size=100

URI 中的参数q 映射到query_string 查询。

【讨论】:

  • 成功了。非常感谢!我搜索了很多,但不知何故我没有得到这个文档链接。
猜你喜欢
  • 1970-01-01
  • 2020-01-10
  • 2019-11-22
  • 1970-01-01
  • 2018-10-23
  • 2015-12-06
  • 2021-08-27
  • 1970-01-01
  • 2018-06-29
相关资源
最近更新 更多