0

我正在尝试在 Solr 4.6 中为我的自定义过滤器构建一个 jar。我在运行编译时遇到以下错误:

CustomFilter.java:19: error: package org.apache.lucene.analysis does not exist
import org.apache.lucene.analysis.TokenFilter;
                                 ^
CustomFilter.java:20: error: package org.apache.lucene.analysis does not exist
import org.apache.lucene.analysis.TokenStream;
                                 ^
CustomFilter.java:21: error: package org.apache.lucene.analysis.tokenattributes does not exist
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
                                                 ^
CustomFilter.java:24: error: package org.apache.solr.util does not exist
import org.apache.solr.util.NumberUtils;
                           ^
CustomFilter.java:43: error: cannot find symbol
public final class CustomFilter extends TokenFilter {
                                        ^
  symbol: class TokenFilter
CustomFilter.java:46: error: cannot find symbol
  private final CharTermAttribute termAtt = addAttribute(CharTermAttribute.class);
                ^
  symbol:   class CharTermAttribute
  location: class CustomFilter
CustomFilter.java:47: error: cannot find symbol
  private final PositionIncrementAttribute posIncrAtt = addAttribute(PositionIncrementAttribute.class);

我需要一些有关将此自定义过滤器添加到我的架构的帮助。在不构建此 jar 的情况下,如果我尝试在模式中为字段使用过滤器,我会在我的 solr 管理员上遇到以下错误:

 org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: Plugin init failure for [schema.xml] fieldType "textCustom": Plugin init failure for [schema.xml] analyzer/filter: Error instantiating class: 'org.apache.solr.analysis.Custom.CustomFilterFactory'. Schema file is /opt/solr5/collection3/schema.xml

有重复的问题,但没有正确的答案。因此,请不要在这些基础上关闭这个问题。

4

1 回答 1

0

看起来您正在尝试编译您的类文件而不指向正确的依赖项,请确保您在这种情况下将类路径指向包含您的插件的目录:org.apache.lucene.analysis.TokenFilter(还要检查您的其他依赖项)即:lucene-1.3.jar 与java文件在同一目录中

javac -cp:<directory> <file to compile>

javac -cp:. <file to compile> //period means classpath is same library to compile

还要确保您的自定义标记器库位于 solr 库中。检查您的 schema.xml 中的现有库,并将您的自定义 solr 过滤器库添加到同一目录中。

于 2014-06-25T05:54:35.063 回答