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

資訊專(zhuān)欄INFORMATION COLUMN

Laravel xunsearch 全文搜索

gecko23 / 1844人閱讀

摘要:開(kāi)始之前強(qiáng)烈推薦先瀏覽一下的官方文檔簡(jiǎn)介是一個(gè)高性能全功能的全文檢索解決方案。旨在幫助一般開(kāi)發(fā)者針對(duì)既有的海量數(shù)據(jù),快速而方便地建立自己的全文搜索引擎。一定要重建索引。否則不會(huì)報(bào)錯(cuò),但是搜索結(jié)果會(huì)不正確。

開(kāi)始之前強(qiáng)烈推薦先瀏覽一下 xunsearch 的官方文檔

Xunsearch簡(jiǎn)介
Xunsearch 是一個(gè)高性能、全功能的全文檢索解決方案。
Xunsearch 旨在幫助一般開(kāi)發(fā)者針對(duì)既有的海量數(shù)據(jù),快速而方便地建立自己的全文搜索引擎。

詳情點(diǎn)我

測(cè)試環(huán)境: Linux 服務(wù)器 2 臺(tái):
代號(hào) 功能 IP 系統(tǒng)
服務(wù)器A 提供web服務(wù) 192.168.56.2 centos7
服務(wù)器B 提供 xunsearch 后端服務(wù) 192.168.56.3 centos7
xunsearch 后端服務(wù)器配置:

PHP版本 7.0.13 沒(méi)有安裝緩存, 生產(chǎn)環(huán)境推薦安裝緩存

PHP 7.0.13 (cli) (built: Dec 21 2016 13:53:31) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Xdebug v2.5.0, Copyright (c) 2002-2016, by Derick Rethans

連接到服務(wù)器B 運(yùn)行下面指令安裝, 解壓 xunsearch 安裝包

wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2
tar -xjf xunsearch-full-latest.tar.bz2

執(zhí)行安裝腳本,根據(jù)提示進(jìn)行操作,主要是輸入 xunsearch 軟件包的安裝目錄,強(qiáng)烈建議多帶帶 規(guī)劃一個(gè)目錄,而不是混到別的軟件目錄中。

cd xunsearch-full-1.4.10/
sh setup.sh

之后會(huì)顯示安裝的交互界面, 然后直接按下回車(chē),安裝到默認(rèn)路徑下,
然后喝杯咖啡, 稍等一會(huì) 出現(xiàn)下面的安裝成功提示即可.

+==========================================+
| Welcome to setup xunsearch(full)         |
| 歡迎使用 xunsearch (完整版) 安裝程序       |
+------------------------------------------+
| Follow the on-screen instructions please |
| 請(qǐng)按照屏幕上的提示操作以完成安裝            |
+==========================================+

Please specify the installation directory
請(qǐng)指定安裝目錄 (默認(rèn)為中括號(hào)內(nèi)的值)
[/usr/local/xunsearch]:

Confirm the installation directory
請(qǐng)確認(rèn)安裝目錄:/usr/local/xunsearch [Y/n]Y
Checking scws ... no
Installing scws (1.2.3) ... 
Extracting scws package ...
Configuring scws ...
Compiling & installing scws ...
Checking scws dict ... no
Extracting scws dict file ... 
Checking libuuid ... no, try to install it
Extracting libuuid package ...
Configuring libuuid ...
Compiling & installing libuuid ...
Checking xapian-core-scws ... no
Installing xapian-core-scws (1.2.22) ... 
Extracting xapian-core-scws package ...
Configuring xapian-core-scws ...
Compiling & installing xapian-core-scws ...
Checking libevent ... no
Installing libevent (2.0.21-stable) ... 
Extracting libevent package ...
Configuring libevent ...
Compiling & installing libevent ...
Extracting xunsearch package (1.4.10) ...
Configuring xunsearch ...
Compiling & installing xunsearch ...
Cleaning ... done

+=================================================+
| Installation completed successfully, Thanks you |
| 安裝成功,感謝選擇和使用 xunsearch                |
+-------------------------------------------------+
| 說(shuō)明和注意事項(xiàng):                                  |
| 1. 開(kāi)啟/重新開(kāi)啟 xunsearch 服務(wù)程序,命令如下:    |
|    /usr/local/xunsearch/bin/xs-ctl.sh restart   |
|    強(qiáng)烈建議將此命令寫(xiě)入服務(wù)器開(kāi)機(jī)腳本中             |
|                                                 |
| 2. 所有的索引數(shù)據(jù)將被保存在下面這個(gè)目錄中:         |
|    /usr/local/xunsearch/data                    |
|    如需要轉(zhuǎn)移到其它目錄,請(qǐng)使用軟鏈接。             |
|                                                 |
| 3. 您現(xiàn)在就可以在我們提供的開(kāi)發(fā)包(SDK)基礎(chǔ)上       |
|    開(kāi)發(fā)您自己的搜索了。                           |
|    目前只支持 PHP 語(yǔ)言,參見(jiàn)下面文檔:             |
|    /usr/local/xunsearch/sdk/php/README          |
+=================================================+

注意: 如果是生產(chǎn)環(huán)境iptables可能需要配置得嚴(yán)格,本文僅為測(cè)試

配置一下iptables, 如果你沒(méi)有啟用那么忽略本操作

vi /etc/sysconfig/iptables

加入, 下面兩行

-A INPUT -p tcp -m state --state NEW -m tcp --dport 8383 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8384 -j ACCEPT

重啟iptables
service iptables restart

啟動(dòng)服務(wù)

/usr/local/xunsearch/bin/xs-ctl.sh -b inet start

啟動(dòng)輸出內(nèi)容:

INFO: starting server[xs-indexd] ... (BIND:8383)
INFO: starting server[xs-searchd] ... (BIND:8384)
web服務(wù)器配置

安裝xunsearch PHP SDK

cd project/root/path
composer require --prefer-dist hightman/xunsearch

創(chuàng)建項(xiàng)目配置文件, 一個(gè)項(xiàng)目對(duì)應(yīng)一個(gè)配置文件, 項(xiàng)目名稱(chēng)不能重復(fù)

cp appvendorhightmanxunsearchappdemo.ini appconfigsearch-demo.ini

修改剛剛創(chuàng)建的文件的內(nèi)容, 其中server.index 和 server.search 的IP地址是安裝了xunsearch服務(wù)的服務(wù)器IP地址

;搜索配置文件示例
project.name = demo
project.default_charset = utf-8
server.index = 192.168.56.4:8383
server.search = 192.168.56.4:8384

[pid]
type = id

[subject]
type = title

[message]
type = body

[chrono]
type = numeric

修改 app/routes/web.php 文件, 寫(xiě)入一些客戶(hù)端搜索測(cè)試代碼

###################### 測(cè)試模塊 ####################
/*
 * 全文搜索測(cè)試部分
 */
Route::get("/search/{key}", function ($key){
    $xs = new XS(config_path("search-demo.ini"));
    $search = $xs->search; // 獲取 搜索對(duì)象
    $query = $key;
    $search->setQuery($query)
        ->setSort("chrono", true) //按照chrono 正序排列
        ->setLimit(20,0) // 設(shè)置搜索語(yǔ)句, 分頁(yè), 偏移量
    ;

    $docs = $search->search(); // 執(zhí)行搜索,將搜索結(jié)果文檔保存在 $docs 數(shù)組中
    $count = $search->count(); // 獲取搜索結(jié)果的匹配總數(shù)估算值
    foreach ($docs as $doc){
        $subject = $search->highlight($doc->subject); // 高亮處理 subject 字段
        $message = $search->highlight($doc->message); // 高亮處理 message 字段
        echo $doc->rank() . ". " . $subject . " [" . $doc->percent() . "%] - ";
        echo date("Y-m-d", $doc->chrono) . "
" . $message . "
"; echo "
========
"; } echo "總數(shù):". $count; }); Route::get("/makedoc/{title}/{message}", function ($title, $message){ $xs = new XS(config_path("search-demo.ini")); $doc = new XSDocument; $doc->setFields([ "pid" => 1, "subject" => $title, "message" => $message, "chrono" => time(), ]); // 用數(shù)組進(jìn)行批量賦值 $xs->index->add($doc); });

使用瀏覽器訪問(wèn)上面兩個(gè)路由來(lái)測(cè)試功能

通過(guò)訪問(wèn): http://你的域名/makedoc/標(biāo)題/... 測(cè)試生成索引

測(cè)試?yán)?

http://你的域名/makedoc/關(guān)于 xunsearch 的 DEMO 項(xiàng)目測(cè)試/項(xiàng)目測(cè)試是一個(gè)很有意思的行為!

http://你的域名/makedoc/測(cè)試第二篇/這里是第二篇文章的內(nèi)容

http://你的域名/makedoc/項(xiàng)目測(cè)試第三篇/俗話(huà)說(shuō),無(wú)三不成禮,所以就有了第三篇

注意: 索引不是即時(shí)生效的 延遲大概在10秒左右

通過(guò)訪問(wèn): http://你的域名/search/關(guān)鍵詞 測(cè)試搜索功能
比如搜索關(guān)鍵詞 項(xiàng)目

1. 關(guān)于 xunsearch 的 DEMO 項(xiàng)目測(cè)試 [99%] - 2011-08-26
項(xiàng)目測(cè)試是一個(gè)很有意思的行為!

========
2. 項(xiàng)目測(cè)試第三篇 [100%] - 2011-08-26
俗話(huà)說(shuō),無(wú)三不成禮,所以就有了第三篇

========
總數(shù):2

通過(guò)上述步驟我們就完成了一個(gè)最簡(jiǎn)單的全文搜索例子.
如果希望了解更多詳細(xì)內(nèi)容, 請(qǐng)閱讀xunsearch的官方文檔.

注意事項(xiàng)
無(wú)論是增加索引還是改變數(shù)據(jù)結(jié)果。一定要重建索引。否則不會(huì)報(bào)錯(cuò),但是搜索結(jié)果會(huì)不正確。切記?。。。?!
比如:
util/Indexer.php --rebuild --source=mysql://root:pass@localhost/dbname --sql="SELECT * FROM tbl_post" --project=demo

參考內(nèi)容

xunsearch 官方文檔

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

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

相關(guān)文章

  • 全文搜索,迅搜(Xunsearch)使用心得

    摘要:最近公司的項(xiàng)目需要全文搜索的功能,網(wǎng)上有人說(shuō)用迅搜可以,特地研究了下。 最近公司的項(xiàng)目需要全文搜索的功能,網(wǎng)上有人說(shuō)用迅搜可以,特地研究了下。文檔看了半天,愣是沒(méi)看懂;看了兩天才看出來(lái)點(diǎn)東西,然后跟著文檔動(dòng)手測(cè)試,有點(diǎn)理解了,總結(jié)一下 ,希望能幫助以后用到的phper. 一,安裝 wget http://www.xunsearch.com/download/xunsearch-full...

    miya 評(píng)論0 收藏0
  • 全文搜索,迅搜(Xunsearch)使用心得

    摘要:最近公司的項(xiàng)目需要全文搜索的功能,網(wǎng)上有人說(shuō)用迅搜可以,特地研究了下。 最近公司的項(xiàng)目需要全文搜索的功能,網(wǎng)上有人說(shuō)用迅搜可以,特地研究了下。文檔看了半天,愣是沒(méi)看懂;看了兩天才看出來(lái)點(diǎn)東西,然后跟著文檔動(dòng)手測(cè)試,有點(diǎn)理解了,總結(jié)一下 ,希望能幫助以后用到的phper. 一,安裝 wget http://www.xunsearch.com/download/xunsearch-full...

    Leo_chen 評(píng)論0 收藏0
  • 全文搜索,迅搜(Xunsearch)使用心得

    摘要:最近公司的項(xiàng)目需要全文搜索的功能,網(wǎng)上有人說(shuō)用迅搜可以,特地研究了下。 最近公司的項(xiàng)目需要全文搜索的功能,網(wǎng)上有人說(shuō)用迅搜可以,特地研究了下。文檔看了半天,愣是沒(méi)看懂;看了兩天才看出來(lái)點(diǎn)東西,然后跟著文檔動(dòng)手測(cè)試,有點(diǎn)理解了,總結(jié)一下 ,希望能幫助以后用到的phper. 一,安裝 wget http://www.xunsearch.com/download/xunsearch-full...

    pkwenda 評(píng)論0 收藏0
  • 簡(jiǎn)單幾步搭建一個(gè)支持自定義數(shù)據(jù)的搜索引擎

    摘要:引言相信很多朋友們也想擁有一個(gè)屬于自己的,可自定義數(shù)據(jù)的搜索引擎。旨在幫助一般開(kāi)發(fā)者針對(duì)既有的海量數(shù)據(jù),快速而方便地建立自己的全文搜索引擎。引言相信很多朋友們也想擁有一個(gè)屬于自己的,可自定義數(shù)據(jù)的搜索引擎??墒蔷W(wǎng)上的教程大多集中于利用SearX實(shí)現(xiàn)聚合各個(gè)公共搜索引擎的數(shù)據(jù)源,而不是用自己爬取的數(shù)據(jù)作為數(shù)據(jù)源。 而提到了如何利用自有數(shù)據(jù)建立搜索引擎的教程大多是基于ElasticSerach,...

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

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

0條評(píng)論

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