我們可以使用multireader 或multisearcher 搜尋多個索引庫。
multireader reader = new multireader(new indexreader );
indexsearcher searcher = new indexsearcher(reader);
hits hits = searcher.search(query);
或indexsearcher searcher1 = new indexsearcher(reader1);
indexsearcher searcher2 = new indexsearcher(reader2);
multisearcher searcher = new multisearcher(new searchable );
hits hits = searcher.search(query);
還可以使用parallelmultisearcher 進行多執行緒並行搜
multisearcher介紹
multisearcher
原理是對乙個indexsearcher的陣列進行迴圈遍歷。分別進行查詢,然後合併,使用hitcollector收集後返回。eg:
由indexsearcher——>multisearcher
建立兩個indexsearcher,以實現在多個索引目錄進行查詢
indexsearcher searcher1=new indexsearcher(index_store_path1);
indexsearcher searcher2=new indexsearcher(index_store_path2);
indexsearcher searchers=;
//使用multisearcher進行多域搜尋
multisearcher searcher=new multisearcher(searchers);
hits hits=searcher.search(q);
由multisearcher——>indexsearcher
searchable
getsearchables
() return the array of
searchable
s this searches
lucene 多索引目錄搜尋實現方法
多索引目錄就是要在多個索引目錄的中進行比較搜尋,類似概念在sql中就是select from tablea union select from tableb。indexsearcher searchers new indexsearcher 2 searchers 0 new indexsearch...
lucene 多索引目錄搜尋實現方法
多索引目錄就是要在多個索引目錄的中進行比較搜尋,類似概念在sql中就是select from tablea union select from tableb。indexsearcher searchers new indexsearcher 2 searchers 0 new indexsearch...
Lucene多字段和多目錄索引
1 多欄位搜尋就是同時要乙個以上的字段中的內容進行比較搜尋,類似概念在sql中就是select from table where a like query or b like query lucene.net中的單個字段查詢大家都比較熟悉,這裡對欄位content進行搜尋 query query q...