Как вернуть гео -расстояние, когда не сортируется с _geo_distance в C# Nest CodeC#

Место общения программистов C#
Anonymous
Как вернуть гео -расстояние, когда не сортируется с _geo_distance в C# Nest Code

Сообщение Anonymous »

У меня есть данные json с широтой и долготы в отдельных полях вместо того, чтобы иметь местоположение типа Geopoint .
Я реализовал фильтрацию в Elasticsearch на основе GEO_Distance, отображая данные этого местоположения с геопочечным типом, который содержит Latithest & Longitude. Вот пример документа: < /p>

Код: Выделить всё

{
"geo_distance": {
"distance": "10mi",
"distance_type": "arc",
"location": {
"lat": 40.4511171,
"lon": -81.4038577
}
}
}
< /code>
Я попытался использовать поля сценариев, но это не сработало!descriptor.ScriptFields(sf => sf
.ScriptField("calculated_distance", script => script
.Source("doc['location'].arcDistance(params.lat, params.lon)")
.Lang("painless")
.Params(p => p
.Add("lat", filter.resourceGeoY.Value)
.Add("lon", filter.resourceGeoX.Value)
)
)
);
< /code>
"script_fields":{
"calculated_distance":{
"script":{
"source":"doc['location'].arcDistance(params.lat, params.lon)",
"params":{
"lat":40.4511171,
"lon":-81.4038577
}
}
}
}
Как я могу сделать это без применения сортировки на GEO_Distance в C# код Nest?


Подробнее здесь: https://stackoverflow.com/questions/797 ... c-sharp-ne

Вернуться в «C#»