使用分面GeoPoint搜索的弹性搜索

时间:2012-01-17 18:46:44

标签: ruby-on-rails ruby elasticsearch

弹性搜索搜索分层位置的查询结构是什么?

我有一个包含相关位置的产品数据库。我想按名称和位置搜索产品。我觉得好像正确的位置会在地点上进行分面搜索。

这个查询结构是什么?谢谢!

(如果您可以使用Tire gem for Rails显示示例,我将在您之后命名我的第一个孩子)

1 个答案:

答案 0 :(得分:2)

这个怎么样:

{
"query" : {
    "field" : { "text" : "restaurant" }
},
"facets" : {
    "geo1" : {
        "geo_distance" : {
            "pin.location" : {
                "lat" : 40,
                "lon" : -70
            },
            "ranges" : [
                { "to" : 10 },
                { "from" : 10, "to" : 20 },
                { "from" : 20, "to" : 100 },
                { "from" : 100 }
            ]
        }
    }
}
}

更多信息:http://www.elasticsearch.org/blog/2010/08/16/geo_location_and_search.html