我正在尝试迁移到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"))"我是不是漏掉了什么明显的东西?
发布于 2017-10-31 14:55:16
如果只是在生成的search.query._proxied上使用repr,就会得到新的语法,只不过不是像这里那样迭代构造,而是直接构造时的样子,例如:Bool(filter=[Term(category='search')], must=[Match(title='python')], must_not=[Match(description='beta')])
我将做一个笔记,以使这一点更容易,因为._proxied肯定不直观,没有文档记录:)
希望这能有所帮助!
https://stackoverflow.com/questions/47013439
复制相似问题