我正在搜索包含數千個文件的大型目錄樹中的數千個字符串。每個字符串可以出現在許多不同的文件中在c#中執行此搜索的最高性能方法是什麼?我試着用findstr來啓動proccessinfo(但它太痛苦了,因爲它會打開每一個文件幾千次)。有什麼建議麼?模仿c#中findstr功能的最佳方式是什麼?
2
A
回答
2
我建議使用Lucene.NET創建一個索引文件樹的小部件。一旦文檔被編入索引,您便可以使用Lucene的所有功能以非常強大的方式搜索內容......而無需打開每個文件1000次! :P
不知道程序的壽命......這可能不是一次性使用場景的好主意。對於多用途場景,您需要確保您有一個隨着時間的推移而更新索引的Windows服務(如果這很重要)。
一旦索引創建,這將是非常高效的!
0
您是否需要執行一次性搜索或連續按需?我會建議綁定到索引服務或實現您自己的Lucene索引。有許多Lucene索引的開源實現,基本上你只掃描一次文件並構建內容的綜合索引,然後再根據預製索引進行搜索。索引生成需要一段時間,但搜索速度非常快。這適用於'網頁'類型的內容和簡單的短語和單詞。
如果您正在嘗試查找非單詞/任意隨機字符串,則您有不同的任務。
-Jeff
相關問題
- 1. 建議Delphi的新功能的最佳方式是什麼?
- 2. 創建Gmail功能的最佳方式是什麼?
- 3. 什麼是分離JavaScript功能的最佳方式?
- 4. 什麼是分離MVC控制器功能的最佳方式?
- 5. 實現忘記密碼功能的最佳方式是什麼?
- 6. 什麼是擴展angularjs指令功能的最佳方式?
- 7. 向swig生成的ruby模塊添加功能的最佳方式是什麼?
- 8. 什麼是限制商店或網站模塊功能的最佳方式
- 9. 在VB6中定時功能/測量性能的最佳方式是什麼?
- 10. 在WordPress中格式化C#的最佳方式是什麼?
- 11. 將需求映射到Redmine中的功能的最佳方式是什麼?
- 12. 在Delphi中實現C#的BackgroundWorker的最佳方式是什麼?
- 13. 在C#中模擬雷達的最佳方法是什麼?
- 14. 什麼是查詢的最佳方式?
- 15. 鍵入()的最佳方式是什麼?
- 16. 什麼是開源的最佳方式?
- 17. 「投票」的最佳方式是什麼?
- 18. 在Adobe AIR for mobile中重現QLPreviewController功能的最佳方式是什麼?
- 19. 在Perl中實現sscanf-like功能的最佳方式是什麼?
- 20. 在Rails中實現「查找商店」功能的最佳方式是什麼?
- 21. 這是恢復模擬功能的最佳方式
- 22. 什麼是在rails中排名模型的最佳方式
- 23. 在模型中包含特質的最佳方式是什麼?
- 24. 在Django模型中表示URL的最佳方式是什麼?
- 25. 在Javascript中使用Jinja2模板的最佳方式是什麼?
- 26. 從視圖中添加模型的最佳方式是什麼?
- 27. 在模型中更改數據的最佳方式是什麼?
- 28. R中基準(性能分析)的最佳方式是什麼?
- 29. 在C#中做事情的最佳方式是什麼?
- 30. 在c#中連接數據庫的最佳方式是什麼?
哪個操作系統?也許使用索引服務或Windows搜索? – 2009-07-07 22:06:26