linux使用xunsearch外掛站內搜尋

安裝xunsearch

下載 wget http://www。xunsearch。com/download/xunsearch-full-latest。tar。bz2

解壓 tar -xjf xunsearch-full-latest。tar。bz2

安裝 cd xunsearch-full-1。4。11/

。/setup。sh

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

如果您的 SDK 呼叫和 xunsearch 服務端不在同一伺服器,請使用 -b inet 方式啟動指令碼, 並注意藉助類似 iptables或firewall-cmd 的防火牆來控制 xunsearch 的 8383/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 192。168。30。1 start)

bin/xs-ctl。sh -b unix start // 分別監聽在 tmp/indexd。sock 和 tmp/searchd。sock

配置防火牆,開啟8383埠、8384埠

firewall-cmd :

firewall-cmd ——zone-public ——add-port = 8384/tcp ——permanent

firewall-cmd ——zone-public ——add-port = 8383/tcp ——permanent

firewall-cmd ——reload ##重新載入配置生效

iptables:

-A INPUT -m state ——state NEW -m tcp -p tcp ——dport 8383 -j ACCEPT #允許8383埠透過防火牆

-A INPUT -m state ——state NEW -m tcp -p tcp ——dport 8484 -j ACCEPT #允許8384埠透過防火牆

/etc/init。d/iptables restart #重啟防火牆使配置生效

使用 netstat -anlpt 檢視埠

檢測 PHP-SDK 的執行條件

/usr/local/xunsearch/sdk/php/util/RequiredCheck。php #替換成你的安裝目錄

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

建立索引 先建立要索引的資料庫表

先在/usr/local/xunsearch/sdk/php/app配置ini檔案:

project。name = article

project。default_charset = utf-8

server。index =192。168。30。1:8383

server。search = 192。168。30。1:8384

[id]

type = id

[title]

type = title

[content]

index = self

匯入mysql資料到xunsearch裡面:/usr/local/xunsearch/sdk/php/util/Indexer。php ——rebuild ——source=mysql://yourdbuser:yourdbpass@localhost/yourdbname ——sql=“select id,title,content from article” ——project=article

下面用php搜尋,示例程式碼

$keyword = ‘php’;

$xs = new \XS(‘article’);

$search = $xs->search;

$query = $keyword; // 這裡的搜尋語句很簡單,就一個短語

$search->setQuery($query); // 設定搜尋語句

$search->addWeight(‘title’, $keyword); // 增加附加條件:提升標題中包含 ‘xunsearch’ 的記錄的權重

$search->setLimit(5, 0); // 設定返回結果最多為 5 條,並跳過前 0 條

$docs = $search->search(); // 執行搜尋,將搜尋結果文件儲存在 $docs 陣列中

$count = $search->count(); // 獲取搜尋結果的匹配總數估算值

var_dump($docs);

OK!打工告成!

linux使用xunsearch外掛站內搜尋

php-nsearch