xunsearch php实例,xunsearch的索引导入及php应用例子
1.启动xunsearch
/usr/local/xunsearch/bin/xs-ctl.sh start
2.创建项目配置
project.name = blog
server.index = 8383
server.search = 8384
[aid]
type = id
[title]
type = title
[content]
type = body
配置的几点说明:
(1).配置内容存放在 /xunsearch/sdk/php/app/blog.ini中
(2).配置的项目名为blog
(3).aid字段是主键、title字段是我的文章标题、content字段是我的文章内容,字段数可多可少,但必须要有个主键字段
3.建立索引,这部分是用xunsearch自带的工具为原有的数据创建索引,如果原来没有数据,创建索引也没多少意义
执行创建索引命令格式:
util/Indexer.php --rebuild --source=mysql://你的数据库用户名:你的数据库密码@你的数据库IP/你的数据库名 --sql="你要执行的SQL语句" --filter=debug --project=你的项目名 >日志文件名
切换到sdk目录
cd /usr/local/xunsearch/sdk/php
我们来为我们的例子创建索引
util/Indexer.php --rebuild --source=mysql://root:123456@127.0.0.1/blog --sql="SELECT aid,title,content FROM article" --filter=debug --project=blog >log.txt
说明:我是在本机装的,用的是root用户,密码123456,blog数据库,article数据表,日志写到当前目录/usr/local/xunsearch/sdk/php下的log.txt文件内
4.测试搜索
数据库blog中的article表已经有3条数据
HTML的搜索代码:
搜索
全文搜索在php程序中应用
输入搜索的关键词:
search.php代码
/**
* Created by me
* User: 09
* Date: 2017/8/29
* Time: 16:23
*/
#引入接口文件
require '/usr/local/xunsearch/sdk/php/lib/XS.php'; // 引入 xunsearch sdk
if($_POST['keyword'] != ''){
$keyword = trim($_POST['keyword']); // 接收关键词
$xs = new XS('blog'); // blog为项目名称,配置文件是:$sdk/app/blog.ini
$search = $xs->search; // 获取搜索对象
$search->setQuery($keyword); // 加入搜索关键词
$docs = $search->search(); // 搜索
var_dump($docs);
echo "
标题 |
---|
foreach ($docs as $doc) {
$subject = $search->highlight($doc->title); // 高亮处理标题
echo "
".$subject."";
}
echo "
";
}
遇到的问题:
1.第一步启动xunsearch一定要做
2.cd 到/usr/local/xunsearch/sdk/php 就可以了,如果长度到/usr/local/xunsearch/sdk/php/util 目录,直接使用Indexer.php --rebuild --source=mysql....... 会出现 Indexer.php: command not found
3.注意建立索引的命令格式和写法,我这里使用localhost会出现 PHP Warning: mysqli::__construct(): (HY000/2002): No such file or directory in /data/tool/sdk/php/util/XSDataSource.class.php on line 627 ,所以改成127.0.0.1或你的服务器IP
xunsearch php实例,xunsearch的索引导入及php应用例子相关推荐
- xunsearch php实例,xunsearch系列(二)使用篇
一.项目配置文件 基本说明: 1.项目配置是一个项目的核心灵魂,非常重要,通常保存为.ini文件,通常存储在/usr/local/xunsearch/sdk/php/app 2.以分号开头的行表示注释 ...
- xunsearch php实例,xunsearch系列(一)安装篇
先来了解一下什么是全文检索(全文搜索)? 全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查 ...
- 实例对象的索引的方法
class person(object):# def __run(self):# print("runing")def __init__(self,name,age):# self ...
- linux mysql多实例启动_Mysql实例Linux下启动多个mysql服务器例子
<Mysql实例Linux下启动多个mysql服务器例子>要点: 本文介绍了Mysql实例Linux下启动多个mysql服务器例子,希望对您有用.如果有疑问,可以联系我们. MYSQL教程 ...
- xunsearch php实例,初探xunsearch
xunsearch是什么? 开源免费.高性能.多功能.简单易用的专业全文检索技术方案 点击官网,了解更多 安装与测试 安装指南 当你看到 Installation completed successf ...
- xunsearch: 开启后台服务,索引……随笔记录
重启后台服务: cd $prefix ; bin/xs-ctl.sh restart 索引: # 导入 MySQL 数据库的 dbname.tbl_post 表到 demo 项目中,并且平滑重建 ut ...
- xunsearch mysql_tp5整合xunsearch全文检索
应用场景:大量数据的模糊搜索,数据统计分析等场景,xunsearch的索引中只维护id和检索字段,例如id和content,可以保证索引的简单易维护性和命中速度,同时可以根据id字段配合mysql精确 ...
- 3.5 实例讲解Lucene索引的结构设计
3.2节我们已经运行了一个Lucene建立索引的小程序,这一节我们就以这个小程序为例讲解一下Lucene建立索引的过程. 1 import java.nio.charset.StandardChars ...
- elasticsearch亿级数据量全量索引导入优化方案
Hbase scan读取时候,调大 hbase.client.scanner.timeout.period 超时时间,不然可能会跑异常 org.apache.hadoop.hbase.UnknownS ...
最新文章
- Ubuntu下通过CMake文件编译CUDA+OpenCV代码操作步骤
- 成为软件架构师的4个过程
- 10款jQuery/CSS3动画应用 超有用
- android输入法中的imeoption
- java里的多线程同步机制
- Pytorch —— 损失函数(二)
- sql join on和不用join区别_图解 SQL 各种 JOIN,太有用了!
- ubuntu16.04安装python3.6-dev超时_vitrualBox+ubuntu16.04安装python3.6最新教程及详细步骤...
- 【CNN】CNN是不是一种局部self-attention?
- Cisdem PDF Password Remover for mac(PDF文件解密工具)
- Windows Server 2012安装vc++组件失败
- php 生成vbs文件路径,vbs下一些取特殊路径的方法总结
- 关于Revit API修改元素参数的问题?
- Java实现简易文本编辑器
- java 网页 录音_Java+FlashWavRecorder实现网页录音并上传【新】
- 百度贴吧个人主页_回望人人网/新浪博客/百度贴吧时
- java之Collection
- Hero image网站转化这么高?21个最佳案例给你参考
- 阿里云服务器ftp连接后21端口无法使用的问题
- GD32450i-EVAL学习笔记 1 - 准备工作