在使用Nest / ElasticSearch.Net索引包含普通纬度/经度(两个 double 属性)的域模型时,我有点困惑:
有没有办法将这两个POCO / 双属性映射到&告诉ElasticSearch.Net这两个实际上是什么,地理定位点并将它们相应地编入索引,而不必在域模型汇编中引入ElasticSearch.net及其GeoLocation类型的依赖关系?
我宁愿不做后者,也不想创建单独的'搜索'特定模型。
答案 0 :(得分:2)
geo_point
类型包含纬度和经度坐标,并支持一些不同的input formats:object(带有lat lon属性),数组或逗号分隔的字符串。
您无法将两个单独的双字段映射为单个geo_point
字段。您必须在POCO中添加另一个字段,并使用其中一种支持的格式进行组合。
然而,对象格式是理想的,因为哪个值是lat而哪个是lon没有差异。如果您希望保持POCO清除NEST依赖项,只要它包含Lat
和Lon
属性,您就可以随时滚动自己的地理位置类型,而不是使用GeoLocation
中的烘焙类型。