多索引目錄就是要在多個索引目錄的中進行比較搜尋,類似概念在sql中就是select * from tablea union select * from tableb。
indexsearcher searchers = new indexsearcher[2];
searchers[0] = new indexsearcher(indexpath0);
searchers[1] = new indexsearcher(indexpath1);
方法a
multisearcher multisearcher = new multisearcher(searchers);
topdocs multitopdocs = multisearcher.search(query, null, 1000);
這個搜尋的結果可能有相同的資訊,比如你有一條相同的資訊在多個目錄中索引,搜尋的結果就會出現多次相同的資訊。
方法b
還有一種搜尋方式是用到parallelmultisearcher這個物件,它是從mulitsearcher繼承而來。
parallelmultisearcher parallelmultisearcher = new parallelmultisearcher(searchers);
topdocs paralleltopdocs = parallelmultisearcher.search(query, null, 1000);
這個搜尋是對搜尋後的結果進行合併,剔除重複的資訊。
方法c
初始化多個indexrader,乙個目錄就是乙個indexreader,最後整合成乙個indexreader陣列,例項化indexsearcher時傳入他
listallindexreaderlist = new arraylist();
for (string filepath : indexfilepathlist)
}indexreader fileindexreaderarr = allindexreaderlist.toarray(new indexreader[0]);
multireader multireader = new multireader(fileindexreaderarr, true);
indexsearcher indexsearcher = new indexsearcher(multireader);
lucene 多索引目錄搜尋實現方法
多索引目錄就是要在多個索引目錄的中進行比較搜尋,類似概念在sql中就是select from tablea union select from tableb。indexsearcher searchers new indexsearcher 2 searchers 0 new indexsearch...
Lucene多索引目錄檢索
我們可以使用multireader 或multisearcher 搜尋多個索引庫。multireader reader new multireader new indexreader indexsearcher searcher new indexsearcher reader hits hits ...
Lucene3 0 建立索引及多目錄搜尋
public void index throws corruptindexexception,lockobtainfailedexception,ioexception optimize 方法是對索引進行優化 indexwriter.optimize indexwriter.close 若需要從索引...