使用Nest / ElasticSearch.Net的普通双纬度/经度属性

时间:2015-03-03 23:37:19

标签: elasticsearch nest

在使用Nest / ElasticSearch.Net索引包含普通纬度/经度(两个 double 属性)的域模型时,我有点困惑:

有没有办法将这两个POCO / 属性映射到&告诉ElasticSearch.Net这两个实际上是什么,地理定位点并将它们相应地编入索引,而不必在域模型汇编中引入ElasticSearch.net及其GeoLocation类型的依赖关系?

我宁愿不做后者,也不想创建单独的'搜索'特定模型。

1 个答案:

答案 0 :(得分:2)

geo_point类型包含纬度和经度坐标,并支持一些不同的input formats:object(带有lat lon属性),数组或逗号分隔的字符串。

您无法将两个单独的双字段映射为单个geo_point字段。您必须在POCO中添加另一个字段,并使用其中一种支持的格式进行组合。

然而,对象格式是理想的,因为哪个值是lat而哪个是lon没有差异。如果您希望保持POCO清除NEST依赖项,只要它包含LatLon属性,您就可以随时滚动自己的地理位置类型,而不是使用GeoLocation中的烘焙类型。