Ubuntu16.04下安装xunsearch+opencc实现php客户端的中文分词
1.准备服务器环境
apt-get install apache2 php mysql-server
apt-get install mysql-client phpmyadmin
apt-get install libapache2-mod-php
2.下载安装xunsearch
Xunsearch 极大程度降低的搜索开发的难度,除了常规的中文分词、字段检索、布尔语法等功能外, 还比其它免费的解决方案提供了用户急需的相关搜索、拼音搜索、结果高亮、搜索建议等等。
wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2
tar -xjf xunsearch-full-latest.tar.bz2
cd xunsearch-full-1.4.
sh setup.sh
第一次安装的话,过程可能会稍显漫长,请不必着急,您大可泡杯茶一边喝一边等待即可。
3.待命令运行结束后,如果没有出错中断,则表示顺利安装完成,然后就可以启动/重新启动 xunsearch
的后台服务
cd /usr/local/xunsearch
bin/xs-ctl.sh start
4.检查php-sdk的运行条件,运行测试命令
cd sdk/php
util/RequiredCheck.php
5.下载安装繁简转换工具opencc
OpenCC有独立的「一简对多繁」表、「一繁对多简」表和异体字表,保证没有混杂着异体字。而且可以方便地自定义地区习惯使用的异体字,兼容台湾、香港和海外地区不同的习惯。
apt-get install git
git clone https://github.com/BYVoid/OpenCC
apt-get install cmake doxygen
cd opencc-1.0.
make
make install
6.安装opencc的php扩展
git clone https://github.com/NauxLiu/opencc4php
cd opencc4php
apt-get install php-dev
phpize
./configure
make test
make install
7.配置php扩展,使扩展能被apache和terminal识别
vi /etc/php/7.0/apache2/conf.d/opencc.ini
extension=opencc.so
cp /etc/php/7.0/apache2/conf.d/opencc.ini /etc/php/7.0/cli/conf.d/
service apache2 restart
/etc/init.d/php7.-fpm restart
8.在sdk/php/lib中新建XST2SFilter.php
<?php
class XST2SFilter implements XSDataFilter{
public function process($data,$cs=false){
$od=opencc_open('t2s.json');
foreach($data as &$item){
$item=opencc_convert($item,$od);
}
opencc_close($od);
print_r($data);
return $data;
}
}
9.首先建立索引库表,然后使用索引管理器建立索引,并测试
vi app/demo.ini
project.name=demo
project.default_charset=utf-
server.index=
server.search=
[pid]
type=id
[subject]
type=title
[message]
type=body
[chrono]
type=numeric
util/Indexer.php --source=csv --clean demo --filter=lib/XST2SFilter
,关于 xunsearch 的 DEMO 项目测试,项目测试是一个很有意思的行爲!,
,測試第二篇,这里是第二篇文章的内容,
,项目测试第三篇,俗話說,无三不成礼,所以就有了第三篇,
util/Quest.php demo 测试
10.在/var/www/html中新建test.php
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=gbk" />
<title>xunsearch中文全文搜索在php程序中的应用</title>
</head>
<body>
<h3><font color="blue">xunsearch全文搜索在php程序中应用</font></h3>
<form action="test2.php" method="post">
输入搜索的关键词:<input type="text" name="keyword" size="30" value="<?php echo $_POST['keyword'];?>" />
<input type="submit" name="sub" value="搜索" />
</form>
<hr />
<?php
echo "<pre />";
#引入接口文件,其实你懂的,就是一个类
require '/usr/local/xunsearch/sdk/php/lib/XS.php'; // 引入 xunsearch sdk
if(isset($_POST['sub']) && $_POST['keyword'] != ''){
$keyword = trim($_POST['keyword']); //接收关键词
$xs = new XS('demo'); // demo 为项目名称,配置文件是:$sdk/app/demo.in i
//$index = $xs->index; // 获取索引对象
$search = $xs->search; // 获取搜索对象
$search->setLimit(20);
$docs = $search->setQuery($keyword)->search(); // 搜索 ‘ 测试’ echo "<table border='1' bordercolor='green' cellspacing='0'><tr><th>标题</th></tr>";
foreach ($docs as $doc) {
$subject = $search->highlight($doc->subject); // 高亮处理标题
echo "<tr><td>".$subject."</td></tr>";
}
echo "</table>"; // $search->setQuery($keyword);
// // 获取前 6 个和默认搜索语句 "西湖" 相关搜索词
// $words = $search->getRelatedQuery();
// print_r($words);
}
?>
php-sdk的帮助文档:http://www.xunsearch.com/doc/php/guide/
php-sdk的API文档:http://www.xunsearch.com/doc/php/api/index
Ubuntu16.04下安装xunsearch+opencc实现php客户端的中文分词的更多相关文章
- Ubuntu16.04下安装elasticsearch+kibana实现php客户端的中文分词
1.下载安装java, elasticsearch和kibana apt-get install default-jre default-jdk wget https://artifacts.elas ...
- Ubuntu16.04下安装数据库oracle客户端
在Ubuntu16.04下安装oracle数据库客户端,使Django项目连接到远程Oracle数据库. 1.下载oracle客户端安装包: 进入官网http://www.oracle.com/tec ...
- Ubuntu16.04下安装redis
Ubuntu16.04下安装redis 保证网络畅通,选定好下载工作路径,执行以下命令下载redis-3.2.6: sudo wget http://download.redis.io/release ...
- docker学习笔记(一)—— ubuntu16.04下安装docker
docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...
- ubuntu16.04下安装artoolkit5
目前对AR技术的常见理解就是CV(Computer Vision)+CG(Computer Graphic).CV的方法很多,简单些比如FREAK+ICP(ARToolKit中的NFT),复杂些就是S ...
- Ubuntu16.04下安装多版本cuda和cudnn
Ubuntu16.04下安装多版本cuda和cudnn 原文 https://blog.csdn.net/tunhuzhuang1836/article/details/79545625 前言 因为之 ...
- Ubuntu18.04下安装Sublime Text3并解决不能输入中文
Ubuntu18.04下安装Sublime Text3并解决不能输入中文! 废话不多说,直接按顺序执行下面命令开始安装! wget -qO - https://download.sublimetext ...
- Ubuntu16.04下安装Hadoop
一.记录理由 刚开始只是想要学习怎么使用Hive的.想着安装应该很简单,没想到花了整整一天的时间来安装,为了避免下次犯同样的错误,特此记录. 二.安装Hadoop 网上教你怎么安装Hadoop的文章有 ...
- Ubuntu16.04下安装texlive
Ubuntu 16.04下安装texlive的步骤如下: 1.下载texlive 打开终端输入:sudo apt-get install texlive-full #下载这一过程会持续10-20分钟 ...
随机推荐
- 原型图 ER 8.0的注册码
axuer8.0注册码Licensee:米 业成 (STUDENT)Key:nFmqBBvEqdvbiUjy8NZiyWiRSg3yO+PtZ8c9wdwxWse4WprphvSu9sohAdpNnJ ...
- 使用Pillow库 创建简单验证码
使用Pillow生成简单的验证码 本想做成字体各自按随机角度倾斜, 但没有在Pillow中找到相关的方法 import randomfrom PIL import Image, ImageDraw, ...
- RabbitMQ,为应对消息从发送到消费,各个环节消息丢失的解决方案
1.发送方 为保证消息到达exchange,在这个过程中不丢失. 用事务或者发送方确认机制 见<RabbitMQ实战指南>4.8节 2.为保证消息不会因为到达exchange后 ...
- Delphi非官方的补丁
http://git.kngstr.com/KngStr/delphi-fixes 使用方法 方法一: 1. 拷贝需要的补丁文件到你的工程目录 2. 拷贝编译的时候缺少或错误的文件到你的工程目录 优缺 ...
- JavaScript的popup框
JavaScript中可以创建三种消息框:警告框.确认框.提示框. 1.警告框 警告框经常用于确保用户可以得到某些信息. 当警告框出现后,用户需要点击确定按钮才能继续进行操作. 语法:alert(&q ...
- C# 比较和排序(IComparable和IComparer以及它们的泛型实现)
准备工作: 1.创建实体类:ClassInfo,默认想要对其按照班级学生数量进行排序 public class ClassInfo { /// <summary> /// 班级名称 // ...
- dos6章
现在开始: 在CMD使用IF /?打开IF的系统帮助(自己看我就不全部列出来了),我们会发现IF有3种基本的用法!执行批处理程序中的条件处理. IF [NOT] ERRORLEVEL number c ...
- git怎么fork一个仓库并pull request
一.使用git push <-----------就是这个玩意 1.设置用户信息 当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址. 这样做很重要,因为每一个 Git 的提交都会 ...
- 不使用Visual Studio开发ASP.NET MVC应用(下篇)
书接上回! 前文“纯手工”.彻底抛弃Visual Studio,制作了一个ASP.NET MVC应用,运行起来还不错,项目目录.源代码.web.config等所有东西都已经做到“最简”,除去了Visu ...
- sqlserver查看锁表进程及对锁定的表进行解锁
select request_session_id spid,object_name(resource_associated_entity_id) tableName from sys.dm_tran ...