我有一个StandardAnalyzer工作,它使用填充HashMap的TermVectorMapper从单个文档检索单词和频率。如何在Lucene中用连字符索引单词?
但是,如果使用下面的文字作为我的文档中的一个字段,即
addDoc(w, "lucene Lawton-Browne Lucene");
频率在HashMap中返回的字是:
布朗1个 Lucene的2 劳顿1
问题在于“lawton”和“browne”。如果这是一个真正的“双管”名称,Lucene是否可以将其识别为“Lawton-Browne”,其名称实际上是一个单词?
我试过的组合:
addDoc(w, "lucene \”Lawton-Browne\” Lucene");
而且单引号,但没有成功。
谢谢
摩根先生。
这可能在queryparsersyntax在字符转义,但在工作我例如,使用addDoc(w,“lucene Lawton \\ - Browne Lucene”);输出保持不变。我试过了一个WhitespaceAnalyzer,它给了我一个单词的名字,但是这并不包含同一个单词的重复单词。 – 2010-10-24 21:14:19
我相信一个WhitespaceAnalyzer应该可以正常工作。你能不能在addDoc上发布一些更多的代码来澄清这一点? – 2010-10-25 09:33:24
如果我在调用分析器之前将所有的标记设置为小写,那么WhiteSpaceAnalyzer似乎给了我想要的。但是这种类型不允许有一点约束的停止词。 – 2010-10-25 21:39:18