将具有多种条件的Elasticsearch DSL查询转换为URI搜索

时间:2018-08-23 16:32:33

标签: elasticsearch

当我在Kibana Dev控制台上运行以下Elasticsearch DSL查询时,它会正确返回结果,并且我试图通过基于URI的查询运行相同的结果,因为HTTP URL无法正常工作。我已经尝试过搜索文档,而且很好,但是没有获得将该查询框架构造为基于HTTP的GET网址的确切方法。

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

请提示。

1 个答案:

答案 0 :(得分:1)

上述URI Search格式的查询可以写为:

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

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