Lucene的MockAnalyzer:附加stemmer或任何自定义过滤器?

时间:2013-02-14 10:56:22

标签: unit-testing lucene

单元测试的代码简要说明了这一点:

Analyzer analyzer = new MockAnalyzer(random, MockTokenizer.SIMPLE, true);
rd = newDirectory();
IndexWriter w = new IndexWriter(rd, newIndexWriterConfig(TEST_VERSION_CURRENT, analyzer));

我希望能够配置自己的自定义过滤器并将PorterStemmer过滤器添加到此配置中。是否可以使用MockAnalyzer类或者是否应该使用其他类来实现此目的?

1 个答案:

答案 0 :(得分:0)

Robert Muir得到了答案:

MockAnalyzer实际上只是MocKTokenizer + MockTokenFilter + ...

相反,您只需使用MockTokenizer定义自己的分析仪链。 这是所有Lucene自己的分析测试工作的方式:例如 http://svn.apache.org/repos/asf/lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/en/TestEnglishMinimalStemFilter.java

对于3.4,扩展ReusableAnalyzerBase