SequoiaDB|巨杉資料庫】全文索引
阿新 • • 發佈:2021-01-13
【SequoiaDB|巨杉資料庫】全文索引
)
全文索引用於在大量文字中進行快速的檢索。在使用普通索引時,搜尋特定的關鍵字需要使用正則表示式。當文字是整本書或是整篇文章時,正則表示式的效率較低。而全文索引會建立一個詞庫,統計每個詞條出現的頻率和位置。在搜尋某詞時,就可以快速定位到該詞出現的位置,提升檢索效率。
SequoiaDB 全文檢索能夠實現近實時的搜尋能力,即一個新的文件從被索引到可被搜尋會有一定的延遲。延遲取決於索引的速度。主要分兩種情況:
在空集合或者只有很少量資料的集合上建立全文索引。在寫入壓力不是太大的情況下,通常在若干秒(典型值如 1~5 秒)內,新增的資料即可被搜尋到。
基本原理
SequoiaDB 使用 Elasticsearch 作為全文檢索引擎實現全文索引。全文索引與普通索引的最大區別在於,索引資料不是存在於資料節點的索引檔案中, 而是儲存在 Elasticsearch 中。在使用該索引進行查詢的時候,會在 Elasticsearch 中進行搜尋,資料節點根據其返回的結果,再到本地查詢資料。實現時涉及以下三個角色:
SequoiaDB 資料節點:儲存資料
Elasticsearch 叢集:用於儲存全文索引資料,以及在索引中進行搜尋