亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

sphinx中文索引實現(xiàn)中文檢索

SoapEye / 1581人閱讀

摘要:一介紹與好處介紹本身是一個中文檢索索引技術(shù)索引主鍵唯一普通全文是俄羅斯人開發(fā)一款速度效率非常高的索引技術(shù)是來替代全文索引的本身的全文索引技術(shù)特性表現(xiàn)一般,一般數(shù)據(jù)庫使用全文索引都不是使用本身的,都需要借助第方索引技術(shù)支持,搜索引擎百

一.sphinx介紹與好處

介紹

sphinx本身是一個中文檢索索引技術(shù) mysql索引: 主鍵、唯一、普通、全文(match/agaisnt)
sphinx是俄羅斯人開發(fā)一款速度、效率非常高的索引技術(shù)sphinx是來替代mysql全文索引的
mysql本身的全文索引技術(shù)特性表現(xiàn)一般,一般數(shù)據(jù)庫使用全文索引都不是使用本身的,都需要借助第3方索引技術(shù)支持,php->mysql->sphinx> , java->oracle->lucene 搜索引擎(百度/google等)要大量使用“檢索技術(shù)”

 2:sphinx使用的好處:

① 快速檢索用戶需要的模糊信息(替代like使用) ②
本身還有中文“分詞”的實現(xiàn),英文分詞通過”空格”區(qū)分,中文分詞通過技術(shù)實現(xiàn)(例如”匹配”,使用習(xí)慣)

二.怎么使用sphinx呢??

sphinx是專業(yè)做數(shù)據(jù)檢索的一個技術(shù)用戶去sphinx做模糊查詢,查找“北京”相關(guān)的信息,sphinx把“北京西二旗”全部信息的“主鍵id”值給用戶返回之后,用戶通過“許多-主鍵id”值去數(shù)據(jù)庫 獲得相關(guān)的記錄信息,并返回信息。
查詢多個主鍵id信息,使用了in查詢

1:首先你需要下載sphinx功能包

具體是下載coreseek:中文+sphinx解壓壓縮文件到軟件的運行目錄即可,路徑不能有中文和空格                  

下載地址:http://www.coreseek.cn/news/7/52/]

2: 為數(shù)據(jù)庫數(shù)據(jù)創(chuàng)建索引文件導(dǎo)入操作的數(shù)據(jù)表數(shù)據(jù)(5萬條記錄)
// 注意:如果之前沒有選擇數(shù)據(jù)庫,那么使用use選擇數(shù)據(jù)庫使用管理員權(quán)限的cmd

mysql > use forum ;
mysql> source d:/forum.sql #確保數(shù)據(jù)導(dǎo)入成功 不然沒法建立索引

3: 做索引配置, 注意用編輯器打開,不要使用記事本sphinx.conf創(chuàng)建索引的執(zhí)行程序文件軟件目錄/bin/indexer.exe

命令:indexer.exe -c 配置文件路徑  source名稱    

4:查看索引文件

4.1 使用sphinx速度對比

安裝sphinx服務(wù)使用管理員cmd執(zhí)行以下命令
searchd.exe --install -c 配置文件路徑 參數(shù)順序一定要不能顛倒。

4.2:查看并啟動sphinx查詢服務(wù)

searchd --install -c  C:wamp64incoreseek-3.2.14-win32sphinx.conf

如果安裝服務(wù)之后,不能夠正常啟動服務(wù),可能就是安裝的時候,參數(shù)順序不對。卸載重裝
searchd.exe --delete刪除服務(wù)

第三步:php出場了 如何使用php搞定sphinx呢??so easy

php連接sphinx,需要引入api文件,進(jìn)行內(nèi)容模糊檢索查詢:
原理:php傳入關(guān)鍵字給sphinx,sphinx根據(jù)自身算法找到數(shù)據(jù)的主鍵id,mysql根據(jù)id去查詢數(shù)據(jù) 前提是主鍵必須存在哦!

代碼示例:

  /**
     * 連接sphinx服務(wù) 進(jìn)行查詢  
     * @param $key 搜索的關(guān)鍵字
     * @return bool|mixed
     */
    public function linkSphinx($key)
    {
        //實列化
        $cl = new SphinxClient ();
        $cl->SetServer("127.0.0.1", 9312); //連接sphinx服務(wù)
        $cl->SetConnectTimeout(3); //超時時間
        $cl->SetArrayResult(true);  //以數(shù)組形式返回獲得的結(jié)果
        $cl->SetMatchMode(SPH_MATCH_ANY);  //分詞,收集分詞任何部分檢索的結(jié)果
        $cl->setLimits(0, 12); //限制獲取記錄條數(shù)
        //(前12個記錄信息)
        //索引源名稱
        $index_name = "dizhi";
        //$res = $cl->Query ( "被檢索的關(guān)鍵字", "索引名稱" );
        $res = $cl->Query($key, $index_name);
        return $res;
    } 

① 通過兩個字段查找
② 有分詞查找體現(xiàn)
獲取到maths的下標(biāo) 取到id 根據(jù)主鍵id去查詢數(shù)據(jù)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/22423.html

相關(guān)文章

  • Centos 編譯安裝sphinx-0.9.9全文檢索

    摘要:簡介是開源的搜索引擎,它支持英文的全文檢索。但是往往我們要求的是中文索引,怎么做呢國人提供了一個可供企業(yè)使用的,基于的中文全文檢索引擎。 Sphinx 簡介 Sphinx是開源的搜索引擎,它支持英文的全文檢索。所以如果單獨搭建Sphinx,你就已經(jīng)可以使用全文索引了。但是往往我們要求的是中文索引,怎么做呢?國人提供了一個可供企業(yè)使用的,基于Sphinx的中文全文檢索引擎。也就是說Cor...

    LeoHsiun 評論0 收藏0
  • Centos 編譯安裝sphinx-0.9.9全文檢索

    摘要:簡介是開源的搜索引擎,它支持英文的全文檢索。但是往往我們要求的是中文索引,怎么做呢國人提供了一個可供企業(yè)使用的,基于的中文全文檢索引擎。 Sphinx 簡介 Sphinx是開源的搜索引擎,它支持英文的全文檢索。所以如果單獨搭建Sphinx,你就已經(jīng)可以使用全文索引了。但是往往我們要求的是中文索引,怎么做呢?國人提供了一個可供企業(yè)使用的,基于Sphinx的中文全文檢索引擎。也就是說Cor...

    馬龍駒 評論0 收藏0
  • Centos 編譯安裝sphinx-0.9.9全文檢索

    摘要:簡介是開源的搜索引擎,它支持英文的全文檢索。但是往往我們要求的是中文索引,怎么做呢國人提供了一個可供企業(yè)使用的,基于的中文全文檢索引擎。 Sphinx 簡介 Sphinx是開源的搜索引擎,它支持英文的全文檢索。所以如果單獨搭建Sphinx,你就已經(jīng)可以使用全文索引了。但是往往我們要求的是中文索引,怎么做呢?國人提供了一個可供企業(yè)使用的,基于Sphinx的中文全文檢索引擎。也就是說Cor...

    fjcgreat 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<