成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

SoapEye / 1542人閱讀

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

一.sphinx介紹與好處

介紹

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

 2:sphinx使用的好處:

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

二.怎么使用sphinx呢??

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

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

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

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

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

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

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

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

4:查看索引文件

4.1 使用sphinx速度對(duì)比

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

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

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

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

第三步:php出場(chǎng)了 如何使用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)
    {
        //實(shí)列化
        $cl = new SphinxClient ();
        $cl->SetServer("127.0.0.1", 9312); //連接sphinx服務(wù)
        $cl->SetConnectTimeout(3); //超時(shí)時(shí)間
        $cl->SetArrayResult(true);  //以數(shù)組形式返回獲得的結(jié)果
        $cl->SetMatchMode(SPH_MATCH_ANY);  //分詞,收集分詞任何部分檢索的結(jié)果
        $cl->setLimits(0, 12); //限制獲取記錄條數(shù)
        //(前12個(gè)記錄信息)
        //索引源名稱
        $index_name = "dizhi";
        //$res = $cl->Query ( "被檢索的關(guān)鍵字", "索引名稱" );
        $res = $cl->Query($key, $index_name);
        return $res;
    } 

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/22423.html

相關(guān)文章

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

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

    LeoHsiun 評(píng)論0 收藏0
  • Centos 編譯安裝sphinx-0.9.9全文檢索

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

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

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

    fjcgreat 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<