- 自己動手寫分布式搜索引擎
- 羅剛
- 237字
- 2020-11-28 15:52:45
3.2.4 刪除索引庫中的索引文檔
索引過一段時間后可能會過期。例如,索引的一些網頁鏈接會失效。可從IndexWriter中刪除文檔。
indexWriter.delete(new Term("id", "1"));
Term的值在索引庫中并不一定是唯一的,比如要把某個類別的商品下架:
indexWriter.delete(new Term("cat", "book")); //把圖書類商品從索引庫中刪除
IndexReader和IndexWriter都能刪除文檔,區別是:當IndexWriter打開索引的時候,IndexReader的刪除操作會拋出LockObtainFailedException異常。
Lucene在刪除索引時,經常會出現代碼成功執行,但索引并未真正刪除的現象。在創建Term時,注意Term的值必須是不可再拆分的詞,否則刪除不成功。
若需要批量刪除某個網站的網頁,則可以根據查詢條件刪除:
PrefixQuery query = new PrefixQuery(new Term("url", "http://www.lietu.com"); indexWriter.deleteDocuments(query);
推薦閱讀
- 中文版Photoshop CS6完全使用手冊(超值版)
- Core Data iOS Essentials
- SolidWorks 2021中文版機械設計從入門到精通
- BPEL Cookbook: Best Practices for SOA/based integration and composite applications development
- Photoshop 平面廣告設計從入門到精通
- jQuery Mobile First Look
- 計算機·手機生活應用
- Photoshop圖形圖像處理實用教程
- Joomla! 1.5 Site Blueprints: LITE
- 新印象:CINEMA 4D電商設計基礎與實戰(全視頻微課版)
- Learning the Yahoo! User Interface library
- Photoshop CS6數碼照片處理入門到精通
- 攝影師的后期必修課(調色篇)
- UG NX12中文版實用教程
- 中文版CorelDRAW X7技術大全