对 Nest / ElasticSearch.Net 使用普通的双纬度/经度属性
Using plain double Latitude / Longitude Properties for Nest / ElasticSearch.Net
在使用 Nest / ElasticSearch.Net 索引包含纯纬度/经度(double 属性)的域模型时,我有点困惑:
有没有办法映射这两个 POCO / double 属性并告诉 ElasticSearch.Net 这两个实际上是它们,地理位置点并为它们编制索引因此,无需在域模型程序集中引入 ElasticSearch.net 及其 GeoLocation 类型的依赖项?
我宁愿不做后者,也不想创建单独的 'search' 特定模型。
geo_point
类型由纬度和经度坐标组成,并支持一些不同的 input formats:对象(具有经纬度属性)、数组或以逗号分隔的字符串。
您不能将两个单独的双精度字段映射为一个 geo_point
字段。您必须向您的 POCO 添加另一个字段,并使用其中一种受支持的格式组合它们。
然而,对象格式是理想的,因为在哪个值是纬度和哪个值是经度上没有差异。如果你想让你的 POCO 清除 NEST 依赖项,你可以随时滚动你自己的地理类型,只要它包含 Lat
和 Lon
属性,而不是使用烘焙的 GeoLocation
类型。
在使用 Nest / ElasticSearch.Net 索引包含纯纬度/经度(double 属性)的域模型时,我有点困惑:
有没有办法映射这两个 POCO / double 属性并告诉 ElasticSearch.Net 这两个实际上是它们,地理位置点并为它们编制索引因此,无需在域模型程序集中引入 ElasticSearch.net 及其 GeoLocation 类型的依赖项?
我宁愿不做后者,也不想创建单独的 'search' 特定模型。
geo_point
类型由纬度和经度坐标组成,并支持一些不同的 input formats:对象(具有经纬度属性)、数组或以逗号分隔的字符串。
您不能将两个单独的双精度字段映射为一个 geo_point
字段。您必须向您的 POCO 添加另一个字段,并使用其中一种受支持的格式组合它们。
然而,对象格式是理想的,因为在哪个值是纬度和哪个值是经度上没有差异。如果你想让你的 POCO 清除 NEST 依赖项,你可以随时滚动你自己的地理类型,只要它包含 Lat
和 Lon
属性,而不是使用烘焙的 GeoLocation
类型。