前言
搜索引擎、文本识别这一块自己虽然没有接触过,只有接触过使用php站内搜索的个功能,是基于lucene实现的。而国产开源项目xunsearch则是基于c++的,自己想顺藤摸瓜学习学习。
一、下载安装
参考官网:http://www.xunsearch.com/doc/php/guide/start.installation
wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2 tar -xjf xunsearch-full-latest.tar.bz2
本来是从github上clone的一份,安装的过程报错,就参考官网又wget了一份重新安装。
➜ xunsearch-full-1.4.8 git:(master) ✗ sh setup.sh +==========================================+ | Welcome to setup xunsearch(full) | | 欢迎使用 xunsearch (完整版) 安装程序 | +------------------------------------------+ | Follow the on-screen instructions please | | 请按照屏幕上的提示操作以完成安装 | +==========================================+ Please specify the installation directory 请指定安装目录 (默认为中括号内的值) -n [/Users/lishuming/xunsearch]: Confirm the installation directory -n 请确认安装目录:/Users/lishuming/xunsearch [Y/n] -n Checking scws ... no Installing scws (1.2.3-dev) ... Extracting scws package ... Configuring scws ... Compiling & installing scws ... -n Checking scws dict ... no Extracting scws dict file ... -n Checking libuuid ... yes: /usr -n Checking xapian-core-scws ... no Installing xapian-core-scws (1.2.15) ... Extracting xapian-core-scws package ... Configuring xapian-core-scws ... Compiling & installing xapian-core-scws ... -n Checking libevent ... no Installing libevent (2.0.21-stable) ... Extracting libevent package ... Configuring libevent ... Compiling & installing libevent ... Extracting xunsearch package (1.4.8) ... Configuring xunsearch ... Compiling & installing xunsearch ... -n Cleaning ... done +=================================================+ | Installation completed successfully, Thanks you | | 安装成功,感谢选择和使用 xunsearch | +-------------------------------------------------+ | 说明和注意事项: | | 1. 开启/重新开启 xunsearch 服务程序,命令如下: | | /Users/lishuming/xunsearch/bin/xs-ctl.sh restart | 强烈建议将此命令写入服务器开机脚本中 | | | | 2. 所有的索引数据将被保存在下面这个目录中: | | /Users/lishuming/xunsearch/data | 如需要转移到其它目录,请使用软链接。 | | | | 3. 您现在就可以在我们提供的开发包(SDK)基础上 | | 开发您自己的搜索了。 | | 目前只支持 PHP 语言,参见下面文档: | | /Users/lishuming/xunsearch/sdk/php/README +=================================================+
二、php的配置使用
根据官网,直接require_once 安装目录下的sdk即可
测试如下:
➜ xunsearch cd sdk/php/util ➜ util ls Indexer.php Quest.php XSDataSource.class.php IniWizzard.php RequiredCheck.php XSUtil.class.php Logger.php SearchSkel.php skel ➜ util vi RequiredCheck.php ➜ util php RequiredCheck.php Xunsearch PHP-SDK 运行需求检查 ============================== 检查内容 -------- 本程序用于确认您的服务器配置是否能满足运行 Xunsearch PHP-SDK 的要求。 它将检查服务器所运行的 PHP 版本,查看是否安装了合适的PHP扩展模块,以及 确认 php.ini 文件是否正确设置。 +------------+------------+--------------------------+--------------------------------+ | 项目 | 结果 | 用于 | 备注 | +------------+------------+--------------------------+--------------------------------+ | PHP 版本 | 5.4.24 | XS(core) | PHP 5.2.0 或更高版本是必须的。 | | SPL 扩展 | OK | XS(core) | SPL 扩展用于自动加载和对象戏法 | | PCRE 扩展 | OK | XSDocument, XSSearch | 用于字符串切割、判断 | | 编码转换 | mbstring | XSDocument, XSSearch | 用于支持非 UTF-8 字符集 | | 缓存模块 | WARNING | XS | 用于缓存项目配置文件的解析结果 | | JSON 扩展 | OK | util.Quest, util.Indexer | 用于读取或输出 JSON 格式的数据 | | XML 扩展 | OK | util.Indexer | 用于读取导入 XML 格式的数据 | | MySQL 扩展 | mysql | util.Indexer | 用于读取导入 MySQL 的数据库 | | SQLite 扩 | sqlite3 | util.Indexer | 用于读取导入 SQLite 的数据库 | +------------+------------+--------------------------+--------------------------------+ 检查结果 -------- 共计 8 项通过,1 项警告,0 项错误。 您的服务器配置符合 Xunsearch/PHP-SDK 的最低要求。 如果您需要使用特定的功能,请关注上述的 WARNING 项。
可以正常使用了。
二、进一步学习
因为时间太晚了,以后有时间会对原理的学习。。。



