我正在使用没有空格的文本索引大文本文件.目前我有ngram方法生成长度为12的字符串然后我索引它们.同样的搜索方式,我从用户获取字符串生成12的ngrams,然后用它来构建查询.在搜索时,请阅读lucene中存在的ngram tokenizer.但无论如何都找不到任何例子.
如何在lucene 4.0中实现ngram tokenizer?
可能最简单的使用方法NGramTokenizer是使用这个构造函数,只需要一个读取器,以及最小和最大克大小.您可以将其合并到分析器中,类似于Analyzer文档中的示例.就像是:
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);
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2765 次 |
| 最近记录: |