0
A
回答
0
是的,你可以同時搜索和索引。您需要考慮的唯一一件事情是,當您打開IndexReader
時,它基本上需要索引的「快照」:您需要關閉並重新打開IndexReader
以獲取任何新更新(或致電reopen
,這可能比關閉和重新開放)。
2
不Lucene的允許同時搜索和索引?
是的。但是,IndexReader只會在索引中搜索它打開的「時間點」。在IndexReader重新打開之前,對索引的任何更新(添加或刪除的文檔)都將不可見。因此,您的應用程序必須定期重新打開其IndexReaders以查看最新更新。 IndexReader.isCurrent()方法允許您測試索引讀取器打開後是否發生了任何索引更新。
不可否認,這是對Java版本的引用,但我期望.NET版本以同樣的方式工作。
1
這本書,「Lucene在行動,第二版」有一個關於近實時搜索的部分。基本上,你通過調用IndexWriter.GetReader()方法來獲得IndexReader並保存它。開始搜索時,調用IndexWriter.GetReader()並將返回的閱讀器與保存的值進行比較。如果相同,只需使用現有的閱讀器即可。多個線程可以共享同一個閱讀器。
如果不同,請關閉舊閱讀器並保存新閱讀器。使用保存的值進行搜索。
在幕後,新讀者包括索引中的所有待處理(未提交)文檔。待處理的更改將刷新到磁盤(或RamDirectory),但未提交。
相關問題
- 1. Lucene.NET搜索索引方法
- 2. Lucene.net搜索和下劃線
- 3. 允許搜索結果的搜索引擎?
- 4. Lucene.net:單獨的建築索引搜索索引
- 5. 需要建議使用lucene.net創建索引和搜索
- 6. 如何使用Lucene.Net索引和搜索業務實體?
- 7. Lucene.NET分面搜索
- 8. Lucene.Net並行搜索
- 9. Lucene.Net搜索列表
- 10. Lucene.NET分面搜索
- 11. Lucene.net索引短語
- 12. 可以同時搜索PDF和Clearscan嗎?
- 13. 什麼是從MySQL索引,允許更快的搜索和聚合
- 14. 搜索引擎索引JSON結果嗎?
- 15. 同時在彈性搜索中索引多個索引
- 16. 慢Lucene.Net搜索性能
- 17. 緩存Lucene.net搜索結果
- 18. Lucene.NET搜索過濾器
- 19. Lucene.Net TermQuery通配符搜索
- 20. NHibernate搜索Lucene.NET SearchFactory爲null
- 21. lucene.net - 搜索詞太短?
- 22. Lucene.Net搜索用下劃線
- 23. Proximity搜索示例Lucene.Net
- 24. Lucene.net文件夾搜索
- 25. Lucene.net模糊短語搜索
- 26. 允許搜索引擎索引文檔,但只允許訪問付費會員。可能?
- 27. 搜索一個url字段的Lucene.Net索引
- 28. 防止Googlebot索引頁面,同時仍允許訪問
- 29. Lucene索引和搜索
- 30. SOLR索引和搜索?
可以在優化索引編寫器後更新文檔 – Deepak 2010-09-01 06:24:24
是的,所有優化都是重新排列磁盤上的文件以便更快訪問。它不會以任何方式更改索引的「邏輯」佈局。 – 2010-09-01 06:26:36
感謝您的分享 – Deepak 2010-09-01 06:31:09