本文實例講述了Yii2框架整合Xunsearch搜索引擎的方法。分享給大家供大家參考,具體如下:
公司一直用的YII2框架,然後要做一個中文搜索引擎,所有想的Xunsearch這個項目,之前有文章提到了,怎麼安裝Xunsearch服務端。(參考《PHP在innodb引擎下快速代建全文搜索功能簡明教程》)
xunsearch暫時只有Liunx的服務端和PHP-SDK。但作者確提供了一個YII2的擴展。突然感覺好幸福的說。
本來是通過使用PHP-SDK寫一個簡單的添加索引和更新索引還有刪除索引的功能,但有考慮到多項目的情況。就是一個Xunsearch可以被多個項目公用,所有配置文件放置在每一個項目的配置文件裡面,根據這個項目的配置文件來區分每一個搜索數據庫。這是我一開始的想法,但重點是不是怎麼想,而是怎麼去做。實踐才是硬道理,然後就遇到下面的這些問題。
http://www.yiiframework.com/extension/yii-xunsearch/#hh4 這裡目標鏈接,我接下來要說下安裝心得
// application components 'components => [ // ... other components ... 'xunsearch' => [ 'class' => 'hightman\xunsearch\Connection', // 此行必須,這裡不一定是這寫的,可能是hightman.xunsearch.Connection 根據實際項目出發 'iniDirectory' => '@app/config', // 搜索 ini 文件目錄,默認:@vendor/hightman/xunsearch/app 'charset' => 'utf-8', // 指定項目使用的默認編碼,默認即時 utf-8,可不指定 ], ],
然後,如果你的PHP環境是集成的安裝包,可能會遇到這麼一個問題
Unexpected character in input: '\' (ASCII=92) state=1
網上有人說是 php.ini 裡面的配置問題,說把,short_open_tag 改成 On,我第一看感覺很有道理,然後找到發現,本來就是On。
然後到http://stackoverflow.com(全世界的技術都在用的一個技術論壇,官方語言是英語)上面去找,果然找到了。知道真相的我,真的是不想多了。
因為那個YII2的擴展用到了PHP5.3才有的命名空間特效。而我的本地PHP版本是5.2.6。我表示淡定不了。折磨一天的事情,居然是因為PHP版本太低。。。
就總結到這裡。
更多關於PHP相關內容感興趣的讀者可查看本站專題:《php正則表達式用法總結》、《php curl用法總結》、《PHP數組(Array)操作技巧大全》、《php排序算法總結》、《PHP常用遍歷算法與技巧總結》、《PHP數據結構與算法教程》、《php程序設計算法總結》、《PHP數學運算技巧總結》、《PHP運算與運算符用法總結》、《php字符串(string)用法總結》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。