安裝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!打工告成!
php-nsearch