Java.lang.ClassNotFoundException: solr.LatLonType при запуске solr со схемой из django build_solr_schema
Я хочу подключить поисковую функциональность к Django. Я использую django-haystack и solr.
С недавно созданным Solr core Я получаю следующую ошибку при запуске Solr с новым schema.xml сгенерированным из python manage.py build_solr_schema
Caused by: java.lang.ClassNotFoundException: solr.LatLonType
at java.net.URLClassLoader.findClass(URLClassLoader.java:445) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:588) ~[?:?]
at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:872) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
at java.lang.Class.forName0(Native Method) ~[?:?]
at java.lang.Class.forName(Class.java:488) ~[?:?]
at java.lang.Class.forName(Class.java:467) ~[?:?]
at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:527) ~[?:?]
at org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:604) ~[?:?]
at org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:598) ~[?:?]
at org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:74) ~[?:?]
at org.apache.solr.schema.FieldTypePluginLoader.create(FieldTypePluginLoader.java:43) ~[?:?]
at org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:144) ~[?:?]
at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:531) ~[?:?]
at org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:188) ~[?:?]
at org.apache.solr.schema.ManagedIndexSchema.<init>(ManagedIndexSchema.java:119) ~[?:?]
at org.apache.solr.schema.ManagedIndexSchemaFactory.create(ManagedIndexSchemaFactory.java:279) ~[?:?]
at org.apache.solr.schema.ManagedIndexSchemaFactory.create(ManagedIndexSchemaFactory.java:51) ~[?:?]
at org.apache.solr.core.ConfigSetService.createIndexSchema(ConfigSetService.java:342) ~[?:?]
at org.apache.solr.core.ConfigSetService.lambda$loadConfigSet$0(ConfigSetService.java:253) ~[?:?]
at org.apache.solr.core.ConfigSet.<init>(ConfigSet.java:49) ~[?:?]
at org.apache.solr.core.ConfigSetService.loadConfigSet(ConfigSetService.java:249) ~[?:?]
at org.apache.solr.core.CoreContainer.createFromDescriptor(CoreContainer.java:1550) ~[?:?]
at org.apache.solr.core.CoreContainer.lambda$load$10(CoreContainer.java:950) ~[?:?]
как я могу исправить мой schema.xml?
apache solr 9.0 django 4.0
LatLonType
был устаревшим со времен Solr 7 и теперь удален в Solr 9.
Вместо этого используйте LatLonPointSpatialField.
<fieldType name="location" class="solr.LatLonPointSpatialField" docValues="true"/>
LLPSF поддерживает переключение между индексированным, хранимым, docValues и multiValued. LLPSF внутренне использует двумерный индекс Lucene "Points" (дерево BDK), когда включена опция "indexed" (по умолчанию). Когда включена функция "docValues", пара широты и долготы разбивается на 64 бита и помещается в Lucene DocValues. Точность данных docValues составляет около сантиметра.