Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在lucene 4.0中使用ngram标记器?_Java_Lucene - Fatal编程技术网

Java 如何在lucene 4.0中使用ngram标记器?

Java 如何在lucene 4.0中使用ngram标记器?,java,lucene,Java,Lucene,我正在用没有空格的文本为大型文本文件编制索引。目前,我使用ngram方法生成长度为12的字符串,然后对它们进行索引。同样的搜索方法,我从用户那里得到字符串,生成12的ngrams,然后在构建查询时使用它。搜索时,请阅读lucene中的ngram标记器。但是找不到太多的例子 如何在lucene 4.0中实现ngram标记器 使用NGramTokenizer最简单的方法可能是使用justtakeasreader,以及最小和最大克大小。您可以将其合并到分析器中,类似于上的示例。比如: Analyzer

我正在用没有空格的文本为大型文本文件编制索引。目前,我使用ngram方法生成长度为12的字符串,然后对它们进行索引。同样的搜索方法,我从用户那里得到字符串,生成12的ngrams,然后在构建查询时使用它。搜索时,请阅读lucene中的ngram标记器。但是找不到太多的例子


如何在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令牌?您可以打印其输出,该输出应提供流中当前令牌的良好调试信息。