У меня есть проблема с отображением «Geo Point» в elasticsearch с использованием NEST C# Client.ElasticSearch 2.x Географическое сопоставление GeoPoint с NEST C#
Вот мое определение класса:
[GeoPoint(Name = "coordinates", LatLon = true)]
public Coordinates Coordinates { get; set; }
public class Coordinates
{
[Number(NumberType.Double, Name = "lat")]
public double Lat { get; set; }
[Number(NumberType.Double, Name = "lng")]
public double Lng { get; set; }
}
Мои картографирования свойства по созданию индекса:
.Mappings(map => map
.Map<Crime>(m => m.AutoMap()
.TimestampField(ts => ts.Enabled(true).Path("timeStamp"))
.Properties(pro => pro
.GeoPoint(geo => geo
.Name(n => n.Coordinates)
.LatLon(true)
))))
И мое отображение не смотрит прямо сразу индексируются некоторые документы ....
...
"coordinates": {
"properties": {
"lat": {
"type": "double"
},
"lng": {
"type": "double"
}
}
},
...
И когда я пытаюсь его запросить (используя SENSE), я получаю следующую ошибку:
"reason": {
"type": "query_parsing_exception",
"reason": "failed to parse [geo_bbox] query. could not find [geo_point] field [coordinates]",
"index": "someindexname",
"line": 16,
"col": 9
}
Так что, по моему мнению, проблема связана с моим отображением, но все сильно изменилось в обновлении 2.x (по сравнению с 1.x), что я не знаю, как правильно отображать гео точку. Есть идеи ?
Вы тестируете это против ES 2.x? – Rob
@ Rob yeah ... Я упомянул об этом в своем втором последнем предложении, но Youre right - я должен сделать его более явным. Подождите - он говорит 2.x в заголовке :) –
Ой, простите, извините за это:) – Rob