【发布时间】:2020-07-18 09:00:37
【问题描述】:
我正在尝试过滤掉不为空的值:
用sql举例
SELECT ALL FROM Mytable WHERE field_1 NOT NULL and field_2 ="alpha"
我应该如何在 elasticsearch-dsl(python) 中编写这个查询?
我尝试过这样的事情:
s = Mytable.search().query(
Q('match', field_2 ='alpha')
).filter(~Q('missing', field='field_1'))
但它返回 field_1 为空值的元素
我也试过了,还是不行
field_name_1 = 'field_2'
value_1 = "alpha"
field_name_2 = 'field_1'
value_2 = " "
filter = {
"query": {
"bool": {
"must": [
{
"match": {
field_name_1 : value_1
}
},
{
"bool": {
"should": [
{
"bool": {
"must_not": [
{
field_name_2: {
"textContent": "*"
}
}
]
} }
]
}
}
]
}
}
}
【问题讨论】:
标签: python elasticsearch elasticsearch-dsl