SQLite中使用全文搜尋FTS

大學霸發表於2017-04-20
SQLite中使用全文搜尋FTS

SQLite支援全文搜尋。透過全文搜尋功能,可以方便使用者快速進行查詢。在iOS中,GRDB、FMDB等SQLite框架均支援FTS技術,如FTS3、FTS4等。各個框架語法不同,但是操作方式相同。在使用的時候,都需要根據目標(記錄集或者表)建立對應的虛擬表。SQLite會讀取對應的資料,進行分詞,組成一個B樹。為了儲存B樹,會構建三個真實表。這三個表均以虛擬表的名字為字首,並分別以_content、_segments、_segdir。下面依次介紹這三個表:

字尾為_content的表儲存真實的資料內容。每條記錄都有docid和docment兩列構成。其中,docid是記錄編號。document儲存具體的內容。每個document都是一個B樹。

字尾為_segments的表儲存B樹的非根節點。每個記錄都包括blockid和block兩列。

字尾為_segdir的表只儲存B樹的根節點。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-2137678/,如需轉載,請註明出處,否則將追究法律責任。

相關文章