过滤结果在ElasticSearch中

时间:2013-02-19 06:48:38

标签: elasticsearch

我有一个ElasticSearch查询,它出现了格式错误,只是不确定它是做错了什么(毫无疑问,有些非常明显!)

查询如下所示:

{ "query":
{ "filtered":
    { "query":
        { "field":
            { "product":"prodA or prodB" 
            } 
        }, 
        "filter":
            { 
                "userid":"username" 
            } 
    } 
}, 
"size":10, "from":0 
}

如果我省略过滤器部分,查询工作正常,所以它必须与我使用过滤器选项的方式有关。

{ "query":
{ "filtered":
    { "query":
        { "field":
            { "product":"prodA or prodB" 
            } 
        }

    } 
}, 
"size":10, "from":0 
}

如何格式化此查询以使其正常工作?

1 个答案:

答案 0 :(得分:4)

您需要指定要使用的过滤器类型,就像选择过滤后的查询一样。 Term filter

{ 
    "query": { 
        "filtered": { 
            "query": { 
                "field":{ 
                    "product":"prodA or prodB" 
                } 
            }, 
            "filter": {
                "term" : { 
                    "userid":"username" 
                }                           
            } 
        } 
    }, 
    "size":10, 
    "from":0 
}