我有一個大小爲115MB的文本文件。它由大約2000萬字組成。我必須將該文件用作單詞集合,並使用它來搜索集合中每個用戶給定單詞的出現次數。我正在使用這個過程作爲我的項目中的一小部分。我需要一種方法來以更快更正確的方式找出給定單詞的出現次數,因爲我可以在迭代中使用它。我需要關於任何API的建議,我可以使用或以更快的方式執行任務的其他方式。任何建議表示讚賞。Java-從巨大的文本文件中計數單詞的發生率
3
A
回答
3
這種事情通常使用Lucene來實現,特別是如果您打算重複重新啓動應用程序或者您沒有足夠的內存。 Lucene也支持lots of other goodies。
但是,如果你想「推出自己的」代碼,你有足夠的內存(可能是1GB),您的應用程序可以:
- 解析該文件爲單詞的順序,
- 過濾掉停止詞,
- 建立一個「反向索引」作爲
HashMap<String, List<Integer>>
,其中String
值是唯一字,而List<Integer>
對象給出文件中出現字的偏移量。
可能需要幾秒(或幾分鐘)的時間才能處理一個很大的文件。但是,一旦創建了內存中的反向索引,您就可以快速進行搜索。 (也許亞微秒每搜索。)
+0
我想說,他甚至不需要地圖<字符串,列表
相關問題
- 1. 從Java中的文本文件中計數單詞
- 2. 如何從txt文件中計算單詞的頻率 - Java
- 3. 在Python中的文本文件中計算單詞的頻率
- 4. 閱讀巨大的文本文件Java
- 5. 在文本文件中計數單詞?
- 6. PHP從巨大的文本文件
- 7. 選擇從巨大的文本文件
- 8. 計算每個單詞在文本中發生的次數
- 9. 從文本文件中計算特定單詞 - Java
- 10. python計算大文件中的單詞
- 11. 計數採用C從文本的單詞數文件
- 12. 從巨大的文本文件中剝離文本塊
- 13. 計算文本中某個單詞的頻率數
- 14. 如何計算文本文檔中所有單詞的頻率?
- 15. 計算大文本文件中特定詞的出現次數
- 16. 在文本文件中計算一組介詞的頻率
- 17. 使用Java中的巨大文本文件
- 18. 過濾從巨大的.csv文件中的文本,在C
- 19. 從java/android中的文本文件讀法語單詞問題
- 20. 搜索巨大的文本文件
- 21. Python - 在文本文件中查找單詞列表的單詞頻率
- 22. 如何計算單詞在文本文件中的次數
- 23. 計算文本文件中單詞的數量
- 24. 對文本文件中的單詞進行排序和計數
- 25. 如何找到文本文件中多個單詞的計數?
- 26. 計數文件中的單詞?
- 27. 搜索文本文件中的單詞並返回其頻率
- 28. 從文件到數據庫使用java的巨大數據?
- 29. 從文本文件中讀取巨大的字符串
- 30. 從用戶輸入文本文件計數單詞
*嘆*,希望你說'awk' – 2011-02-09 07:16:00