xunsearch完全支持dedecms

2013-01-28 00:22 来源:www.chinab4c.com 作者:dedecms专家

   xunsearch完全支持dedecms,为了增强dedecms的搜索功能,我们在进行dede的文章检索的时候,总发现dedecms搜索速度非常慢,而且对数据库消耗非常大,最要命的是 dedecms本身的搜索功能搜索的结构不靠谱,这个时候我们可以考虑使用xunsearch来搜索。以下就是让dedecms和xunsearch完全支持而写的一篇文章。

   1:安装 xunsearch

    chmod +x setup.sh,并且运行./setup.sh

   2:选择xunsearch的安装目录/usr/local/xunsearch

   3:在/usr/local/xunsearch/sdk/php/app目录建立文章相关的搜索引擎规则article.ini

   4:启动xunsearch

    出于性能和多数需求考虑 xunsearch 服务端和 SDK API 通讯时没有加密和验证处理,
所以默认情况 xs-ctl.sh 启动的服务程序是绑定并监听在 127.0.0.1 上,如果您的
SDK 调用和 xunsearch 服务端不在同一服务器,请使用 -b inet 方式启动脚本,并
注意使用类似 iptables 的防火墙来控制 xunsearch 的 8383/8384 两个端口的访问
权限。
~~~
bin/xs-ctl.sh -b local start
bin/xs-ctl.sh -b inet start
bin/xs-ctl.sh -b a.b.c.d start
bin/xs-ctl.sh -b unix start    

   5:建立索引

      /usr/local/webserver/php/bin/php  /usr/local/xunsearch/sdk/php/util/Indexer.php --rebuild --source=mysql://admin:12345678@192.168.1.113/dedecmsv57utf8 --sql="SELECT arc.senddate,arc.id,arc.title,arc.typeid,arc.description,arc.click,arc.money,arc.filename,arc.pubdate,act.typedir,act.typename,act.isdefault,act.defaultname,act.namerule, act.namerule2,act.ispart,act.moresite,act.siteurl,act.sitepath,arc.keywords,arc.litpic  FROM dede_archives arc LEFT JOIN dede_arctype act ON arc.typeid=act.id where arc.arcrank > -1" --project=article

  6:将php的sdk放到客户端形成以下目录

   dedecms/include/xunsearch/app

  7: 编写dedecms的测试代码,搜索内容

   require_once (dirname(__FILE__) . "/include/common.inc.php");
require_once DEDEINC.'/xunsearch/lib/XS.php';
       
        //搜索开始
        $xs      = new XS('article');
        $search = $xs->search;
        $search->setCharset('UTF-8');
        $docs = $search->setQuery("title:ecshop二次开发")->setSort('click', false)->setLimit(10,0)->search();

   8:如果你连远程的时候。注意使用iptables放行8383,8384端口

    来源:http://www.chinab4c.com