我编写了一个自定义的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。但显然它没有发生。我究竟做错了什么?请帮助我解决这个问题。
答案 0 :(得分:4)
一些事情 -
1. org.custom.solr.analysis.MyKeepWordFilterFactory与jar文件org / custom / analysis / MyKeepWordFilterFactory.class的内容不匹配。 solr包丢失了
2.如果仍然没有找到它。检查solrconfig.xml中的条目是否已取消注释,并且在服务器启动时加载了jar文件。