1.安装
wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2
tar -xjf xunsearch-full-latest.tar.bz2
cd xunsearch-full-1.3.0/
sh setup.sh
xunsearch
服务端不在同一服务器,请使用 -b inet 方式启动脚本, 并注意借助类似
iptables
的防火墙来控制
xunsearch
的
8383/8384
两个端口的访问权限。 启动脚本用法举例如下,以下均为合法使用方式:
bin/xs-ctl.sh -b local start // 监听在本地回环地址 127.0.0.1 上
bin/xs-ctl.sh -b inet start // 监听在所有本地 IP 地址上
bin/xs-ctl.sh -b a.b.c.d start // 监听在指定 IP 上 我是不在同一服务器上,因此我选择这一种(bin/xs-ctl.sh -b 195.241.23.32 start)
bin/xs-ctl.sh -b unix start // 分别监听在 tmp/indexd.sock 和 tmp/searchd.sock
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8383 -j ACCEPT #允许8383端口通过防火墙
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8484 -j ACCEPT #允许8384端口通过防火墙
/user/local/xunsearch/sdk/php/util/RequiredCheck.php
建立数据表
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for news
-- ----------------------------
DROP TABLE IF EXISTS `news`;
CREATE TABLE `news` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) DEFAULT NULL,
`content` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of news
-- ----------------------------
INSERT INTO `news` VALUES ('1', '接棒王岐山5天后 赵乐际首开会说了啥', '接棒王岐山5天后,赵乐际开了十九届中央纪委常委会首次会议。次日,他又出席中央纪委监察部召开的传达学习党的十九大精神大会,表示将一刻不停歇地推进党风廉政建设和反腐败斗争。');
INSERT INTO `news` VALUES ('2', '刑法拟加\"侮辱国歌罪\":最高判3年', '国歌法实施近一月后,侮辱国歌入刑正式被提上议程。10月31日,《刑法修正案(十)(草案)》提交十二届全国人大常委会第三十次会议审议,草案拟在刑法第299条侮辱国旗、国徽罪中增加一款规定,明确侮辱国歌情节严重的,处三年以下有期徒刑、拘役、管制或者剥夺政治权利。');
INSERT INTO `news` VALUES ('3', '郎永淳离职央视后曾称需到处喝酒', '0月30日,北京市朝阳法院消息显示,央视前主持人郎永淳涉嫌危险驾驶罪一案,已获该院受理并立案,但具体开庭日期待定。');
INSERT INTO `news` VALUES ('4', '普通人的中国梦是什么?身体健康,有房有车', '我想要开豪车,我想要赚大钱!”\r\n\r\n音乐选秀节目中,年轻的嘻哈歌手青筋暴起,在舞台上吼出诸如此类的唱词,简单直白地表达着对美好生活的愿望。\r\n\r\n豪车,钞票,谁不想要呢?它们在大多数中国人眼中,是“美好生活”的必备项吗?');
配置 .ini 文件
vim /usr/local/xunsearch/sdk/php/app/news.ini
project.name = news
project.default_charset = utf-8
server.index = 127.0.0.1:8383
server.search = 127.0.0.1:8384
[id]
type = id
[title]
[content]
type = body
/usr/local/xunsearch/sdk/php/util/Indexer.php --rebuild --source=mysql://yourdbuser:yourdbpass@localhost/yourdbname --sql="select * from news" --project=news
coreseek中文全文搜索在php程序中的应用
coreseek全文搜索在php程序中应用
";
#引入接口文件,其实你懂的,就是一个类
require './lib/XS.php'; // 引入 xunsearch sdk
if(isset($_POST['sub']) && $_POST['keyword'] != ''){
$keyword = trim($_POST['keyword']); //接收关键词
$xs = new XS('news'); // demo 为项目名称,配置文件是:$sdk/app/demo.ini
//$index = $xs->index; // 获取索引对象
$search = $xs->search; // 获取搜索对象
$search->setLimit(20);
$docs = $search->setQuery( $keyword)->search(); // 搜索 ‘ 测试’
echo "
ID
标题
内容
";
foreach ($docs as $doc) {
$id = $search->highlight($doc->id); // 高亮处理I
$title = $search->highlight($doc->title); // 高亮处理标题
$content = $search->highlight($doc->content); // 高亮处理内容
echo "";
echo "".$id." ";
echo "".$title." ";
echo "".$content." ";
echo " ";
}
echo "
";
}
?>
更多操作请阅读文档 点击打开链接