如何在Lucene的StandardAnalyzer中将字母“A”作为例外?

时间:2012-12-19 10:31:10

标签: java android lucene lexical-analysis standardanalyzer

我使用Lucene在Android中创建了一个医学词典。单词和定义是丹麦语,我使用StandardAnalyzer来索引和搜索条目。我的想法是,当我点击ListView中的条目时,另一个Activity会显示顶部的单词和下面的定义。

对于条目A.,字典完全按预期工作。当我点击A.中的ListView时,下一个Activity仅显示屏幕的背景颜色 - 没有字词,没有定义,没有任何文字。

我的猜测是StandardAnalyzer在编制索引过程中将字母A计为停用词,因为条目Activity的{​​{1}}正确显示。我怎么能绕过这个?

2 个答案:

答案 0 :(得分:4)

您可以使用StandardAnalyzer一组不同的停用词。

对于默认停用词,请参阅StandardAnalyzer.STOP_WORDS_SET,它是从StopAnalyzer.ENGLISH_STOP_WORDS_SET复制的。

new StandardAnalyzer(Version.LUCENE_35, stopWordsSet);

答案 1 :(得分:0)

我最终使用DanishAnalyzer。无论如何,这可能更好。