文檔說明

安裝

Xunsearch PHP-SDK 是與 xunsearch 后端服務協同工作的,所以后先必須先在您的服務器 上安裝服務端,服務器操作系統要求必須是 LinuxBSD 或其它類 UNIX 系統,同時安裝了 gccmake 等基礎編譯環境。

1. 安裝、升級 Xunsearch

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

此外 xunsearch 的安裝和運行都不需要 root 權限,強烈推薦單獨設置一個系統用戶用于安裝 執行相關指令。

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

  1. 運行下面指令下載、解壓安裝包

    wget http://www.ovwuhkvt.cn/download/xunsearch-full-latest.tar.bz2
    tar -xjf xunsearch-full-latest.tar.bz2
    
  2. 執行安裝腳本,根據提示進行操作,主要是輸入 xunsearch 軟件包的安裝目錄,強烈建議單獨 規劃一個目錄,而不是混到別的軟件目錄中。

    cd xunsearch-full-1.3.0/
    sh setup.sh
    

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

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

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

    強烈建議您將此命令添加到開機啟動腳本中,以便每次服務器重啟后能自動啟動搜索服務程序, 在 Linux 系統中您可以將腳本指令寫進 /etc/rc.local 即可。

  4. 有必要指出的是,關于搜索項目的數據目錄規劃。搜索系統將所有數據保存在 $prefix/data 目錄中。 如果您希望數據目錄另行安排或轉移至其它分區,請將 $prefix/data 作為軟鏈接指向真實目錄。

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

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

bin/xs-ctl.sh -b local start    // 監聽在本地回環地址 127.0.0.1 上
bin/xs-ctl.sh -b inet start     // 監聽在所有本地 IP 地址上
bin/xs-ctl.sh -b a.b.c.d start  // 監聽在指定 IP 上
bin/xs-ctl.sh -b unix start     // 分別監聽在 tmp/indexd.sock 和 tmp/searchd.sock
2. 安裝 PHP-SDK

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

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

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

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

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

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

3. 檢測 PHP-SDK 的運行條件

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

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

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

運行結果輸出的中文編碼默認為 UTF-8 ,如果您使用 GBK 環境請在運行命令最后加上 -c GBK 。 運行結果會給出一個可視化的表格說明檢測結果,并在最終給出檢測結論,告訴您是否符合運行的基礎要求。

至此,安裝和準備工作已經完成了,您可以開始使用 Xunsearch PHP-SDK 開發自己的搜索應用了。

4. 完全刪除 Xunsearch

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

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

$prefix/bin/xs-ctl.sh faststop
rm -fr $prefix
5. 從 Git 源碼倉庫安裝

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

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

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

如果要編譯安裝這份源代碼,您還必須在主機環境上安裝相關的 autoconf, automake 工具,然后運行 下面指令完成準備工作。

cd xunsearch/
chmod +x acprep
./acprep

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

./configure --prefix=$prefix
make
make install
$Id$

14條評論!

#135 報告
tanbm at 2018-09-30 11:18:18
xunsearch案例推薦

網站名稱:文虎搜索 網站地址:https://www.wenhoo.com 網站性質:文檔搜索服務 使用技術:xunsearch

#129 報告
fkenuiabcd at 2018-05-15 11:26:58
這個安裝有沒有像CMS這樣方便安裝的呀,

這個安裝有沒有像CMS這樣方便安裝的呀,

#128 報告
情人2018 at 2018-04-05 17:52:12
'aclocal-1.15' is missing on your system

安裝時scws 提示'aclocal-1.15' is missing on your system 解決方式在scws根目錄執行 :autoreconf -ivf 因為通過腳本安裝: 在setip.sh文件中 185行下面加一句 autoreconf -ivf 185: cd scws-$new_version 行后加就ok

#112 報告
xieweiaaa at 2017-09-01 11:39:18
不能啟動的,是沒安裝php

不能啟動的,是沒安裝php

#102 報告
zjairing at 2017-05-05 09:52:01
bin/xs-ctl.sh -b a.b.c.d start // 監聽在指定 IP 上

這個指的是服務器的ip 比如訊搜安裝在服務器,本地要去鏈接訊搜,這個指定IP指的是訊搜安裝的服務器ip, 不是我們本地的ip

#92 報告
xxx at 2016-10-18 10:24:24
下載完成之后解壓直接報錯。

[[email protected] ~]# tar -xjf xunsearch-full-latest.tar.bz2 tar (child): bzip2:無法 exec: 沒有那個文件或目錄 tar (child): Error is not recoverable: exiting now tar: Child returned status 2 tar: Error is not recoverable: exiting now [[email protected] ~]#

#91 報告
mercury at 2016-09-29 17:10:16
安裝正常

但是啟動不了。 提示:xs-ctl.sh:未找到命令

#90 報告
30225579 at 2016-09-24 13:17:31
非常棒!感謝作者

ubuntu 14.04下面跟著文檔一路很順利

#76 報告
犯困的世界 at 2016-06-19 18:13:19
今天才看到這個,之前都考慮用別家的,但看到這里感覺做得很好,打算先試一下

國內越來越多類擬的開源項目了,感覺真不錯,感謝項目的作者、開發人員

#51 報告
passwordlost at 2015-04-21 13:07:52
這個安裝 指南 和最新版的有區別 建議寫上版本號的指南 一個版本對應一個版本 無法調試demo

服務器操作系統要求必須是 Linux、BSD 或其它類 UNIX 系統,同時安裝了 gcc、make 等基礎編譯環境。 這個 gcc、make 等基礎編譯環境 是需要自己裝還是安裝包也帶呢?

#44 報告
yangd4 at 2014-11-03 19:38:47
太復雜了,不適合菜鳥

有一鍵安裝包最好!

#19 報告
zenberry at 2012-12-09 14:07:22
【建議】完善對Windows下SDK的設置的說明

在“2. 安裝 PHP-SDK” 對windows下SDK的使用說明很少。而且xunsearch.com整個網站上對 windows下demo.ini等配置的說明也不全面(至少我找了也找到顯式說明)。

所以這里建議xunsearch團隊把win下的配置補充一下(我舉一個針對windows的 demo.ini寫法):

;demo.ini 文件開始

project.name = demo

project.default_charset = gbk

;說明:windows的配置文件中必須顯式指定服務端linux所在IP和端口。否則SDK默認在本機(127.0.0.1)找默認端口。

;說明:(這里IP和端口請替換成linux服務端的實際IP和端口)

server.index = 192.168.1.102:8383

server.search = 192.168.1.102:8384

[aid]

type = id

[title]

type = title

[addtime]

type = date

index = self

[content]

type = body

;demo.ini 文件結束

#11 報告
bevin1984 at 2012-04-27 14:42:05
有人知道嗎?

Freebsd9.0 下安裝 xunsearch-full-1.3.1 出現以下錯誤: checking for scws_new in -lscws... no configure: error: scws_new() NOT found in libscws, please check it first.

找到解決方法了 cd $prefix/lib; ln -s libuuid.so.1.0 libuuid.so; ln -s libscws.so.2.0 libscws.so;

#6 報告
askie at 2011-10-04 23:49:17
這個目錄不正確,現在加壓出來是帶版本號的

cd xunsearch-full/ sh setup.sh

請到論壇 登錄 后刷新本頁面!

小蜜蜂网络兼职