Elasticsearch地理距离排序

时间:2016-11-24 11:40:22

标签: elasticsearch

请参阅Sorting的文档,地理距离排序部分,以下是问题:

给出的例子如下:

GET /_search
{
    "sort" : [
        {
            "_geo_distance" : {
                "pin.location" : [-70, 40],
                "order" : "asc",
                "unit" : "km",
                "mode" : "min",
                "distance_type" : "sloppy_arc"
            }
        }
    ],
    "query" : {
        "term" : { "user" : "kimchy" }
    }
}

pin.location是否包含地理位置的地图中的字段?或者它是搜索API理解为包含基本位置的关键字?如果它是一个据称包含该位置的字段,那么排序字词是否应该将nested_path设置为pin?如果它是一个参数,elasticsearch从哪里获取项目的位置?

此外,documentaion提到sort_mode作为参数,但代码使用mode,我想这是一个错字?

1 个答案:

答案 0 :(得分:1)

private void animationtick_Tick(object sender, EventArgs e) { using (Graphics g = Graphics.FromImage(btm)) { g.DrawImage(torch_anim[torch_anim_c], new Point(20*64, 20*64)); } pb.Image = btm; pb.Invalidate(); btm = org_btm; if (torch_anim_c < 6) { torch_anim_c++; } else { torch_anim_c = 0; } pb.Invalidate(); } 是包含要排序的位置的字段的名称。

如果pin.location是一个简单的对象,则不需要{p> nested_path,而不是pin

nestedmode都是正确的名称,但不推荐使用sort_mode,因此应首选sort_mode