CoreSeek學習筆記

2021-07-03 05:57:22 字數 1186 閱讀 1090

coreseek

是乙個基於sql的全文檢索引擎,那麼我們就要理解什麼是全文檢索引擎,那麼要理解全文檢索引擎,就要理解全文索引。

【是先定義乙個詞庫,然後在文章中查詢每個詞條(term)出現的頻率和位置,把這樣的頻率和位置資訊按照詞庫的順序歸納,這樣就相當於對檔案建立了乙個以詞庫為目錄的索引,這樣查詢某個詞的時候就能很快的定位到該詞出現的位置】

資料庫的全文索引就是

一種特殊的索引,它會把某個資料表的某個資料列出現過的所有單詞生成乙份清單。

簡單的說是可以對錶中的乙個字段,兩個字段設定索引,但是還是無法確定使用者會對那個字段進行檢索,所以這個時候就要使用到全文索引了。

mysql也有自己的全文索引。

coreseek的全文索引的原理就是對文件或者是資料庫中的記錄進行全文索引,然後根據索引查詢出記錄的主鍵,然後在使用這個主鍵對資料庫進行主鍵查詢。

關於coreseek

配置檔案的講解,可以去參考coreseek的手冊,這裡主要說明幾點,

1,在配置資料來源的時候,有sql_query和sql_attr_*其中sql_query就是要執行的sql語句而在sql_attr_*中寫出的字段是不參與全文檢索的,如果使用coreseek進行檢索分為兩個階段,乙個在全文索引中檢索,乙個在mysql中檢索(當然如果資料來源設定為xml或者是txt文件的話在xml中檢索),那麼在sql_attr_*中明確了的字段在第乙個階段就檢索出來了,可以數用setfilter來進行篩選

2,第二個要注意的地方就是關於檢索之後的那個結果的分析,這個很重要,檢索的結果是乙個陣列$result['matches']是查詢的結果集$result['words']是檢索時關鍵字的分詞,coreseek支援中文分詞(但是如果是一段文字的話,分詞很差)然後$result['matches']['id']是第二個階段要用的主鍵 $result['matches']['attrs']是寫在配置檔案sql_attr_*中的那些字段,在這個階段就已經被查詢出來了吧

3,這裡coreseek的任務算是完成了,但是得到的結果並不是我們要的最終結果,我們還是需要使用coreseek查詢出來的id在進行一次資料的檢索這樣才得到了我們要的資料。

coreseek是基於已經建立好的全文索引進行檢索,coreseek建立索引的速度很快,大約10m/s,但是如果建立索引之後資料庫中的資料發生了變化,那麼檢索就會出現誤差或錯誤。

下面在說就是關於coreseek的實時索引問題了……再查查資料,下次說

coreseek 安裝筆記

tar zxvf mmseg 3.1.tar.gz cd mmseg 3.1 configure prefix usr local mmseg make make install cd yum install y python python devel tar zxvf csft 3.1.tar.g...

coreseek 中文分詞 and sphinx

1,解壓coreseek 3.2.14.tar.gz 原始碼包 解壓生成三個檔案包 csft mmseq 中文分詞 testpack pdp pyson 鏈結sphinx或者使用的api檔案 tar xzf coreseek 3.2.14.tar.gz2,進入mmseg所在的資料夾,編譯安裝中文分詞...

coreseek 測試用例

準備材料 測試資料 article.sql 配置檔案 csft mysql.conf php測試程式碼 test coreseek.php 測試資料 sql create table article id int 11 not null auto increment,title varchar 25...