)
全文索引用於在大量文字中進行快速的檢索。在使用普通索引時,搜尋特定的關鍵字需要使用正規表示式。當文字是整本書或是整篇文章時,正規表示式的效率較低。而全文索引會建立乙個詞庫,統計每個詞條出現的頻率和位置。在搜尋某詞時,就可以快速定位到該詞出現的位置,提公升檢索效率。
sequoiadb 全文檢索能夠實現近實時的搜尋能力,即乙個新的文件從被索引到可被搜尋會有一定的延遲。延遲取決於索引的速度。主要分兩種情況:
在空集合或者只有很少量資料的集合上建立全文索引。在寫入壓力不是太大的情況下,通常在若干秒(典型值如 1~5 秒)內,新增的資料即可被搜尋到。
建立索引時,集合中已存在大量的資料。此時要全量索引集合中的所有文件,耗時從分鐘級到若干小時不等,取決於資料規模、搜尋伺服器效能等因素。如果在全量索引完成之前進行查詢,只能查到部分結果。
基本原理
sequoiadb 使用 elasticsearch 作為全文檢索引擎實現全文索引。全文索引與普通索引的最大區別在於,索引資料不是存在於資料節點的索引檔案中, 而是儲存在 elasticsearch 中。在使用該索引進行查詢的時候,會在 elasticsearch 中進行搜尋,資料節點根據其返回的結果,再到本地查詢資料。實現時涉及以下三個角色:
sequoiadb 資料節點:儲存資料
elasticsearch 集群:用於儲存全文索引資料,以及在索引中進行搜尋
介面卡 sdbseadapter:作為 sequoiadb 資料節點與 elasticsearch 互動的橋梁,進行資料轉換與傳輸等
SequoiaDB巨杉資料庫C API
此部分是 c api 相關文件。注意 version 2.10 新增收集資料統計資訊介面 新增修改介面 version 1.10 新增獲取查詢訪問計畫的介面 新增用於大物件 lob 操作的介面 version 1.8 新新增介面 version 1.6 使用 sdbnodehandle 來取代原來的...
SequoiaDB 巨杉資料庫 工具
stpstp 是 stp 提供邏輯時間的可執行程式。引數說明 引數名 縮寫 型別 說明 help h 返回 stp 的用法和幫助 version 返回 stp 的版本資訊 port p int32 1.stp 監聽埠 2.預設值為 9622 3.開啟 tcp 和 udp 協議的監聽 serverli...
SequoiaDB巨杉資料庫 分割槽
分割槽功能用於將一張表的儲存分散到多個物理位置,達到更好的併發讀寫效果。在資料量大時,速度提公升更為明顯。mysql 提供了四種分割槽的方式 range 分割槽 list 分割槽 hash 分割槽和 key 分割槽,同時還支援復合分割槽的方式。復合分割槽中,上層分割槽必須使用 range 或者 li...