[問題] 大量文檔找關鍵字的方法?

看板Python作者 (neil24)時間6年前 (2019/06/08 07:06), 6年前編輯推噓9(9016)
留言25則, 9人參與, 6年前最新討論串1/1
各位先進好,我有數千個TXT檔,每個檔案約3、4百MB大小,檔案內容就一行是一個句子 ,然後我手頭有10個關鍵字,我要找數千個TXT檔裡有哪些句子有提到關鍵字。 我目前作法是一個檔案一個檔案一行一行去跟關鍵字比對,有對應到的就拋出來。 因為後續還會有其他關鍵字,又要一個一個檔案去爬,太耗時間,所以想請各位先進賜個 關鍵字,有沒有可以改進效率的方法或套件可以推薦,感謝。 6/11- 後來想試試multiprocess的概念,我後來改寫的程式碼: https://github.com/ashkayle24/KeyWord_hit/blob/master/keyword_hit-test.py 不知這樣的用法對不對,cpu一直在90%以上在跑,可否有先進給個指導... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.234.198.228 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1559948780.A.D63.html

06/08 08:55, 6年前 , 1F
用numpy讀並使用嵌套,雖然不知道速度如何,不過應
06/08 08:55, 1F

06/08 08:55, 6年前 , 2F
該可以
06/08 08:55, 2F

06/08 08:55, 6年前 , 3F

06/08 08:56, 6年前 , 4F
可以用這個試試看
06/08 08:56, 4F

06/08 10:25, 6年前 , 5F
如果只是要結果,建議找現成軟體,它可能用C寫,會比您用Py
06/08 10:25, 5F

06/08 10:25, 6年前 , 6F
thon 寫快的多。
06/08 10:25, 6F

06/08 12:33, 6年前 , 7F
multi thread去找 可以參考表現非常優秀的silver sea
06/08 12:33, 7F

06/08 12:33, 6年前 , 8F
rcher
06/08 12:33, 8F

06/08 12:33, 6年前 , 9F
咦 等等 你這個需求就直接用ag就好 不用自己寫
06/08 12:33, 9F

06/08 15:11, 6年前 , 10F
謝謝各位大大給的建議,請問ag是什麼?
06/08 15:11, 10F

06/08 15:42, 6年前 , 11F
不知道Windows 的 Linux subsystem 有沒有grep
06/08 15:42, 11F

06/08 15:43, 6年前 , 12F
Linux 的 find 跟 grep 可以快速找特定檔案的關鍵字
06/08 15:43, 12F

06/08 15:45, 6年前 , 13F
有這兩個指令的話,用subprocess popen 就可以了。
06/08 15:45, 13F

06/08 15:50, 6年前 , 14F
作業系統會幫你處理好其他事,只要收結果就好。
06/08 15:50, 14F

06/08 18:10, 6年前 , 15F
ag就是silver searcher 比grep -r還要快
06/08 18:10, 15F

06/08 18:31, 6年前 , 16F
如果檔案會一直重複查詢,我會丟進資料庫,以後下quer
06/08 18:31, 16F

06/08 18:31, 6年前 , 17F
y指令查詢即可。
06/08 18:31, 17F

06/08 23:33, 6年前 , 18F
windows有winGrep
06/08 23:33, 18F

06/09 02:23, 6年前 , 19F
用 solr 或 elasticsearch吧?
06/09 02:23, 19F

06/09 06:38, 6年前 , 20F
我有搜到想用solr,但小弟程式新手,目前搜到的教學文都
06/09 06:38, 20F

06/09 06:38, 6年前 , 21F
看不太懂,就匯檔建立索引這塊的邏輯不太能理解
06/09 06:38, 21F

06/10 11:46, 6年前 , 22F
我工作上是用grep windows的portable, 覺得堪用
06/10 11:46, 22F

06/11 09:34, 6年前 , 23F
我暫時是用multiprocess的概念去爬,一開始爬檔時間省一半
06/11 09:34, 23F

06/11 09:34, 6年前 , 24F
左右,但後續的速度越慢了,持續研究中...
06/11 09:34, 24F
※ 編輯: neil24 (49.219.131.83 臺灣), 06/11/2019 11:00:31

06/11 11:34, 6年前 , 25F
用elasticsearch吧 基本python包好好有lib
06/11 11:34, 25F
※ 編輯: neil24 (49.219.131.83 臺灣), 06/11/2019 16:04:24
文章代碼(AID): #1S-ktirZ (Python)
文章代碼(AID): #1S-ktirZ (Python)