我正在使用mongodb版本3.2.4。我有一個只有一個提交的集合,Html(id,ofc)。共有8.821.851個文件。每個文檔都代表大約5頁純文本的html文件,但大約有20頁帶有html標籤的頁面。如何使用mongodb從html文檔中刪除html標記
當我嘗試用於搜索包含某些文本的文檔的簡單查詢時(例如ID號是「5555888」或名稱是「John」),它不會返回任何結果,或者我必須等待很長時間時間。
我想從所有文檔中刪除html標籤以減小所有文件的大小。那麼查詢特定文檔會更快。
Mongodb中是否有解決此任務的解決方案?
一個html文件(小部分)的例子:
"<a name=\"JR_PAGE_ANCHOR_0_1\"></a>\n<table style=\"width: 595px; border-collapse: collapse; empty-cells: show\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" bgcolor=\"white\">\n<tr>\n <td style=\"width: 20px; height: 1px;\"></td>\n <td style=\"width: 40px; height: 1px;\"></td>\n <td style=\"width: 20px; height: 1px;\"></td>\n <td style=\"width: 22px; height: 1px;\"></td>\n <td style=\"width: 108px; height: 1px;\"></td>\n <td style=\"width: 88px; height: 1px;\"></td>\n <td style=\"width: 117px; height: 1px;\"></td>\n <td style=\"width: 80px; height: 1px;\"></td>\n <td style=\"width: 79px; height: 1px;\"></td>\n <td style=\"width: 1px; height: 1px;\"></td>\n <td style=\"width: 20px; height: 1px;\"></td>\n</tr>\n<tr valign=\"top\">\n <td colspan=\"11\" style=\"width: 595px; height: 20px;\"></td>\n</tr>\n<tr valign=\"top\">\n <td colspan=\"2\" style=\"width: 60px; height: 46px;\"></td>\n <td colspan=\"2\"><img src=\"/servlets/PublicReportServlet?_image_=img_0_0_9\" style=\"height: 46px\" alt=\"\"/></td>\n <td colspan=\"6\" style=\"text-align: right;\"><span style=\"font-family: Times New Roman; color: #000000; font-size: 18.0px; font-weight: bold;\">NESLUŽBENA KOPIJA</span></td>\n <td style=\"width: 20px; height: 46px;\"></td>\n</tr>\n<tr valign=\"top\">\n <td style=\"width: 20px; height: 12px;\"></td>\n <td colspan=\"9\"><span style=\"font-family: Times New Roman; color: #000000; font-size: 10.0px; font-weight: bold;\">REPUBLIKA HRVATSKA</span></td>\n <td style=\"width: 20px; height: 12px;\"></td>\n</tr>\n<tr valign=\"top\">\n <td colspan=\"11\" style=\"width: 595px; height: 4px;\"></td>\n</tr>\n<tr valign=\"top\">\n <td style=\"width: 20px; height: 12px;\"></td>\n <td colspan=\"9\"><span style=\"font-family: Times New Roman; color: #000000; font-size: 10.0px; font-weight: bold;\">Općinski sud u Novom Zagrebu</span></td>\n <td style=\"width: 20px; height: 12px;\"></td>\n</tr>\n<tr valign=\"top\">\n <td style=\"width: 20px; height: 12px;\"></td>\n <td colspan=\"9\"><span style=\"font-family: Times New Roman; color: #000000; font-size: 10.0px; font-weight: bold;\">ZEMLJIŠNOKNJIŽNI ODJEL NOVI ZAGREB</span></td>\n <td style=\"width: 20px; height: 12px;\"></td>\n</tr>\n<tr valign=\"top\">\n <td style=\"width: 20px; height: 12px;\"></td>\n <td colspan=\"4\" style=\"border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #000000; \"><span style=\"font-family: Times New Roman; color: #000000; font-size: 10.0px; font-weight: bold;\">Stanje na dan: 19.06.2016 23:05</span></td>\n <td colspan=\"5\" style=\"border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #000000; text-align: right;\"><span style=\"font-family: Times New Roman; color: #000000; font-size: 10.0px;\">Verificirani poduložak</span></td>\n <td style=\"width: 20px; height: 12px;\"></td>\n</tr>\n<tr valign=\"top\">\n <td style=\"width: 20px; height: 12px;\"></td>\n <td colspan=\"9\"></td>\n <td style=\"width: 20px; height: 12px;\"></td>\n</tr>\n<tr valign=\"top\">\n <td style=\"width: 20px; height: 12px;\"></td>\n <td colspan=\"5\"><span style=\"font-family: Times New Roman; color: #000000; font-size: 10.0px; font-weight: bold;\">Knjiga PU: ZAPRUDSKI OTOK
這些任務最好在客戶端完成。 MongoDB應該是一個笨拙的大數據存儲 - 它幾乎不做任何處理,只是存儲和檢索數據。你應該尊重這個目標,並且儘量避免強迫MongoDB做任何可以在客戶端完成的計算。 – chridam
您需要使用HTML解析器解析文檔並移除這些標籤,然後使用結果更新文檔?你使用哪種語言驅動程序? – styvane
好的。我可以使用Python或R來做到這一點? – Mislav