【发布时间】:2011-04-04 03:43:49
【问题描述】:
是否可以在 Lucene 中搜索非字符词的结果,例如,如果我试图查找“文字处理”或“foo-bar”的结果。在使用 SpanTermQuery 时,它们看起来并不被视为单个术语。我使用 QueryParser 而不是 SpanTermQuery 得到结果。我只是想知道它是如何工作的,关于如何让 SpanTermQuery 为它工作的任何 cmets/ 想法?
【问题讨论】:
是否可以在 Lucene 中搜索非字符词的结果,例如,如果我试图查找“文字处理”或“foo-bar”的结果。在使用 SpanTermQuery 时,它们看起来并不被视为单个术语。我使用 QueryParser 而不是 SpanTermQuery 得到结果。我只是想知道它是如何工作的,关于如何让 SpanTermQuery 为它工作的任何 cmets/ 想法?
【问题讨论】:
我建议您看看您的字段的标记器和分析器是如何配置的。阅读现有开箱即用的 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
【讨论】: