Elasticsearch 嵌套字段在 DSL 中不存在查询 python
Elasticsearch nested field not exist query in DSL python
我在文档中有嵌套数据映射,我想查询嵌套字段是否不存在。
此弹性查询正在运行,但此查询的弹性 DSL 表示形式是什么?
获取products/_search
{
"query": {
"bool": {
"must_not": [
{
"nested": {
"path": "attributes",
"query": {
"exists": {
"field": "attributes.value"
}
}
}
}
]
}
}
}
我试过这个,但没用
ProductDocument.search().query(
"nested",
path="attributes",
query=(~Q('exists', field='attributes.value'))
)
这个 DSL 查询表示为,我认为它是错误的
{
"query": {
"nested": {
"path": "attributes",
"query": {
"bool": {
"must_not": [{
"exists": {
"field": "attributes.value"
}
}]
}
}
}
}
}
N.B: 我用的是 elastic 6.7, elasticsearch-dsl 6.4.2
终于找到查询了
ProductDocument.search().query(~Q(
"nested",
path="attributes",
query=Q("exists", field='attributes.value'))
))
可能对某人有帮助
我在文档中有嵌套数据映射,我想查询嵌套字段是否不存在。
此弹性查询正在运行,但此查询的弹性 DSL 表示形式是什么?
获取products/_search
{
"query": {
"bool": {
"must_not": [
{
"nested": {
"path": "attributes",
"query": {
"exists": {
"field": "attributes.value"
}
}
}
}
]
}
}
}
我试过这个,但没用
ProductDocument.search().query(
"nested",
path="attributes",
query=(~Q('exists', field='attributes.value'))
)
这个 DSL 查询表示为,我认为它是错误的
{
"query": {
"nested": {
"path": "attributes",
"query": {
"bool": {
"must_not": [{
"exists": {
"field": "attributes.value"
}
}]
}
}
}
}
}
N.B: 我用的是 elastic 6.7, elasticsearch-dsl 6.4.2
终于找到查询了
ProductDocument.search().query(~Q(
"nested",
path="attributes",
query=Q("exists", field='attributes.value'))
))
可能对某人有帮助