Запрос фильтра по пространственному полю Solr возвращает все документы с ненулевым значением

2147483647 - наибольшее значение int для mysql. Просто измените тип от int до bigint.

0
задан mbosecke 18 March 2019 в 02:32
поделиться

2 ответа

Я работал с использованием JTS, хотя я не уверен, почему это было необходимо, и это значительно замедлило время импорта данных.

Вот новое определение типа поля:

<fieldType name="my_geom"
  class="solr.SpatialRecursivePrefixTreeFieldType"
  spatialContextFactory="JTS"
  autoIndex="true"
  distanceUnits="kilometers"
  format="WKT"
  geo="true"                                                                              
  />

Я также скачал JTS jar, согласно документации Solr.

Однако я все еще не могу объяснить , почему использование JTS необходимо, учитывая, что документация Solr привела меня к мысли, что я должен быть в состоянии индексировать полигоны, используя Geo3D:

Geo3D - разговорное название пространственного 3d-модуля Lucene, включенного в Solr. Это библиотека вычислительной геометрии, реализующая различные формы (включая многоугольники) на сфере или эллипсоиде WGS84.

Использование Geo3D не дало мне ошибок при импорте или запросе, просто не дало ожидаемых результатов. Weird ...

0
ответ дан mbosecke 18 March 2019 в 02:32
поделиться

Я также работал с типом Solr BBoxField (и JTS). См. Определение типа поля:

<fieldType name="my_bbox"
  class="solr.BBoxField"
  spatialContextFactory="JTS"
  format="WKT"                                                                      
  geo="true"
  distanceUnits="kilometers"
  numberType="pdouble"
  />

Мне все еще неясно, почему использование SpatialRecursivePrefixTreeFieldType с Geo3D не дает правильных результатов.

Скорость импорта данных значительно выше, чем при использовании SpatialRecursivePrefixTreeFieldType с JTS.

0
ответ дан mbosecke 18 March 2019 в 02:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: