php全文搜索引擎xunsearch的搭建
更新:HHH   时间:2023-1-7


    1.运行下面指令下载、解压安装包

wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2
tar -xjf xunsearch-full-latest.tar.bz2

    2.执行安装脚本,根据提示进行操作,主要是输入 xunsearch 软件包的安装目录,强烈建议单独 规划一个目录,而不是混到别的软件目录中。

cd xunsearch-full-1.3.0/
sh setup.sh

第一次安装的话,过程可能会稍显漫长,请不必着急,您大可泡杯茶一边喝一边等待即可。

    执行该步骤时,有可能会出现如下两种错误信息:

    ERROR: failed to configure xapian-core-scws, see 'setup.log' for more detail

    ERROR: failed to configure scws, see 'setup.log' for more detail

    解决办法:1.安装g++:yum install gcc-c++

              2.安装zlib模块:yum install zlib-devel

3.待命令运行结束后,如果没有出错中断,则表示顺利安装完成,然后就可以启动/重新启动 xunsearch 的后台服务,下面命令中的 $prefix 请务必替换为您的安装目录,而不是照抄。

cd $prefix ; bin/xs-ctl.sh restart

强烈建议您将此命令添加到开机启动脚本中,以便每次服务器重启后能自动启动搜索服务程序, 在 Linux 系统中您可以将脚本指令写进 /etc/rc.local 即可。

执行该步骤时,在第一次执行restart时会执行不成功,那么请用相同的命令重试一下


4.此时的xunsearch服务已经安装并启动完成了,接下来是数据的导入

4.1首先编辑sdk中app/demo.ini文件的配置,参考官网手册:http://www.xunsearch.com/doc/php/guide/ini.first


[id] type=id             [name] type=title          [name] type=body        (括号内的key为数据库中或csv数据中的key值)



4.2将数据导入。导入数据有多种方式,一个是通过mysql连接导入数据(util目录在sdk里面):util/Indexer.php --source=mysql://root:密码(没有则为空)@127.0.0.1/blog/blog --clean demo 另一种方式是通过csv导入数据:util/Indexer.php --source=csv --file=./tages.csv --clean demo



5.命令行中体验效果:util/Quest.php demo "成龙"



6.php代码实现全文搜索:

<?php
class Aj_Mblog_SearchController extends AbstractController {
    public function indexAction(){
        require '/usr/local/xunsearch/sdk/php/lib/XS.php';
        $xs = new XS('demo');
        $search = $xs->search; // 搜索对象来自 XS 的属性
        $query = '测试'; // 这里的搜索语句很简单,就一个短语
        $search->setQuery($query); // 设置搜索语句
        $docs = $search->search(); // 执行搜索,将搜索结果文档保存在 $docs 数组中
        $count = $search->count(); // 获取搜索结果的匹配总数估算值

        $res = $docs[0];
        echo $res->id;die;
        var_dump($docs[0]);die;
        print_r($docs);

        echo $count;

    }
}
?>


更过xunsearch教程见:http://www.xunsearch.com/



返回web开发教程...