使用DSL和elasticsearch查询嵌套字段

2021-04-12 00:04:08 发布

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

当我试图查询存在的嵌套字段时,没有得到任何结果(它不会返回任何错误):

                result = es.search(
                          index="mydb", 
                          doc_type="collection", 
                          body={"query": 
                            { 
                                  "term" : {
                                      "foo.bar.field" : value
                                  }
                            }
                          }
                        )

注意:字段在bar内,bar在foo中:

^{pr2}$

如果我在顶部的字段中尝试相同的方法,它会正常工作:

                result = es.search(
                          index="mydb", 
                          doc_type="collection", 
                          body={"query": 
                            { 
                                  "term" : {
                                      "topfield" : value
                                  }
                            }
                          }
                        )
1条回答
网友
1楼 ·

我想问题应该如下。我认为字段bar=>;var中存在不匹配,如下面的文档所示。在

{ 'topfield' : 23, 'foo' : { 'var' : { 'field' : 69 }, 'otherfield' : 1}}

请尝试下面的代码

^{pr2}$

请你确认一下。在

相关问题