0
我正在使用Lucene在Android中創建一個字典應用程序。索引和搜索時,我是否需要提供StandardAnalyzer
的相同實例,還是可以只爲這兩個實例提供新實例?索引和搜索時,Lucene是否需要相同的分析器實例?
例如,當我要創建一個索引,我這樣做:
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_36);
IndexWriter writer = new IndexWriter(directory,
new IndexWriterConfig(Version.LUCENE_36, analyzer));
,然後在頂部的文件,讓搜索詞的最好的片段時,我這樣做:
TokenStream ts = TokenSources.getAnyTokenStream(indexSearcher.getIndexReader(),
hits[i].doc, "definition", analyzer);
或者我可以只使用analyzer
替換new StandardAnalyzer(Version.LUCENE_36)
的所有用法嗎?我這樣問是因爲我的索引和搜索任務是在不同的類中,我想保留我通過實例傳遞的最小數量的對象。
要完成答案,除了線程安全性(我不確定)之外,還可以在索引和搜索中重複使用相同的分析器實例。我相信這是原來的問題。 –