4

用于创建您自己的令牌和字符过滤器的 Solr 文档说明如下。

http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#Specifying_an_Analyzer_in_the_schema

如果你想使用自定义 CharFilters、Tokenizers 或 TokenFilters,你需要编写一个非常简单的工厂,它是 BaseTokenizerFactory 或 BaseTokenFilterFactory 的子类,像这样......

public class MyCustomFilterFactory extends BaseTokenFilterFactory {
  public TokenStream create(TokenStream input) {
    return new MyCustomFilter(input);
  }
}

我在 Solr 4 的源代码中的任何地方都找不到 BaseTokenFilterFactory。

这是 Solr 3.6.1 中的 org.apache.solr.analysis 包

http://svn.apache.org/viewvc/lucene/dev/tags/lucene_solr_3_6_1/solr/core/src/java/org/apache/solr/analysis/

这是 Solr 4.0.0 的同一个包

http://svn.apache.org/viewvc/lucene/dev/tags/lucene_solr_4_0_0/solr/core/src/java/org/apache/solr/analysis/

该文档看起来适用于 Solr 3.6,但我需要知道如何使用 4.0 创建自定义过滤器。

4

1 回答 1

7

BaseTokenFilterFactory现在有了 solr 4.0 org.apache.lucene.analysis.util.TokenFilterFactory,所以你可以检查一下

于 2012-10-31T04:03:17.987 回答