# wendao_publish **Repository Path**: loge/wendao_publish ## Basic Information - **Project Name**: wendao_publish - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-06-25 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # wendao 问道商城 迅搜全文检索部署文档: 一、安装 #获取 wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2 #解压 tar -xjf xunsearch-full-latest.tar.bz2 #安装 cd xunsearch-full-1.4.9/ sh setup.sh 接下来提示确认安装目录,默认/usr/local/xunsearch,直接回车确认,y,一个泡面的时间安装完成。   安装完成后,启动/重启xunsearch后台服务,并建议将下面命令添加到 /etc/rc.local 开机脚本中。 /usr/local/xunsearch/bin/xs-ctl.sh start 二、检查环境 #如果php没有配置到linux环境变量 /path-to-php/bin/php /usr/local/xunsearch/sdk/php/util/RequiredCheck.php 三、配置建立索引 cd /usr/local/xunsearch/sdk/php/app mkdir goods.ini 往goods.ini写入以下内容 project.name = goods project.default_charset = utf-8 server.index = 106.75.129.183:8383 server.search = 106.75.129.183:8384 #tokenizer = default [goods_id] type = id tokenizer = full [goods_name] type = title [description] type = body 建立索引 /usr/local/xunsearch/sdk/php/util/Indexer.php --rebuild --source=mysql://root:myroot123@127.0.0.1/wendao --sql="select goods_id,goods_name,description,default_image,recommended,price,market_price,goods_amount,sale,if_show from ecm_goods" --project=goods 测试搜索 /usr/local/xunsearch/sdk/php/util/Quest.php wendao 服装 四、开发 1,newsget.php 在浏览器上输入 XXX/newsget.php?key=关键字 搜索查看 复制代码 search; //获取XSSearch搜索对象,了解跟多,点此到官网查看 $docs=$search->search($key); //通过XSsearch获取XSDocment文档对象 foreach ($docs as $doc) //循环获取文档内容,获取更多XSDocument文档内容,点此到官网查看 { echo '第'.$doc->rank().'条结果 , 匹配度[' . $doc->percent() . "%]\n
"; echo 'id:'.$doc->docid().',标题:'.$doc->title.', 搜索内容:'.$doc->content . "\n
"; //使用类似php __get的方式获取文档的字段内容 echo '
'; } catch (XSException $e) { echo $e; // 直接输出异常描述 if (defined('DEBUG')) // 如果是 DEBUG 模式,则输出堆栈情况 echo "\n" . $e->getTraceAsString() . "\n"; } 2,newsadd.php 在浏览器上输入XXX/newsadd.php?title=标题&&content=内容 添加内容到数据库和更新到索引中 复制代码 query('set names utf8'); $mysql->query('use test_xs'); $addtime=time(); $id=0; $sql="insert into news (title,content,addtime) values('$title','$content',$addtime)"; if(!$mysql->query($sql)) { die('mysql add err'); } else { $id=$mysql->lastInsertId(); } //添加数据到数据库后,导入新索引 require 'php/lib/XS.php'; try { $xs = new XS('news'); $doc = new XSDocument; //关于XSDocument文档对象及操作方式,点此到官网查看 $doc['id']=$id;  //数组方式赋值 $doc->title=$title;//对象方式赋值 $doc->setFields(array('content'=>$content,'addtime'=>$addtime));//数据方式批量赋值 if($xs->index->add($doc))//将文档添加到索引中,这里的索引更新是异步的,因此不会立即生效,xunsearch搜索系统会在合适的时间内更新,关于index对象,点此到官网查看 { echo '添加成功'; } else { echo '数据添加成功但索引失败'; } } catch (XSException $e) { echo $e; // 直接输出异常描述 if (defined('DEBUG')) // 如果是 DEBUG 模式,则输出堆栈情况 echo "\n" . $e->getTraceAsString() . "\n"; } 参考网址:https://www.cnblogs.com/GaZeon/p/5410774.html /usr/local/xunsearch/bin/xs-ctl.sh -s both restart