迅搜创建数据库索引
1、Ubuntu环境下安装:
1)LNMP安装:参考https://lnmp.org/install.html
#wget -c http://mirrors.duapp.com/lnmp/lnmp1.3-full.tar.gz && tar zxf lnmp1.3-full.tar.gz && cd lnmp1.3-full && ./install.sh lnmp
mysql的root密码设置为mysql,选择mysql 5.7.11和php7.0.7安装;
安装了两个小时多,提示Install lnmp V1.3 completed! enjoy it.不容易啊!
2)下载解压:
#wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2
#tar -xjf xunsearch-full-latest.tar.bz2
3)安装:
#cd xunsearch-full-1.4.10/
#sh setup.sh
提示输入安装目录,这里设为/home/xunsearch
4)启动:
#cd /home/xunsearch
#bin/xs-ctl.sh restart
5)检测PHP-SDK运行环境:
#cd /home/xunsearch
#sdk/php/util/RequiredCheck.php
如果是GBK环境在最后加上 -c GBK,如果php不是在默认安装目录()下则切换到php安装目录下执行;
6)关闭和删除:
#cd /home/xunsearch
#bin/xs-ctl.sh faststop 关闭
#rm -rf /home/xunsearch 删除安装目录即可
2、Demo体验
1)项目配置文件:
#cd /home/xunsearch
#cat sdk/php/app/demo.ini
配置文件默认连接本地的 8383、8384端口并使用UTF-8编码,包含四个字段:pid,subject,message,chrono;
2)填充索引数据:
sdk/php/util/Indexer.php管理索引数据导入,可以导入mysql数据表、json格式以及制定分隔符的CSV文件;
下面命令设置导入数据csv格式并清空demo库内当前的索引数据
#sdk/php/util/Indexer.php --source=csv --clean demo
输入:
1,关于 xunsearch 的 DEMO 项目测试,项目测试是一个很有意思的行为!,1314336158
2,测试第二篇,这里是第二篇文章的内容,1314336160
3,项目测试第三篇,俗话说,无三不成礼,所以就有了第三篇,1314336168
回车按ctrl+D退出;
3)测试搜索:
cd /home/xunsearch
sdk/php/util/Quest.php demo 搜索内容
每个搜索后的关键词系统都会记录下来进行分析,并保存在日志中用于统计热门搜索、搜索建议、相关搜索等。
默认情况系统会每 2 小时进行一次更新日志,可使用以下指令进行强制刷新。
sdk/php/util/Indexer.php --flush-log demo
复杂搜索:#sdk/php/util/Quest.php demo subject:内容 #sdk/php/util/Quest.php demo pid:2
sdk/php/util/Quest.php demo "第三篇 OR pid:1"
日志相关的搜索:其中--suggest 是搜索建议,当用户敲入少许汉字或字母时给出相应的关键词建议(常用于搜索输入框下拉自动提示),而 --related 表示相关搜索、--hot 表示热门搜索、 --correct 表示搜索纠错。
sdk/php/util/Quest.php --hot demo
sdk/php/util/Quest.php --related demo 项目 #sdk/php/util/Quest.php --correct demo yunsearch
sdk/PHP/util/Quest.php --suggest demo 项
3、建立MySQL索引库
1)导入CSV文件到mysql
mysql -u root -p
密码:mysql
create database xunsearch;
create table csv(pid varchar(50),subject varchar(100),message varchar(200),chrono varchar(20));
把csv文件放在/home/xunsearch/data目录下
load data infile '/home/xunsearch/data/demo.csv' replace into table csv CHARACTER SET gb2312 fields terminated by ',';
2)导入mysql到索引库
按照这个格式--source=mysql://[user[:passwd]@]host/dbname[/table]
sdk/php/util/Indexer.php --source=mysql://root:mysql@localhost/xunsearch/csv --clean demo
3)搜索