前言
搜索引擎、文本识别这一块自己虽然没有接触过,只有接触过使用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 项。
可以正常使用了。
二、进一步学习
因为时间太晚了,以后有时间会对原理的学习。。。