linux编译安装xunsearch及使用自测

本文介绍了如何在Linux环境中编译安装迅搜,并进行测试。首先确保具备LNMP环境,然后创建独立的安装目录,执行安装脚本并按提示操作。安装完成后,通过指定命令启动并检查服务。接着,演示了在Windows上通过Navicat连接MySQL,创建用于测试的表并添加数据。在Linux中配置迅搜的项目文件,设置对应数据库字段,最后执行索引重建命令,完成配置。在Windows中编写PHP代码即可实现全文搜索功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

讯搜,linux安装及测试

最近公司的项目需要全文搜索的功能,网上有人说用迅搜可以,特地研究了下。文档看了半天,愣是没看懂;看了两天才看出来点东西,然后跟着文档动手测试,有点理解了,总结一下 ,希望能帮助以后用到的同志们

安装需要的环境:我的是分布式的lnmp环境,跟网上大部分博客安装路径一样,在/usr/local里面,你得有一整套lnmp环境,mysql可以在windows访问,然后,进入

cd /usr/local
mkdir xunsearch

cd xunsearch

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

tar -xjf xunsearch-full-latest.tar.bz2

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

cd xunsearch-full-1.3.0/

sh setup.sh

启动

安装完之后,进入到安装目录执行

cd /usr/local/xunsearch

继续执行

bin/xs-ctl.sh restart

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

然后最好执行(可以忽略):


/usr/local/xunsearch/sdk/php/util/RequiredCheck.php

看一下环境是否达到最基本需求,有1-3个警告没有问题,只要没有错误就行


至此,xunsearch安装完毕,现在介绍一下该怎么用:

就像我刚刚提到过的,先在linux执行命令  mysql -uroot -p   进入mysql看一下能不能进去,如果能进去那就在windows上,使用Navicate连一下,连接成功以后(不成功自己调),在任意库里建一张表,我的测试是三个字段:id , name , content这三个,表名是xun_test, 建完表之后再content里面添加几条数据,最好是中文词语

下一步,进入到你linux安装的xunsearch文件里面,对它进行配置,我的路径是:

vim /usr/local/xunsearch/sdk/php/app/demo.ini

然后会看到



里面的id,title,intro就是要导入的数据库里某个表的字段,每个字段下面的type表示迅搜里的字段类型,有以下几种:



 对应我刚才建的表字段应该把  title 换成name ,intro 换成 content,有一点需要注意:对于你要搜索的字段类型必须给成body,不然绝对搜不到,配置完后保存退出,

然后执行这条命令:


/usr/local/php/bin/php  /usr/local/xunsearch/sdk/php/util/Indexer.php --rebuild --source=mysqli://username:pwd@127.0.0.1/dbname --sql="select id,name,content from table_name" --project=demo

这里的username就是你linux,mysql的用户名,pwd密码,dbname就是你刚刚建表的数据库然后你就可以随便找个window能访问到的目录写php代码,


    <?php  
    ini_set('display_errors' , 'On');  
    echo "<pre />";  
    #引入接口文件,其实你懂的,就是一个类  
    require '/usr/local/xunsearch/sdk/php/lib/XS.php';   //  引入 xunsearch sdk  
    $xs = new XS('/usr/local/xunsearch/sdk/php/app/demo.ini');    // demo  为项目名称,配置文件是:$sdk/app/demo.ini  
      
    $search = $xs->search;  
      
    $query = '上海'; // 这里的搜索语句很简单,就一个短语  
      
    $search->setFuzzy(); //设置模糊搜索  
    $search->setQuery($query); // 设置搜索语句  
      
    $search->setLimit( 100 );  
    $docs = $search->search(); // 执行搜索,将搜索结果文档保存在 $docs 数组中  
    var_dump($docs);  
    $count = $search->count(); // 获取搜索结果的匹配总数估算值  
    echo '<hr/>';  
    var_dump($count);  



结束语:》》看到一个笑话:你爷爷不一定是你爷爷,但你姥爷肯定是你姥爷

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值