我如何构建Dynamicx查询elasticsearch_dsl python

时间:2016-01-11 00:06:53

标签: python django elasticsearch elasticsearch-dsl

我对elasticsearch_dsl python库有以下问题。

我正在开发具有搜索功能的Web应用程序(DJANGO框架)。我想建立一个动态查询,必须模式。

所以这里是以下代码

$(".child").click(function() {
    $(this).closest(".parent").fadeOut();
});

Python返回exceptions.TypeError

我已经有了elasticsearch_dsl的文档,但我没有找到类似我的问题。你知道我如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

你很亲密。您需要指定bool然后查询Search对象,如此

i = 0
must = []
while (i < len(results['words'])):
    must.append(Q('match', tags=results['words'][i]))
    i += 1

print must
client = Elasticsearch()
q = Q('bool', must=must)   <--- This is important
es = Search(using=client, index="_______").query(q)
response = es.execute()
for hit in response:
    print hit
return response.hits.total

您还可以使用es.to_dict()查看实际查询,以帮助您理解