2011-04-26 79 views
4

我該如何處理跨iOS應用程序包中一堆html文件的全文搜索?我需要在離線狀態下提供大量網絡內容,並且我需要能夠對其全部內容進行全文搜索。我覺得將這些內容存儲在數據庫中會顯得笨重和緩慢。在iOS應用程序包文件中進行全文搜索

想法?

- 謝謝, 布蘭登

+0

使用xpathquery .. – ajay 2011-04-26 15:54:00

+0

xpath如何做全文?我發現通過谷歌唯一的xpath的東西是XML解析。 – smokingoyster 2011-04-26 18:49:02

+0

我希望它可以用於HTML解析也 – ajay 2011-04-27 05:21:24

回答

6

請記住,即使它在移動設備中,iPhone確實有相當快速的處理器。你正在做的[說舌頭]正在搜索文本。這些設備是爲視頻,音樂和圖像而打造的。

在增加對您的部分編碼量的次序,您可以:

  • 使用第三方庫(我發現只有一個是Locayta)
  • 端口非目標C搜索庫(如Lucene)
  • 將您的HTML文件存儲在數據庫中,並對任何搜索文本執行SQL搜索。如果沒有一堆額外的編碼,只有在單個搜索詞上進行精確匹配時,才能輕鬆實現。
  • 手動將每個文件加載到應用程序中,並使用NSString的rangeOfString搜索文本。隨意添加功能。
  • 構建您自己的搜索引擎,構建(至少)一個術語索引。從修改停止詞開始,如果您感覺需要,請確定是否需要文檔相關性,並可能採用向量空間算法。添加自動更正可能超出了您的應用程序的重點,但建立自己的文本搜索引擎將是一種快速(運行時)的方式,可提供多字搜索簡歷中的大項目符號。
+0

Locayta絕對是太棒了。謝謝。 – smokingoyster 2011-06-26 03:03:29

+0

有沒有人有這方面的商業許可費用? – Slappy 2012-04-17 04:08:03

+0

看起來像它的每個應用1k一次性成本.http://www.locayta.com/iOS-search-engine/locayta-search-mobile/(右下) – 2012-04-17 18:13:25