用Lucene搜索带连字符的单词

Mad*_*ura 6 lucene

我希望lucene搜索带连字符的单词,例如:节能或"节能"作为单个单词

因此,如果输入是节能的,则标记器生成诸如能量或高效或节能或节能的术语

因此lucene返回包含"节能"和"节能"的页面,但我希望它返回专门用于节能的页面

所以问题是如何修改standardtokenizer来搜索节能作为一个完整的单词而不是将其分解为单独的单词.

KaK*_*aKa 8

WhitespaceAnalyzer而不是standardAnalyzer.
这将生成仅在白色空间上划分的令牌.但要检查其他可以改变的事情.

  • 非常感谢!关于这些东西的文档很少。我有一个自定义的“分析器”来防止停用词被过滤,因此我现在在分析器中使用的是“ WhitespaceTokenizer”而不是“ StandardTokenizer”。但是要注意,当使用`WhitespaceTokenizer`时,搜索变得区分大小写。因此,我必须先通过`LowerCaseFilter`包装它。 (2认同)