xunsearch在Windows下開發

xunsearch在Linux下安裝和使用還是比較順利的,但是要在Windows下開發的話還是廢了一番波折。
1、下載xunsearch安裝包,進行安裝;
我是在本機上的虛擬機上安裝的xunsearch服務器,系統是centos,安裝後的目錄如下:

2、將SDK部署到Windows環境下;
xunsearch分爲兩個部分,一個是xunsearch服務器,一個是其SDK,也就是上圖中的sdk目錄,在我們用Windows開發時,
我們需要將SDK融合到我們的項目中,就是相當於第三方類庫的形式;我之前以爲是直接使用不需要部署到項目中,搞了很久都不行。
我使用的thinkPHP做的框架,因此,要放到ThinkPHP/ Library/Vendor下,如圖:

3、編寫配置文件;
這步很重要,配置文件編寫的規範請參考xunsearch開發手冊。我這裏說兩點:
1、配置文件中項目名稱必須是小寫,因此我們項目名要求小寫;
2、配置文件中服務器地址的編寫,如果開發環境和服務器不是在一臺機器上,就需要寫上服務器的IP地址,然後寫上端口;
如下:

4、建立索引;
注意在Windows下的SDK在Linux服務器中也要一模一樣,也就是說我們在Windows下的配置文件需要複製一份到Linux下;
同時需要打開服務器的8383和8384端口,
然後設置xunsearch服務器監聽索引的IP的訪問,因爲默認安裝的時候只監聽本機的訪問;
最後導入數據建立索引;




執行完上面的兩步後,我們檢查下是否成功了執行nestat -antp命令;看到端口號前面是0.0.0.0,如果是127.0.0.1的話就重新執行上面的-b的那個命令,
如果你執行了還是127.0.0.1,那麼重啓下,我也遇到過這樣的,重啓就好了,不要問我爲什麼,我也不懂。
最後來導入數據建立索引,順便刷新了下索引:

5、在Windows下的項目中測試;
因爲我使用的是ThinkPHP框架因此在代碼中寫的是如下:

結果:

6、遇到的一些問題;
1、目標計算機積極拒絕;
這個先看下是否打開了xunsearch服務,然後看是否監聽了所有IP地址;
如果你是在Windows下開發,可以在CMD中輸入telnet XXX.XXX.XXX.XXX 8383來測試下能否訪問;
2、miss type id
這個是項目名不對,你看下你的配置文件的項目名是否正確,記住要小寫;
3、在php中調用XS的時候找不到類;
這個確實折騰我好久,由於我不是搞php的,最先使用的時候也不是在thinkPHP下用,
解決辦法,require XS.php這個文件的目錄寫正確;
然後在new的時候,寫配置的ini文件的地址寫完整;可以參考下面這個哥們寫的;
在框架下開發的話,用框架使用第三方類庫的使用方式就行了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章