一、安装
#获取
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:[email protected]/wendao --sql="select goods_id,goods_name,description from ecm_goods" --project=goods
测试搜索
/usr/local/xunsearch/sdk/php/util/Quest.php wendao 服装
四、开发
1,newsget.php 在浏览器上输入 XXX/newsget.php?key=关键字 搜索查看
复制代码
<?php
/*
newsget.php
usage:newsget.php?key=keyword
*/
$key=trim($_GET['key']);
require 'php/lib/XS.php';
try
{
$xs = new XS('news'); //实例化XS对象
$search=$xs->search; //获取XSSearch搜索对象,了解跟多,点此到官网查看
$docs=$search->search($key); //通过XSsearch获取XSDocment文档对象
foreach ($docs as $doc) //循环获取文档内容,获取更多XSDocument文档内容,点此到官网查看
{
echo '第'.$doc->rank().'条结果 , 匹配度[' . $doc->percent() . "%]\n<br/>";
echo 'id:'.$doc->docid().',标题:'.$doc->title.', 搜索内容:'.$doc->content . "\n<br/>"; //使用类似php __get的方式获取文档的字段内容
echo '<br/>';
}
catch (XSException $e)
{
echo $e; // 直接输出异常描述
if (defined('DEBUG')) // 如果是 DEBUG 模式,则输出堆栈情况
echo "\n" . $e->getTraceAsString() . "\n";
}
2,newsadd.php 在浏览器上输入XXX/newsadd.php?title=标题&&content=内容 添加内容到数据库和更新到索引中
复制代码
<?php
/*
newsadd.php
usage:newsadd.php?title=title&&content=content
*/
$title=trim($_GET['title']);
$content=trim($_GET['content']);
//pdo方式连接数据库,添加数据
$mysql=new PDO("mysql:localhost;dbname=test_xs",'root','123');
$mysql->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
#获取
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:[email protected]/wendao --sql="select goods_id,goods_name,description from ecm_goods" --project=goods
测试搜索
/usr/local/xunsearch/sdk/php/util/Quest.php wendao 服装
四、开发
1,newsget.php 在浏览器上输入 XXX/newsget.php?key=关键字 搜索查看
复制代码
<?php
/*
newsget.php
usage:newsget.php?key=keyword
*/
$key=trim($_GET['key']);
require 'php/lib/XS.php';
try
{
$xs = new XS('news'); //实例化XS对象
$search=$xs->search; //获取XSSearch搜索对象,了解跟多,点此到官网查看
$docs=$search->search($key); //通过XSsearch获取XSDocment文档对象
foreach ($docs as $doc) //循环获取文档内容,获取更多XSDocument文档内容,点此到官网查看
{
echo '第'.$doc->rank().'条结果 , 匹配度[' . $doc->percent() . "%]\n<br/>";
echo 'id:'.$doc->docid().',标题:'.$doc->title.', 搜索内容:'.$doc->content . "\n<br/>"; //使用类似php __get的方式获取文档的字段内容
echo '<br/>';
}
catch (XSException $e)
{
echo $e; // 直接输出异常描述
if (defined('DEBUG')) // 如果是 DEBUG 模式,则输出堆栈情况
echo "\n" . $e->getTraceAsString() . "\n";
}
2,newsadd.php 在浏览器上输入XXX/newsadd.php?title=标题&&content=内容 添加内容到数据库和更新到索引中
复制代码
<?php
/*
newsadd.php
usage:newsadd.php?title=title&&content=content
*/
$title=trim($_GET['title']);
$content=trim($_GET['content']);
//pdo方式连接数据库,添加数据
$mysql=new PDO("mysql:localhost;dbname=test_xs",'root','123');
$mysql->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