安裝迅搜(xunsearch)

2019-08-14 13:59 更新

Xunsearch PHP-SDK 是與 xunsearch 后端服務(wù)協(xié)同工作的,所以后先必須先在您的服務(wù)器 上安裝服務(wù)端,服務(wù)器操作系統(tǒng)要求必須是 Linux、BSD 或其它類 UNIX 系統(tǒng),同時(shí)安裝了 gcc、make 等基礎(chǔ)編譯環(huán)境。

1. 安裝、升級 Xunsearch

Tip: 即便您之前已經(jīng)安裝過 xunsearch,您也可以安裝放心的使用該教程進(jìn)行覆蓋安裝,會自動 完成升級操作,而不用擔(dān)心會刪除任何已存在的數(shù)據(jù)。我們制作的安裝腳本包含了智能檢測功能。

此外 xunsearch 的安裝和運(yùn)行都不需要 root 權(quán)限,強(qiáng)烈推薦單獨(dú)設(shè)置一個(gè)系統(tǒng)用戶用于安裝 執(zhí)行相關(guān)指令。

Xunsearch 全部開源,理論上也可以從官方提供的 git 倉庫 獲取源碼自行構(gòu)建,但是 這要求必須有較多的技術(shù)基礎(chǔ),在此不打算贅述,有這方面需求的技術(shù)人員可以到論壇去交流。 為方便用戶安裝,我們提供了一個(gè)包含安裝所需求的全部組件的完整安裝包(含 xapian/libevent/scws), 您只要下載并安裝此完整安裝包即可,具體操作步驟如下:

  1. 運(yùn)行下面指令下載、解壓安裝包

    wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2
    tar -xjf xunsearch-full-latest.tar.bz2
  2. 執(zhí)行安裝腳本,根據(jù)提示進(jìn)行操作,主要是輸入 xunsearch 軟件包的安裝目錄,強(qiáng)烈建議單獨(dú) 規(guī)劃一個(gè)目錄,而不是混到別的軟件目錄中。

    cd xunsearch-full-1.3.0/
    sh setup.sh

    第一次安裝的話,過程可能會稍顯漫長,請不必著急,您大可泡杯茶一邊喝一邊等待即可。

  3. 待命令運(yùn)行結(jié)束后,如果沒有出錯(cuò)中斷,則表示順利安裝完成,然后就可以啟動/重新啟動 xunsearch 的后臺服務(wù),下面命令中的 $prefix 請務(wù)必替換為您的安裝目錄,而不是照抄。

    cd $prefix ; bin/xs-ctl.sh restart

    強(qiáng)烈建議您將此命令添加到開機(jī)啟動腳本中,以便每次服務(wù)器重啟后能自動啟動搜索服務(wù)程序, 在 Linux 系統(tǒng)中您可以將腳本指令寫進(jìn) /etc/rc.local 即可。

  4. 有必要指出的是,關(guān)于搜索項(xiàng)目的數(shù)據(jù)目錄規(guī)劃。搜索系統(tǒng)將所有數(shù)據(jù)保存在 $prefix/data 目錄中。 如果您希望數(shù)據(jù)目錄另行安排或轉(zhuǎn)移至其它分區(qū),請將 $prefix/data 作為軟鏈接指向真實(shí)目錄。

Info: 出于性能和多數(shù)需求考慮 xunsearch 服務(wù)端和 SDK API 通訊時(shí)沒有加密和驗(yàn)證處理, 并且默認(rèn)情況 xs-ctl.sh 啟動的服務(wù)程序是綁定并監(jiān)聽在 127.0.0.1 上。

如果您的 SDK 調(diào)用和 xunsearch 服務(wù)端不在同一服務(wù)器,請使用 -b inet 方式啟動腳本, 并注意借助類似 iptables 的防火墻來控制 xunsearch 的 8383/8384 兩個(gè)端口的訪問權(quán)限。 啟動腳本用法舉例如下,以下均為合法使用方式:

bin/xs-ctl.sh -b local start    // 監(jiān)聽在本地回環(huán)地址 127.0.0.1 上
bin/xs-ctl.sh -b inet start     // 監(jiān)聽在所有本地 IP 地址上
bin/xs-ctl.sh -b a.b.c.d start  // 監(jiān)聽在指定 IP 上
bin/xs-ctl.sh -b unix start     // 分別監(jiān)聽在 tmp/indexd.sock 和 tmp/searchd.sock

2. 安裝 PHP-SDK

PHP-SDK 的代碼不需要另行下載,已經(jīng)包含在 xunsearch 的安裝結(jié)果中了,在此假設(shè)您將 xunsearch 安裝在$prefix 目錄,那么 $prefix/sdk/php 即是 PHP-SDK 的代碼目錄。目錄結(jié)構(gòu)及功能邏列如下:

_
|- doc/                    離線 HTML 版相關(guān)文檔
|- app/                    用于存放搜索項(xiàng)目的 ini 文件
|- lib/XS.php              入口文件,所有搜索功能必須且只需包含此文件    
\- util/                   輔助工具程序目錄
    |- RequireCheck.php    用于檢測您的 PHP 環(huán)境是否符合運(yùn)行條件
    |- IniWizzaard.php     用于幫助您編寫 xunsearch 項(xiàng)目配置文件
    |- Quest.php           搜索測試工具
    \- Indexer.php         索引管理工具

如果您的搜索應(yīng)用程序和 xunsearch 在同一臺服務(wù)器,則無需復(fù)制任何代碼,在開發(fā)的時(shí)候直接包含 入口文件$prefix/sdk/php/lib/XS.php 即可。代碼如下:

require_once '$prefix/sdk/php/lib/XS.php';

如果您在其它服務(wù)器部署前端搜索代碼,請將 SDK 代碼整個(gè)目錄復(fù)制到相應(yīng)的服務(wù)器上,但并不要求放到 web 可訪問目錄,考慮安全性也不推薦這么做。

Note: 對于前端和后端分離的用戶來說,當(dāng) xunsearch 升級安裝后必須重新復(fù)制安裝后的 SDK 代碼 去覆蓋,否則可能造成版本不匹配導(dǎo)致錯(cuò)誤。

3. 檢測 PHP-SDK 的運(yùn)行條件

從現(xiàn)在開始的文檔及示范代碼中我們都假定您將 xunsearch 安裝在 $prefix 目錄中,而不再另行說明。

基礎(chǔ)運(yùn)行條件要求 PHP 最低版本為 5.2.0,隨著功能需求的不同可能還會用到一些其它擴(kuò)展,具體請?jiān)?命令行環(huán)境里運(yùn)行我們提供的檢測腳本。如果您的 php 可執(zhí)行文件不在默認(rèn)搜索路徑中,假設(shè)是安裝在 /path/to/bin/php請使用第二種方式運(yùn)行。運(yùn)行方式如下:

1. $prefix/sdk/php/util/RequiredCheck.php
2. /path/to/bin/php $prefix/sdk/php/util/RequiredCheck.php
3. $prefix/sdk/php/util/RequiredCheck.php -c gbk

運(yùn)行結(jié)果輸出的中文編碼默認(rèn)為 UTF-8 ,如果您使用 GBK 環(huán)境請?jiān)谶\(yùn)行命令最后加上 -c GBK 。 運(yùn)行結(jié)果會給出一個(gè)可視化的表格說明檢測結(jié)果,并在最終給出檢測結(jié)論,告訴您是否符合運(yùn)行的基礎(chǔ)要求。

至此,安裝和準(zhǔn)備工作已經(jīng)完成了,您可以開始使用 Xunsearch PHP-SDK 開發(fā)自己的搜索應(yīng)用了。

4. 完全刪除 Xunsearch

首先歡迎對 xunsearch 提出各種修改、改進(jìn)建議,我們都會認(rèn)真對待和處理。如果有一天您真的不再需要xunsearch 了,那么只要停止運(yùn)行后端服務(wù),然后完全刪除它的安裝目錄 $prefix 即可,整個(gè)軟件包 所有涉及的文件均在該目錄下。

Note: 如果您的安裝目錄沒有單獨(dú)設(shè)置,而是使用公共目錄(如:/usr/local),請勿直接刪除整個(gè)目錄。

$prefix/bin/xs-ctl.sh faststop
rm -fr $prefix

5. 從 Git 源碼倉庫安裝

Note: 在開始安裝前,無論如何請先安裝一次最新發(fā)布的完整版本,以便將所有的運(yùn)行依賴庫安裝到位。

我們的源代碼托管在 github 上。您可以直接瀏覽代碼倉庫,也可以通過以下方式之一取得源代碼:

git clone git://github.com/hightman/xunsearch.git
git clone https://github.com/hightman/xunsearch.git

如果要編譯安裝這份源代碼,您還必須在主機(jī)環(huán)境上安裝相關(guān)的 autoconf, automake 工具,然后運(yùn)行 下面指令完成準(zhǔn)備工作。

cd xunsearch/
chmod +x acprep
./acprep

在完成上述的準(zhǔn)備工作后,接下來編譯安裝 xunsearch 就和常見的開源軟件類似,假設(shè)您的安裝目錄為$prefix,然后按以下步驟操作即可:

./configure --prefix=$prefix
make
make install
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號