作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个 StandardAnalyzer 工作,它使用填充 HashMap 的 TermVectorMapper 从单个文档中检索单词和频率。
但是如果我在文档中使用以下文本作为字段,即
addDoc(w, "lucene Lawton-Browne Lucene");
HashMap返回的词频为:
布朗 1卢塞恩2劳顿 1
问题是“lawton”和“browne”这两个词。如果这是一个真正的“双管”名称,Lucene 能否将其识别为“Lawton-Browne”,而该名称实际上是一个单词?
我试过以下组合:
addDoc(w, "lucene \”Lawton-Browne\” Lucene");
和单引号但没有成功。
谢谢
摩根先生。
最佳答案
如果您仍然希望能够使用停用词列表,我建议您试试 PatternAnalyzer。它允许这样的列表并具有预填充的空白模式。
或者你包装空白分析器并在 tokenStream(String fieldName, Reader reader) 中做这样的事情你做这样的事情:
public TokenStream tokenStream(String fieldName, Reader reader) {
TokenStream stream = myWhitespaceAnalyzer.tokenStream(fieldName, Reader);
stream = new StopFilter(stream, stopWords);
return stream;
}
关于java - 如何在 Lucene 中用连字符索引单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4010161/
我是一名优秀的程序员,十分优秀!