我正在尝试转移到elasticsearch-dsl
并移植我的旧dict/json
查询elasticsearch-dsl
语法。
from_dict
方法似乎可以完成这项工作,但我希望看到
新语法。
我没有看到from_dict
的任何属性会打印它。我想从dict查询中获得(见)下面的输出
Search(using=client, index="my-index") \
.filter("term", category="search") \
.query("match", title="python") \
.query(~Q("match", description="beta"))"
我错过了一些明显的东西吗?
答案 0 :(得分:0)
如果您只对结果repr
使用search.query._proxied
,那么您将获得新的语法,而不是像在此处一样迭代构建,而是如果您构建它的话会看起来如何直接,像:
Bool(filter=[Term(category='search')], must=[Match(title='python')], must_not=[Match(description='beta')])
我会做一个说明,以便更容易,因为._proxied
绝对不直观,没有记录:)
希望这有帮助!