在elasticsearch中搜索相同bool过滤器中的术语和范围

时间:2015-09-15 14:49:51

标签: elasticsearch

我的查询如下:

query: {
    filtered: {
        filter: {
            bool: {
                must: [
                    range: {price: {gte: 222, lte: 1000}},
                    term: {city: Adana}
                ]
            }
        }
    }
}

返回空结果。但是使用uri搜索(_search?q=city:Adana)可以得到正确的结果。

提供多个范围查询,例如纬度和价格,但添加术语失败。

这里有什么问题?

1 个答案:

答案 0 :(得分:8)

试试这个:

query: {
    filtered: {
        filter: {
            bool: {
                must: [
                    { range: {price: {gte: 222, lte: 1000}} },
                    { term: {city: Adana} }
                ]
            }
        }
    }
}

以下是我用来测试它的一些代码:

http://sense.qbox.io/gist/7a4811d00e562f4d41e252ae5084ec78fa23d80f