1、ramdirectory和fsdirectory對比
ramdirectory在記憶體中所進行的操作比fsdirectory在磁碟上所完成的工作要快得多。
2、即使使用索引引數來使lucene減少在磁碟上合併段的頻率,基於fsdirectory的索引還要把它們寫入磁碟,而ramdirectory完全不用寫磁碟。
3、將ramdirectory做為乙個緩衝器實現對索引的、批處理
1)建立乙個基於fsdirectory的索引。
fsdirectoryfsdir=fsdirectory.getdirectory("/tmp/index",true);
2)建立乙個基於ramdirectory的索引
ramdirectory ramdir=new ramdirectory();
3)向基於ramdirectory的索引中增加文件。
indexwriter ramwriter=new indexwriter(ramdir,new******analyzer(),true);
indexwriter fswriter=new indexwriter(fsdir,new******analyzer(),true);
while (...));//合併資料
ramwriter.close();
ramwriter=newindexwriter(ramdir,new ******analyzer(),true);
5)轉到第三步
4、並行索引多個索引檔案
可以使用多執行緒的索引程式,並行使用把ramdirectory作為乙個緩衝器,然後使用addindexes合併寫入
Lucene多索引目錄檢索
我們可以使用multireader 或multisearcher 搜尋多個索引庫。multireader reader new multireader new indexreader indexsearcher searcher new indexsearcher reader hits hits ...
Lucene多字段和多目錄索引
1 多欄位搜尋就是同時要乙個以上的字段中的內容進行比較搜尋,類似概念在sql中就是select from table where a like query or b like query lucene.net中的單個字段查詢大家都比較熟悉,這裡對欄位content進行搜尋 query query q...
lucene多索引上的搜尋
上 import org.apache.lucene.document.document import org.apache.lucene.document.field import org.apache.lucene.index.indexwriter import org.apache.luce...