Java 如何在lucene 4.0中使用ngram标记器?
我正在用没有空格的文本为大型文本文件编制索引。目前,我使用ngram方法生成长度为12的字符串,然后对它们进行索引。同样的搜索方法,我从用户那里得到字符串,生成12的ngrams,然后在构建查询时使用它。搜索时,请阅读lucene中的ngram标记器。但是找不到太多的例子Java 如何在lucene 4.0中使用ngram标记器?,java,lucene,Java,Lucene,我正在用没有空格的文本为大型文本文件编制索引。目前,我使用ngram方法生成长度为12的字符串,然后对它们进行索引。同样的搜索方法,我从用户那里得到字符串,生成12的ngrams,然后在构建查询时使用它。搜索时,请阅读lucene中的ngram标记器。但是找不到太多的例子 如何在lucene 4.0中实现ngram标记器 使用NGramTokenizer最简单的方法可能是使用justtakeasreader,以及最小和最大克大小。您可以将其合并到分析器中,类似于上的示例。比如: Analyzer
如何在lucene 4.0中实现ngram标记器 使用NGramTokenizer最简单的方法可能是使用justtakeasreader,以及最小和最大克大小。您可以将其合并到分析器中,类似于上的示例。比如:
Analyzer analyzer = new Analyzer() {
@Override
protected TokenStreamComponents createComponents(String fieldName, Reader reader) {
Tokenizer source = new NGramTokenizer(reader, 12, 12);
TokenStream filter = new LowercaseFilter(source);
return new TokenStreamComponents(source, filter);
}
};
您好,在这种方法中,如何让令牌流打印生成的ngram令牌?您可以打印其输出,该输出应提供流中当前令牌的良好调试信息。