加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 使用elasticsearch-dsl-py在另一个字段中包含的字段上

发布时间:2020-12-20 12:31:38 所属栏目:Python 来源:网络整理
导读:我正在使用 elasticsearch-dsl-py,并希望过滤包含在另一个中的术语,如下所示: "slug": { "foo": "foo-slug","bar": "bar-slug "} 我这样做是: search.query(‘filtered’,filter={"term": {"slug.foo": "foo-slug"}}) 我更喜欢类似的东西 search.filter(te
我正在使用 elasticsearch-dsl-py,并希望过滤包含在另一个中的术语,如下所示:

"slug": {
    "foo": "foo-slug","bar": "bar-slug "
}

我这样做是:

search.query(‘filtered’,filter={"term": {"slug.foo": "foo-slug"}})

我更喜欢类似的东西

search.filter(term,slug.foo="foo-slug")

但我不能作为关键字不能包括点.

解决方法

如果它对其他任何人有帮助,那么对于不使用嵌套对象的子属性创建这种查询也会遇到同样的问题.我发现解决方案是使用查询方法而不是过滤方法:

search.query('match',**{"slug.foo": "foo-slug"})

这在ElasticSearch 1.5.2中适用于我.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读