首頁 >後端開發 >php教程 >學習sphinx sphinx 中文 django sphinx python sphinx用法

學習sphinx sphinx 中文 django sphinx python sphinx用法

WBOY
WBOY原創
2016-07-29 08:53:521379瀏覽

在我們php開發中如何使用sphinx技術?

答:對應MySQL資料庫中的字段,就是將字段中的中文資訊拆分成多個詞語,然後對這些詞語建立索引。以後查詢的時候,先去查詢這些索引文件,再傳回這些符合條件的記錄的主鍵id,再根據主鍵id查詢MySQL資料庫,回傳記錄。

sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

什麼是sphinx? (百度百科)

注意:對於sphinx來說,單表千萬筆記錄,反應的時間都是毫秒等級的。

sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

注意:預設sphinx只支援英文和俄文

官網:

http://sphinxsearch.com/

由於Sphinx只支援以上兩種語言,所以有第三方公司為sphinx開發了中分分詞包,叫做coreseek

官網:

http://www.coreseek.cn/

sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

客戶案例:http://www.coreseek.cn/products/ft_powered/

注意兩點:

  1. sphinx是一個全文搜尋引擎,只支援俄文和英文

  2. 由於上面的原因,有專門的公司為其開發了中文分詞包,叫做coresesk。

  3. 中國有一家做的比較好的公司(海量分詞)

    http://www.hylanda.com/

    故事:http://home.hylanda.com/show_5_19.html

    sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

    實操

  4. 下載

    sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

    2. 建立一個大數據的表格(歌詞表)

    mysql > source d:/songs.sql

    檔案目錄:

    sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法指令:

    sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

    sphinx安裝-使用

    安裝

    千萬注意:sphinx的設定檔一定不能使用Windows的記事本開啟。 (BOM頭)

    sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

    API介面檔:可以用php呼叫該介面去操作sphinx伺服器端的索引檔。

    sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

  5. 修改設定檔

    sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

    索引文件

    sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

    記憶體設定:

    sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

    sphinxd配置:

    sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

  6. 建立索引

    sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

    設定檔中index後面的名稱

    sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

    建立索引後的目錄結構

    sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

    3. 實際使用

    a. 開啟sphinx的服務,可以使用幫助資訊查看如何使用

    sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

    使用:

  7. 可以單獨的讀取設定檔運行

  8. 也可以安裝成Windows的一個系統服務來運行

    sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

    啟動sphinx服務(讀取設定檔單次啟動)

    sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

    定義為系統服務後(安裝)

    sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

    使用

    1. 具體使用(sphinx流程可以見下圖)

    sphinx流程圖:

    sphinx儲存引擎:透過下面的步驟發現,發現php程式在做查詢的時候,必須先根據sphinx伺服器回傳主鍵ID,然後根據主鍵ID去查詢MySQL資料庫,最後再回傳資料庫。

    這個時候,可以這樣思考,將sphinx當作MySQL的一個儲存引擎使用,這個時候php程式就可以直接的去連接MySQL伺服器,MySQL伺服器去自身的sphinx儲存引擎裡面取得分詞後的資料。不需要連接一次sphinx伺服器了。這個儲存引擎叫做sphinxSE。

    http://blog.csdn.net/uestc_huan/article/details/6395145

    sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

  9. 簡單使用

    sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

  10. 使用

    sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

    sphinx 文档,sphinx 安装,sphinx cat,sphinx doc,sphinx 中文,django sphinx,python sphinx用法

以上就介紹了學習sphinx,包含了sphinx方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn