¿Qué tipo de datos SQL se deben usar para rellenar un campo de ubicación de Solr(espacial) cuando se utiliza un DataImportHandler?
geospatial (2)
sol.LatLonType es un tipo multidimensional; Puede definir el tipo de campo como:
<fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate"/>
Usando su nombre de campo de "latlng", el esquema de los campos de coordenadas se verá así (observe el "subFieldSuffix" utilizado para el campo de tipo bidimensional tipo solr.LatLonType):
<field name="latlng" type="location" indexed="true" stored="true" />
<field name="latlng_0_coordinate" type="double" indexed="true" stored="true" />
<field name="latlng_1_coordinate" type="double" indexed="true" stored="true" />
"latlng_0_coordinate" debería ser la latitud y "latlng_1_coordinate" debería ser la longitud. Su instrucción seleccionada debe cargar "latlng_0_coordinate" y "latlng_1_coordinate" como dobles.
Tengo un esquema de Solr que contiene un campo de location
(usando el solr.LatLonType
predeterminado):
<field name="latlng" type="location" indexed="true" stored="true"/>
Y estoy tratando de poblarlo usando un DataImportHandler. Actualmente SELECT
el valor como nvarchar en el formato de 17.74628,-64.70725
; sin embargo, no está rellenando el campo Solr (permanece vacío).
¿Qué tipo y formato debe tener esta columna para actualizar el campo de location
en Solr?
la respuesta anterior funciona ya que está creando manualmente los campos que Solr usa para almacenar lat y long de forma individual, sin embargo, hay un campo dinámico para tal fin.
<!-- Type used to index the lat and lon components for the "location" FieldType --> <dynamicField name="*_coordinate" type="tdouble" indexed="true" stored="false" />
Si marca la ubicación del tipo de campo, puede encontrar que usa el sufijo _coordinate para sus valores:
<!-- A specialized field for geospatial search. If indexed, this fieldType must not be multivalued. -->
<fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate"/>
eso funciona para mí en Solr 4 beta, y creo que está presente desde Solr 3.6 o incluso anterior. De todos modos, ¡solo otra solución!
Espero que esto ayude.