gpt4 book ai didi

elasticsearch - 使用文档本地的 “distance field”进行Elasticsearch Geodistance计算

转载 作者:行者123 更新时间:2023-12-02 23:28:57 26 4
gpt4 key购买 nike

是否可以使用文档中存储的“半径”进行查询?

例如,我提供了一个地理点,并且我想返回所有文档,其中半径加上它自己的地理点包含所提供的地理点。

最佳答案

您可以将位置和半径(以下称为area)存储为 geo_shape circle type,然后使用 geo_shape query搜索其area包含给定点的文档。

# 1. create the index with the geo_shape field
PUT index
{
"mappings": {
"type": {
"properties": {
"area": { "type": "geo_shape" }
}
}
}
}

# 2. index a document with a shape
PUT index/type/1
{
"area" : {
"type" : "circle",
"coordinates" : [-45.0, 45.0],
"radius" : "100m"
}
}

# 3. use a geo_shape query

POST index/type/_search
{
"query":{
"bool": {
"filter": {
"geo_shape": {
"area": {
"shape": {
"type": "point",
"coordinates" : [-45.0001, 45.0001]
},
"relation": "contains"
}
}
}
}
}
}

关于elasticsearch - 使用文档本地的 “distance field”进行Elasticsearch Geodistance计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38775025/

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