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