Lucene多索引目錄檢索

2021-04-20 07:36:31 字數 1162 閱讀 3183

我們可以使用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...