gpt4 book ai didi

elasticsearch - 使用 ElasticSearch 的地理距离过滤器始终返回 0 个结果

转载 作者:行者123 更新时间:2023-11-29 02:54:28 24 4
gpt4 key购买 nike

我正在使用 Geo Distance FilterElasticSearch无论我搜索多远的距离,elasticsearch 0.90.11 都会返回零结果。

这是我所做的:首先,使用地理映射删除/创建一个新索引:

curl -XDELETE 'http://localhost:9200/photos'

curl -XPOST 'http://localhost:9200/photos' -d '
{
"mappings": {
"pin" : {
"properties" : {
"location" : {
"type" : "geo_point"
}
}
}
}
}
'

然后,添加一个文档:

curl -XPOST 'http://localhost:9200/photos/photo?pretty=1' -d '
{
"pin" : {
"location" : {
"lat" : 46.8,
"lon" : -71.2
}
},
"file" : "IMG_2115.JPG"
}
'

然后搜索:

curl -XGET 'http://localhost:9200/photos/_search?pretty=1&size=20' -d '
{
"query" : {
"match_all" : {}
},
"filter" : {
"geo_distance" : {
"distance" : "10km",
"pin.location" : {
"lat" : "46.8",
"lon" : "-71.2"
}
}
}
}
'

但搜索结果为零:

{
"took" : 2,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"failed" : 0
},
"hits" : {
"total" : 0,
"max_score" : null,
"hits" : [ ]
}
}

有谁知道为什么在半径范围内找不到文件?作为一个有趣的旁注,上面引用的文档中描述的同时具有“query”和“filter”作为子字段的“filtered”语法似乎根本不再起作用,似乎现在需要“query”和“filter”在 json 查询的顶层。

感谢任何帮助...

最佳答案

原来是官方手册页不准确,需要映射

[Sun Feb  9 11:01:55 2014] # Request to: http://localhost:9200
curl -XPUT 'http://localhost:9200/photos?pretty=1' -d '
{
"mappings" : {
"photo" : {
"properties" : {
"Location" : {
"type" : "geo_point"
}
}
}
}
}
'

然后需要像这样添加带有 GPS 数据的记录:

[Sun Feb  9 11:01:56 2014] # Request to: http://localhost:9200
curl -XPOST 'http://localhost:9200/photos/photo?pretty=1' -d '
{
"file" : "/home/mschilli/iphone/IMG_2115.JPG",
"Location" : [
46.8,
-71.2
]
}
'

然后是查询

[Sun Feb  9 11:05:00 2014] # Request to: http://localhost:9200
curl -XGET 'http://localhost:9200/photos/_search?pretty=1&size=100' -d '
{
"filter" : {
"geo_distance" : {
"distance" : "1km",
"Location" : [
36.986,
-121.443333333333
]
}
},
"query" : {
"match_all" : {}
}
}
'

将显示所需的结果,正确过滤掉所选 GPS 距离之外的结果。

关于elasticsearch - 使用 ElasticSearch 的地理距离过滤器始终返回 0 个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21654688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com