有沒有Java中的任何內置庫在大約100GB的大文件中搜索字符串在Java中。我目前使用二進制搜索,但效率不高。建立在圖書館的100GB文件進行有效搜索
0
A
回答
0
據我所知,Java不包含任何文件搜索引擎,有或沒有索引。這也有一個很好的原因:搜索引擎實現與輸入數據集和搜索模式格式固有地相關。兩者之間的微小變化都可能導致搜索引擎的巨大變化。
對於我們能夠提供你需要一個更具體的答案:
描述正是數據集:文件的數量,路徑結構和平均大小,每個條目的格式以及每個包含的令牌的格式。
描述究竟您的搜索模式:是那些固定的字符串,glob模式,或者說,正則表達式?你期望這個模式在每一行中都匹配一整行或一個特定的標記嗎?
描述確切您想要的搜索結果:你想要精確或近似匹配?你想獲得文件中的位置,還是提取特定的令牌?
描述正是您的要求:你能事先建立索引?數據集是否預期會實時修改?
說明爲什麼不能使用專爲這類工作設計的第三方庫,如Lucene。
解釋爲什麼當前的二進制搜索,它應該有一個的
O(logn)
複雜性是不太有效。 可能是會更快,並且具有恆定的複雜度將涉及使用散列表。
這可能是最好的,如果你從更廣泛的角度來描述你的問題。例如,可以從您的樣本數據集中假設您擁有的是一組單詞以及相關的偏移量或文檔標識符列表。在這樣的一個集合中進行搜索的簡單方法是將一個字/文件位置索引存儲在散列表中,以便能夠在恆定時間訪問每個關聯列表。
0
如果你不想使用爲搜索而構建的工具,那麼將數據存儲在數據庫中並使用sql。
相關問題
- 1. 圖書館建立的網址在Python
- 2. .Net圖書館用於通過哈希進行圖像搜索?
- 3. 在圖書館網站中實現全文搜索軟件
- 4. C++ SQL查詢建立圖書館
- 5. 圖書館/文件搜索建議/字符串分割效率/如何使我的代碼更快運行
- 6. ACM數字圖書館搜索本身
- 7. 圖書館目錄搜索sql語句
- 8. 圖書館搜索Android上的非結構化文本
- 9. 使用我的圖書館的AAR文件,該文件對其他圖書館
- 10. 建立圖書館時,clang和clang ++有什麼區別?
- 11. 圖書館開發 - 尋找建議功能的有效用例
- 12. 圖書館對圖書館的引用
- 13. 建立在私人電腦上的圖書館
- 14. JumpList?進入圖書館
- 15. 在具有圖書館「效果」的GLM圖中縮放軸
- 16. OpenPose圖書館 - 構建發行問題
- 17. 的Android NDK - 建立試圖鏈接不存在的預建圖書館
- 18. 如何建立圖書館用C++編寫,並在iOS版
- 19. 基於圖書館存在有條件的CMake構建目標
- 20. 爲我的個人圖書館編寫圖書館搜索程序,在選擇多詞時遇到問題
- 21. 在MySQL中進行全文搜索的最有效方法
- 22. 加入預建圖書館
- 23. YAML-CPP編譯器錯誤試圖建立圖書館
- 24. 圖書館的文件生成器iphone
- 25. iOS - 與其他已有FB的圖書館進行Facebook.framework集成
- 26. 運行JAR文件沒有swing圖書館
- 27. 使用MAML進行圖書館的概念性文檔編制
- 28. 錯誤在進口圖書館
- 29. CMake的:建立圖書館,並連接它
- 30. 爲iOS(iPhone和iPad)建立的Twitter圖書館是什麼?
告訴我們關於100GB數據集的信息。它由什麼組成,任意字符串?這些琴絃是否以特定方式排列?你允許預處理數據集嗎?你需要執行什麼類型的搜索,完全匹配整個字符串?就目前而言,問題是*方式*不明確。 – NPE 2012-04-13 15:51:46
@aix感謝您的回覆。數據集由任意字符串組成。是的,我想對整個字符串做精確匹配 – 2012-04-13 15:54:05
如果數據行的定位比想象中使用MapReduce ...特別是在數據大小上。 – khmarbaise 2012-04-13 15:56:53