sphinx中文索引實現中文檢索

2021-09-17 03:00:52 字數 1813 閱讀 4492

介紹

2:sphinx使用的好處:
① 快速檢索使用者需要的模糊資訊(替代like使用) ②

本身還有中文「分詞」的實現,英文分詞通過」空格」區分,中文分詞通過技術實現(例如」匹配」,使用習慣)

sphinx是專業做資料檢索的乙個技術使用者去sphinx做模糊查詢,查詢「北京」相關的資訊,sphinx把「北京西二旗」全部資訊的「主鍵id」值給使用者返回之後,使用者通過「許多-主鍵id」值去資料庫 獲得相關的記錄資訊,並返回資訊。

查詢多個主鍵id資訊,使用了in查詢

2: 為資料庫資料建立索引檔案匯入操作的資料表資料(5萬條記錄)

// 注意:如果之前沒有選擇資料庫,那麼使用use選擇資料庫使用管理員許可權的cmd

mysql > use forum ;

mysql> source d:/forum.sql #確保資料匯入成功 不然沒法建立索引

3: 做索引配置, 注意用編輯器開啟,不要使用記事本sphinx.conf建立索引的執行程式檔案軟體目錄/bin/indexer.exe

命令:indexer.exe -c 配置檔案路徑  source名稱

4:檢視索引檔案

4.1 使用sphinx速度對比

安裝sphinx服務使用管理員cmd執行以下命令

searchd.exe --install -c 配置檔案路徑 引數順序一定要不能顛倒。

4.2:檢視並啟動sphinx查詢服務

searchd --install -c  c:\wamp64\bin\coreseek-3.2.14-win32\sphinx.conf
如果安裝服務之後,不能夠正常啟動服務,可能就是安裝的時候,引數順序不對。解除安裝重灌

searchd.exe --delete刪除服務

php連線sphinx,需要引入api檔案,進行內容模糊檢索查詢:

原理:php傳入關鍵字給sphinx,sphinx根據自身演算法找到資料的主鍵id,mysql根據id去查詢資料 前提是主鍵必須存在哦!

**示例:

/**

* 連線sphinx服務 進行查詢

* @param $key 搜尋的關鍵字

* @return bool|mixed

*/public function linksphinx($key)

① 通過兩個字段查詢

② 有分詞查詢體現

獲取到maths的下標 取到id 根據主鍵id去查詢資料

搭建sphinx中文檢索引擎

前一段在研究sphinx,檢索功能很強大,用的ubuntu,coreseek中文檢索 用root賬戶登入 1 ubuntu9.10需安裝軟體 apt get install gcc g automake libtool mysql client libmysqlclient15 dev libxml...

Sphinx2 1 9安裝及中文索引配置

sphinx最新release版本為2.1.9,該版本對於中文文字的索引支援已經很好,安裝使用也很方便。不過該官方文件未提及如何處理中文索引的問題,預設配置在建立中文索引結果時是不完整的。sql query pre set names utf8 morphology none 這個單詞語態選項對中文...

sphinx搜尋引擎中文分詞匹配規則說明

sphinx中文分詞的檢索規則是以最大匹配來提取的,這無凝會使被最大匹配所包含的其它分詞不會被sphinx提取。例如 假設分詞庫中有 裝置 通用 通用裝置 通 用 設 備 等漢字及片語,以下規則成立 1.如果被檢索的索引中存在有 通用裝置 和 通用 裝置 的文件 doc 這時用 通用裝置 這個詞搜尋...