弹性搜索查询值,即字典

2024-10-06 12:42:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含事件日志数据的弹性搜索索引(7111)。其中一个字段(\u source)包含数据字典。有没有办法使用python来构造一个弹性的搜索查询来搜索字典中的键和值?在

例如,假设我要执行一个查询,搜索“ProcessID”=“2060”和“EventID”=“2002”。我该如何表述这个问题?在

注意,我目前使用的是pye,我所能做的最好的就是返回索引中的所有数据:

from pyes import *
conn = ES('dbup:9200')
conn.default_indices=["7111"]
q = TermQuery("_type", "tzworks_evtwalk")
results = conn.search(query = q)
for r in results:
    print results

json数据示例:

^{pr2}$

Tags: 数据fromimportsource字典es事件conn
1条回答
网友
1楼 · 发布于 2024-10-06 12:42:08

可以在python中使用过滤查询:

t1 = TermFilter(‘ProcessID’, ‘2060’) 
t2 = TermFilter(‘EventID’, ‘2002’) 
f = ANDFilter([t1, t2]) 
q = FilteredQuery(MatchAllQuery(), f) 
results = conn.search(q)

相关问题 更多 >