簡體   English   中英

在python中過濾以進行彈性搜索

[英]filtering in python for elastic search

我正在嘗試過濾掉彈性搜索查詢以創建熊貓數據框。 我在應用過濾器的數據框中有兩列“類型”和“ api”。 當我將一列用作條件時,它工作正常..:-

result_dict = es.search(index="logstash-2018.08.11-alias", 
              body={"from": 0, "size": 10000,"query": 
              {"term" : {"type":"vx_apache_json"}}})

但是當我應用如下多個條件時:-

result_dict = es.search(index="logstash-2018.08.11-alias", body={"from": 0, "size": 1000,"queries": [
        { "term" : {"type" :"vx_apache_json"}},
        { "term" : {"api" :"viv_signin.php"}}
      ]})

我收到以下錯誤:-

RequestError:RequestError(400,“ parsing_exception”,“ [查詢]中START_ARRAY的未知鍵。”)

有人可以在這里幫我嗎,例如我可以在彈性搜索中添加多重過濾。

試試下面的代碼:

result_dict = es.search(index="logstash-2018.08.11-alias", body={"from": 0, "size": 1000,"query": {
        "constant_score" : {
            "filter" : {
                 "bool" : {
                    "must" : [
                        { "term" : { "type" :"vx_apache_json" } }, 
                        {"term"  :{ "api" :"viv_signin.php" }}
                    ]
                }
            }
        }
    }
  }
)

並且以相同的方式繼續添加過濾器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM