我正在使用以下JSON在搜索查询中应用多个条件。
GET my_index/my_type/_search
{
"query": {
"filtered": {
"query": {
"query_string": {
"default_field : "andi_new"
"query": "network:onenetwork AND publisher:someplublisher"
}
},
"filter": {
"range": {
"time": {
"gte": "2015-03-12 00:00:00",
"lte": "2015-03-12 23:59:59"
}
}
}
}
}
}
我根据PHP Web应用程序中的下拉列表选择过滤器值。因此,所有过滤器都不会应用一次。
如果我在问题字符串查询中只有条件,一切正常。此外,如果我包括OR,那么它也在工作。但是当我添加'AND'并提供如上所示的另一个列条件时,它无效。是否有其他过滤器用于应用不同的条件?
答案 0 :(得分:0)
您错过了default_field
后的结束双重引号和该行末尾的逗号。请尝试以下查询:
{
"query": {
"filtered": {
"query": {
"query_string": {
"default_field" : "andi_new",
"query": "network:onenetwork AND publisher:someplublisher"
}
},
"filter": {
"range": {
"time": {
"gte": "2015-03-12 00:00:00",
"lte": "2015-03-12 23:59:59"
}
}
}
}
}
}