Lucene:使用SpanTermQuery获取具有特殊字符的单词的结果

时间:2011-04-04 03:43:49

标签: java lucene

是否可以在Lucene中搜索非字符单词的结果,例如,如果我试图找到“word-processing”或“foo-bar”的结果。使用SpanTermQuery时,它们看起来并不像单个术语。我使用QueryParser而不是SpanTermQuery获得结果。我只是想知道它是如何工作的,关于如何让SpanTermQuery为它工作的任何意见/想法?

1 个答案:

答案 0 :(得分:0)

我建议你看一下你的字段的Tokenizers和Analyzers是如何配置的。阅读现有开箱即用的Tokenizers / Analyzers的javadocs,看看其中一个是否满足您的需求。如果一个不能满足您的需求,那么扩展和创建自己的Tokenizer和/或Analyzer非常容易。

http://wiki.apache.org/lucene-java/LuceneFAQ#How_do_I_write_my_own_Analyzer.3F http://lucene.apache.org/java/3_0_3/api/core/org/apache/lucene/analysis/Analyzer.html http://lucene.apache.org/java/3_0_3/api/core/org/apache/lucene/analysis/Tokenizer.html