如何使用ApacheLucene将文件和那些文件内容索引到ElasticSearch中?

时间:2015-10-10 19:42:56

标签: java apache elasticsearch lucene

我在数据分析方面相当新,现在我正在尝试使用apache lucene tokenizer将一些文件及其内容编入弹性搜索。 这是我使用apache tokenizer

的方法
 public List<String> getFilesContentWithLucene() throws IOException {
        folderList = getFilesFromFolders(folderName);
        Analyzer tokenizer = null;
        for (File file : folderList) {
            if (file.getName().endsWith(".txt")) {
                StringReader reader = new StringReader(parseFile(file).toString());
                TokenStream stream  = tokenizer.tokenStream(null, reader);
                stream.reset();
                try {
                    while(stream.incrementToken()) {
                        documentTerms.add(stream.getAttribute(CharTermAttribute.class).toString());
                    }
                    stream.end();
                    stream.close();
                }
                catch(IOException e) {
                    // not thrown b/c we're using a string reader...
                }
                documentTermsMap.put(file.getName().replace(".txt",""), documentTerms);
            }
        }

        return documentTerms;
    }

我的问题是: apache tokenizer的字段参数是什么意思? TokenStream stream = tokenizer.tokenStream(null,reader)在这种形式下它抛出了NullPointer异常; 如何将索引文件及其内容用于弹性搜索?

0 个答案:

没有答案