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应用例子相关推荐

  1. xunsearch php实例,xunsearch系列(二)使用篇

    一.项目配置文件 基本说明: 1.项目配置是一个项目的核心灵魂,非常重要,通常保存为.ini文件,通常存储在/usr/local/xunsearch/sdk/php/app 2.以分号开头的行表示注释 ...

  2. xunsearch php实例,xunsearch系列(一)安装篇

    先来了解一下什么是全文检索(全文搜索)? 全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查 ...

  3. 实例对象的索引的方法

    class person(object):# def __run(self):# print("runing")def __init__(self,name,age):# self ...

  4. linux mysql多实例启动_Mysql实例Linux下启动多个mysql服务器例子

    <Mysql实例Linux下启动多个mysql服务器例子>要点: 本文介绍了Mysql实例Linux下启动多个mysql服务器例子,希望对您有用.如果有疑问,可以联系我们. MYSQL教程 ...

  5. xunsearch php实例,初探xunsearch

    xunsearch是什么? 开源免费.高性能.多功能.简单易用的专业全文检索技术方案 点击官网,了解更多 安装与测试 安装指南 当你看到 Installation completed successf ...

  6. xunsearch: 开启后台服务,索引……随笔记录

    重启后台服务: cd $prefix ; bin/xs-ctl.sh restart 索引: # 导入 MySQL 数据库的 dbname.tbl_post 表到 demo 项目中,并且平滑重建 ut ...

  7. xunsearch mysql_tp5整合xunsearch全文检索

    应用场景:大量数据的模糊搜索,数据统计分析等场景,xunsearch的索引中只维护id和检索字段,例如id和content,可以保证索引的简单易维护性和命中速度,同时可以根据id字段配合mysql精确 ...

  8. 3.5 实例讲解Lucene索引的结构设计

    3.2节我们已经运行了一个Lucene建立索引的小程序,这一节我们就以这个小程序为例讲解一下Lucene建立索引的过程. 1 import java.nio.charset.StandardChars ...

  9. elasticsearch亿级数据量全量索引导入优化方案

    Hbase scan读取时候,调大 hbase.client.scanner.timeout.period 超时时间,不然可能会跑异常 org.apache.hadoop.hbase.UnknownS ...

最新文章

  1. Ubuntu下通过CMake文件编译CUDA+OpenCV代码操作步骤
  2. 成为软件架构师的4个过程
  3. 10款jQuery/CSS3动画应用 超有用
  4. android输入法中的imeoption
  5. java里的多线程同步机制
  6. Pytorch —— 损失函数(二)
  7. sql join on和不用join区别_图解 SQL 各种 JOIN,太有用了!
  8. ubuntu16.04安装python3.6-dev超时_vitrualBox+ubuntu16.04安装python3.6最新教程及详细步骤...
  9. 【CNN】CNN是不是一种局部self-attention?
  10. Cisdem PDF Password Remover for mac(PDF文件解密工具)
  11. Windows Server 2012安装vc++组件失败
  12. php 生成vbs文件路径,vbs下一些取特殊路径的方法总结
  13. 关于Revit API修改元素参数的问题?
  14. Java实现简易文本编辑器
  15. java 网页 录音_Java+FlashWavRecorder实现网页录音并上传【新】
  16. 百度贴吧个人主页_回望人人网/新浪博客/百度贴吧时
  17. java之Collection
  18. Hero image网站转化这么高?21个最佳案例给你参考
  19. 阿里云服务器ftp连接后21端口无法使用的问题
  20. GD32450i-EVAL学习笔记 1 - 准备工作

热门文章

  1. 到底什么是代码重构?
  2. 阿里提出联合预估算法JUMP:点击率和停留时长预测效果最优
  3. ajax的post请求
  4. vue + element 甘特图
  5. 心里所想,想你所想·
  6. java ee是什么_java ee与java的区别是什么
  7. memcached 穿透mysql_memcached 和 mysql 结合使用的两种实现选择?
  8. 20181212-python1119作业郭恩赐
  9. 移动互联网时代为什么必学java
  10. IDEA出现http 404类型 状态报告 描述 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。