[英]update a elasticsearch query with python
我想用 python 更新一個 elasticsearch 查詢。
從第一個查詢到 Db 我得到這個查詢示例作為一個字符串,我通過以下方式在 json 文件中轉換:
query = json.loads(string_query)
查詢示例:
{'bool':
{'must': [
{'range': {'field': {'gte': lowerbound, 'lt': upperbound}}}
],
'must_not': [{'match_phrase': {'field': {'query': 'word'}}}]}}
我想做的是將字段添加到查詢中:
{'bool':
{'must': [
{'range': {'field': {'gte': lowerbound, 'lt': upperbound}}},
{'range': {'field-2': {'gte': lowerbound, 'lt': upperbound}}}
{'bool': {'should': {'bool': {'must':
[
{'range': {'field': {'gte': lowerbound, 'lt': upperbound}}},
{'range': {'field-2': {'gte': lowerbound, 'lt': upperbound}}}
]}}}},
],
'must_not': [{'match_phrase': {'field': {'query': 'word'}}}]}}
是否可以利用某些庫,或者應該通過從第一個庫構建新的 json 來“手工”完成?
順便說一句,這實際上是一個python問題。 json.loads
輸出是一個字典。 您可以修改使用 Python 字典的方式。
例如
query["bool"]["must"] += [ < your query> ]
您可以將此查詢對象傳遞給 requests.post() 或您選擇的庫以向 ES 提交請求。 順便說一句-您可能想查看 python elasticsearch-py 的彈性客戶端
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.