Я реализовал собственный фильтр Solr. Я хочу использовать его с Solr в облачном режиме. Я следовал официальной инструкции по добавлению плагинов в облачном режиме (которую можно найти здесь: https://lucene.apache.org/solr/guide/7_5/adding-custom-plugins-in-solrcloud-mode.html),, однако не удалось применить конфигурацию.
Фильтр и его фабричный класс реализованы, JAR создан. Размер JAR крошечный (пара килобайт).
Solr запускается с включенными библиотеками времени выполнения (solr start -c -Denable.runtime.lib = true).
JAR был загружен в коллекцию .system. Подтверждено запросом.
Создан макет тестовой коллекции "mycollection".
BLOB с пользовательским фильтром, зарегистрированным в тестовой коллекции.
Пользовательский фильтр добавлен к определенному fieldType ("title_string") в "schema.xml" с параметром runtimeLib = "true". Конфигурация загружена.
Я попытался найти инструкции и обнаружил, что существуют проблемы с запуском любых модулей, определенных в schema.xml (например, фильтра).
Я выполнил ту же процедуру с пользовательским плагином queryParser (они определены в solrconfig.xml), и он отлично работал в облачном режиме.
Версия Solr - 7.7.2.
schema.xml fieldType, использующий пользовательский фильтр:
<fieldType name="title_string" class="solr.TextField" multiValued="false">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="com.mycompany.filters.SimpleFilterFactory" runtimeLib="true" version="1"/>
</analyzer>
</fieldType>
Ошибка, выдаваемая Solr (журналы) после применения конфигурации:
mycollection_shard1_replica_n1: org.apache.solr.common.SolrException: org.apache.solr.common.SolrException: не удалось загрузить conf для ядра mycollection_shard1_replica_n1: не удается загрузить схему schema.xml: ошибка инициализации плагина для [schema.x ] fieldType "title_string": ошибка инициализации плагина для [schema.xml] анализатора / фильтра: ошибка загрузки класса 'com.mycompany.filters.SimpleFilterFactory'