1. 程式人生 > >xunsearch在windows下的使用與配置

xunsearch在windows下的使用與配置

1.安裝

注1:既然你已經選擇了xunsearch,肯定已經知道了它只能在linux上安裝使用,所以你需要有linux相關的只是儲備。
注2:在安裝之前請務必確保你的電腦上有g++與zlib這個模組,否則安裝不會成功的。

下載與解包:
我就下載到/usr/local這個目錄:
先進入目錄:cd /usr/local
目錄
執行:wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2 開始下載
wget
執行ls檢視是否下載完成:
ls
由於我之前下載過了,所以這裡有很多個安裝包,讀者請忽視。接下來解包:
執行tar -xjf xunsearch-full-latest.tar.bz2
這裡寫圖片描述


出現圖片的效果說明解壓縮成功了。再次檢視目錄:
這裡寫圖片描述
可以看到多了一個資料夾xunsearch-full-1.4.11
進入該目錄:
這裡寫圖片描述
準備開始安裝:
sh setup.sh
執行了該命令後按照提示選擇目錄,一般預設目錄是xunsearch,如果需要修改到其他目錄必須使用絕對路徑。
安裝過程中可能出現問題,常見的有以下兩種:

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 …

*checking whether g++ accepts -g… no checking dependency style of g++… none checking whether g++ is a working C++ compiler… no
configure: error:
* You need a working C++ compiler to compile Xapian, but configure failed to
* find one. If you have a working C++ compiler, you can tell configure where*

* to find it by invoking it like so:

* ./configure CXX=/opt/bin/c++

—– ERROR: failed to configure xapian-core-scws, see ‘setup.log’ for more detail

出現這種情況是因為沒有安裝g++
yum install gcc-c++
不同發行版的linux執行不同的命令下載。
第二種:

Checking scws … 1.2.3 Checking scws dict … ok Checking libuuid …
yes: /usr/local/xunsearch Checking xapian-core-scws … no Installing
xapian-core-scws (1.2.22) … Extracting xapian-core-scws package …
Configuring xapian-core-scws …
—– checking whether strerror_r is declared… yes checking for strerror_r… yes checking whether strerror_r returns char *… yes
checking whether sys_errlist is declared… yes checking whether
_sys_errlist is declared… yes checking whether sys_nerr is declared… yes checking whether _sys_nerr is declared… yes checking
for working ISO C90 conforming snprintf… snprintf checking for
zlib.h… no configure: error: zlib.h not found - required for brass,
chert and flint (you may need to install the zlib1g-dev or zlib-devel
package)
—– ERROR: failed to configure xapian-core-scws, see ‘setup.log’ for more detail

這是因為沒有安裝zlib模組:yum install zlib-devel
(不同的作業系統執行不同的命令下載)

[XSException] ../lib/XS.php(2551): Connection refused(C#111,
localhost:8383)
0 ../lib/XS.php(2363): XSServer->connect()
1 ../lib/XS.php(2348): XSServer->open(‘8383’)
2 ../lib/XS.php(370): XSServer->__construct(‘8383’, Object(XS))
3 ../lib/XS.php(262): XS->getIndex()
4 Indexer.php(157): XSComponent->__get(‘index’)
5 {main}

安裝成功後可以直接按照螢幕提示啟動,也可以到bin目錄啟動,操作如下:
啟動

2.啟動

啟動的方式有四種:

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

因為我這裡要演示的是在windows上使用xunsearch sdk所以我選擇第二種啟動方式,監聽在所有的本地的ip地址上,啟動成功後的效果如圖:
啟動
可以看下埠(8383,8384)是否開了:netstat -anpt

3.體驗demo專案

個人認為xunsearch官方文件在這一部分寫的還算是比較詳細,
體驗demo專案官方文件
我就貼幾張操作的演示圖片就行:
1
螢幕提示讓我們輸入資料,這裡官網給我們了幾條測試資料,我們直接複製貼上錄進去就行了:
這裡寫圖片描述
資料匯入成功過後可以呼叫Quest.php這個檔案進行查詢操作。
xunsearch官方文件一直被人們詬病的原因可能就是因為,它只是說了該怎麼做,並沒有說為什麼這麼做或者是結構比較散亂。
我在這裡大概的解釋一下吧:
xunsearch是一個開源的搜尋引擎解決方案,二搜尋引擎最關鍵的就是索引的建立,而我們剛剛呼叫Indexer.php就是實現了索引的建立,索引是建立為一個單獨的索引檔案的(怎麼實現的咱們不去深究,你就可以把整個Indexer.php檔案理解為一個函式,然後傳進去特定的引數他就會執行特定的動作),而Quest.php自然就是查詢功能了。

4.windows上使用xunsearch sdk

讀者想要開發自己的搜尋程式,就必須建立一個自己的配置檔案,配置檔案的配置是xunsearch的核心。
下面我將根據一個例項來講解如何配置,在這之前讀者需要先了解xunsearch的配置檔案:
demo配置檔案詳解–官方文件
這是我的一個配置檔案:
配置檔案
我的專案叫做fs,編碼為utf-8,然後由於我要在windows上使用xunsearch提供的服務,所以server.index與server.search的地址都需要填寫xunsearch所在主機的ip地址與埠(這個如果填寫錯誤就不能用),當然你如果是在一臺主機上使用直接寫localhost就行。

然後下面的id,title,resource,origin,year,type這些欄位都是我自己定製的,讀者可以根據自己的資料進行設定,具體參考官方文件,我就是根據我的資料庫定製的,並且設定了哪些欄位可以被搜尋之類的:
資料庫

配置完了,下面就給我們的專案建立索引了,建立索引之前也提到過了,但是我們是手動錄入的資料,現在我們是要從資料庫匯入資料(mysql),如果你的資料庫和xunsearch服務端在一臺機器上,
參考官方文件:

清空 demo 專案的索引資料
util/Indexer.php –clean demo

匯入 JSON 資料檔案 file.json 到 demo 專案
util/Indexer.php –source=json demo file.json

匯入 MySQL 資料庫的 dbname.tbl_post 表到 demo 專案中,並且平滑重建
util/Indexer.php –rebuild –source=mysql://root:[email protected]/dbname –sql=”SELECT * FROM tbl_post” –project=demo

檢視 demo 專案在服務端的相關資訊 util/Indexer.php –info -p demo

強制重新整理 demo 專案的搜尋日誌 util/Indexer.php –flush-log –project demo

強制停止重建 util/Indexer.php –stop-rebuild demo

如果不是在同一臺主機記得把localhost改為相應的ip地址+埠,不然不能使用。

windows上安裝xunsearch的sdk:
現在我們的工作完成一大半了,但是之前其實都是準備工作,想要在windows上使用xunsearch服務必須在windows上單獨下載它的sdk:
sdk下載
sdk下載好了過後放在你要開發的搜尋應用的目錄下,這樣你才能使用,例如我的:
目錄
然後還有最後一步,你的linux上的配置檔案,必須和windows上的配置檔案相同,例如我的:
fs
現在所有配置都完了,你就可以放心的使用xunsearch了,你問我該怎麼使用,送你一份官方文件:
xunsearch-php-sdk使用官方文件

每天進步一點點

相關推薦

LinuxNFS服務器的搭建配置

linux nfs 一.系統環境# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core)二.安裝NFS服務1、查看系統是否已安裝NFSrpm -qa | grep nfs rpm -qa | grep rpcbind2、安裝NFS

CentOS6.4Mysql數據庫的安裝配置

商業 storage 不同的 pool use 速度 man aries ora 原文連接:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 說到數據庫,我們大多想到的是關系型數據

linuxfcitx的安裝配置

size 用戶 har odi port nano 退出 cloud 保存 首先安裝fcitx pacman -S fcitx-im fcitx-config fcitx-cloudpinyin 之後進行配置 nano ~/.xprofile 寫入 exp

CentOS7安裝MySQL5.7安裝配置(YUM)

centos7下安裝mysql5.7安裝與配置(yum) CentOS7下安裝MySQL5.7安裝與配置(YUM) 安裝環境:CentOS7 64位 MINI版,安裝MySQL5.71、配置YUM源 在MySQL官網中下載YUM源rpm安裝包:http://dev.mysql.co

windows環境nginx服務器的安裝配置

使用 .html cal html 資源 ive user 成功 onf 轉載至:http://www.cnblogs.com/hxxy2003/archive/2012/09/20/2695254.html nginx服務器是一個高性能的HTTP和反向代理服務器,它以穩

windows平臺安裝配置mysql5.7

mysql windows 博主QQ:819594300博客地址:http://zpf666.blog.51cto.com/有什麽疑問的朋友可以聯系博主,博主會幫你們解答,謝謝支持!在windows上安裝mysql5.7需要具有系統的管理員權限。Windows平臺下提供兩種安裝方式:1、mysql二進

linuxLAMP安裝配置

函數 rri osi ase live ins php expose share 安裝 一. Apache 安裝 yum install -y httpd啟動 /etc/init.d/httpd start備註:Apache啟動之後會提示錯誤: 正在啟動http

VS2008安裝配置DirectShow SDK 9.0 及 DirectShow AMCap改裝的問題

靜態庫 cfa -c class 文件目錄 call ref stat and 一、 安裝DirectShow。 我裝的是DirectShow SDK 9.0b。安裝程序名為DXSDK_Jun10.exe。 下載地址:https://pan.

win7 jenkins 配置使用

錯誤 新版 一個 pan 其中 line 用戶註冊 安裝路徑 輸出 一、Jenkins的配置 1. 下載地址: Jenkins的官方網站:http://jenkins-ci.org/ 目前最新版本的Windows版:https://jenkins.io/download/t

Linux安裝Nginx配置

目錄 openssl oct pan yum安裝 usr 負載均衡 官方 err 一,安裝GCC yum安裝gcc-c ++ -y 二,安裝nginx的所需要的依賴庫 yum -y安裝zlib-devel openssl-devel pcre-devel

Linux安裝配置Nginx

下載 訪問 準備 cep ssi config configure 你會 inpu 一、準備 Nginx版本:nginx-1.7.7.tar.gz 請自行到官網下載對應的版本。 二、步驟 ?在Linux新建一個queenLove用戶 [[email prot

win10環境MinGW和MSYS的安裝配置

gcc 針對 ref org 環境變量 blog tar window 顯示 最近在看《Python高級編程》這本書,裏面講到需要安裝MinGW和MSYS。因此,也了解到MinGW是針對Windows平臺開發的編譯器,可以實現gcc編譯器的各種功能。 1.首先,

Centos6.6Postgresql9.6.6安裝配置

postgresql一、環境介紹系統平臺:CentOS release 6.6 (Final)Postgresql:postgresql-9.6.6SELINUX=disabledIptables關閉二、安裝過程1.安裝依賴包yum -y install gcc* yum -y install readlin

CentOS6.5 Nginx 的安裝配置

ffffff style 指定 this load() 應用 case 編譯 $? 昨天買了個服務器最近在配置一些基礎環境,想在訪問www.wzpbk.com:8080 不想要後面的:8080就能直接訪問到,聽說了Nginx就研究下給服務器裝上傳說中大名鼎鼎 Ng

Redis在Linux的安裝配置

conf eas etc 下載 127.0.0.1 基於內存 最新 ansi lin Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。 Redis是 NoSQL技術陣營中的一員。 說到

linuxFTP安裝配置

linux ftp pure-ftpdcd /usr/local/src/wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.42.tar.bz2 (下載pureftp源碼包)tar jxvf pure-f

linuxrsync安裝配置

linux rsync rsync (同步數據,支持增量備份)使用方法:rsync -av 192.168.31.182:/tmp/1.txt /tmp/ (將服務器192.168.31.182中tmp文件夾下的1.txt文件拷貝到本機的tmp目錄下)rsync -av /tmp/1.tx

CentOS 6.3rsync服務器的安裝配置

mini 相關 有變 監測 部分 pro 當我 將不 pkgs 一、rsync 簡介   Rsync(remote synchronize)是一個遠程數據同步工具,可通過LAN/WAN快速同步多臺主機間的文件,也可以使用 Rsync 同步本地硬盤中的不同目錄。   Rsy

CentOS7 64位MySQL5.7安裝配置

mmu html sql -o ces valid ica strong med 1、下載並安裝MySQL官方的 Yum Repository 下載安裝用的Yum Repository [root@izm5e14weg5qigotah0j80z ~]# wget -i

windowsPostgreSQL 安裝配置

this 開始 ror scripting ping 存儲 install driver 選擇 下載地址 https://www.postgresql.org/download/ Download the installer certified by Enterpris