Solr не загружает пользовательский фильтр - PullRequest
2 голосов
/ 24 сентября 2011

Я написал собственную фабрику фильтров KeepWord и поместил получившийся jar в каталог solr / lib.Но при запуске solr я получаю эту ошибку

SEVERE: org.apache.solr.common.SolrException: Error loading class 'org.custom.solr.analysis.MyKeepWordFilterFactory'
    at org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:389)
    at org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:404)
    at org.apache.solr.util.plugin.AbstractPluginLoader.create(AbstractPluginLoader.java:83)
    at org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:140)
    at org.apache.solr.schema.IndexSchema.readAnalyzer(IndexSchema.java:941)
    at org.apache.solr.schema.IndexSchema.access$100(IndexSchema.java:62)
    at org.apache.solr.schema.IndexSchema$1.create(IndexSchema.java:450)
    at org.apache.solr.schema.IndexSchema$1.create(IndexSchema.java:435)
    at org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:140)
    at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:480)
    at org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:125)
    at org.apache.solr.core.CoreContainer.create(CoreContainer.java:461)
    at org.apache.solr.core.CoreContainer.load(CoreContainer.java:316)
    ...
    Caused by: java.lang.ClassNotFoundException: org.custom.solr.analysis.MyKeepWordFilterFactory
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    ...

Это содержимое моего каталога экземпляра solr.

>$ ls solr/*
solr/README.txt

solr/conf:
admin-extra.html             mapping-ISOLatin1Accent.txt  scripts.conf                    stopwords.txt                velocity/ elevate.xml                  protwords.txt               solrconfig.xml               stopwords_en.txt             xslt/ mapping-FoldToASCII.txt      schema.xml                   spellings.txt                synonyms.txt

solr/data:
index/        spellchecker/

solr/lib:
my-solr-analyserfilter.jar

Содержимое файла jar

>$ unzip -l solr/lib/my-solr-analyserfilter.jar 
Archive:  solr/lib/ctown-solr-analyserfilter.jar
  Length     Date   Time    Name
 --------    ----   ----    ----
        0  09-23-11 23:07   META-INF/
       60  09-23-11 23:07   META-INF/MANIFEST.MF
     3330  09-23-11 23:07   org/custom/analysis/MyKeepWordFilterFactory.class
 --------                   -------
     3390                   3 files

Я использую Solr версии 3.4.0.Согласно документации - https://wiki.apache.org/solr/SolrPlugins#How_to_Load_Plugins - хранение файла jar в каталоге lib должно было сделать так, чтобы solr обнаружил jar.Но, видимо, этого не происходит.Что я делаю неправильно?Пожалуйста, помогите мне в решении этой проблемы.

1 Ответ

4 голосов
/ 24 сентября 2011

Пара вещей -
1. org.custom.solr.analysis.MyKeepWordFilterFactory не соответствует содержимому вашего файла jar org / custom / analysis / MyKeepWordFilterFactory.class.Пакет solr отсутствует.
2. Если он все еще не находит его.Убедитесь, что запись в файле solrconfig.xml не закомментирована и файл jar загружен при запуске сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...