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客户端的中文分词的更多相关文章

  1. Ubuntu16.04下安装elasticsearch+kibana实现php客户端的中文分词

    1.下载安装java, elasticsearch和kibana apt-get install default-jre default-jdk wget https://artifacts.elas ...

  2. Ubuntu16.04下安装数据库oracle客户端

    在Ubuntu16.04下安装oracle数据库客户端,使Django项目连接到远程Oracle数据库. 1.下载oracle客户端安装包: 进入官网http://www.oracle.com/tec ...

  3. Ubuntu16.04下安装redis

    Ubuntu16.04下安装redis 保证网络畅通,选定好下载工作路径,执行以下命令下载redis-3.2.6: sudo wget http://download.redis.io/release ...

  4. docker学习笔记(一)—— ubuntu16.04下安装docker

    docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...

  5. ubuntu16.04下安装artoolkit5

    目前对AR技术的常见理解就是CV(Computer Vision)+CG(Computer Graphic).CV的方法很多,简单些比如FREAK+ICP(ARToolKit中的NFT),复杂些就是S ...

  6. Ubuntu16.04下安装多版本cuda和cudnn

    Ubuntu16.04下安装多版本cuda和cudnn 原文 https://blog.csdn.net/tunhuzhuang1836/article/details/79545625 前言 因为之 ...

  7. Ubuntu18.04下安装Sublime Text3并解决不能输入中文

    Ubuntu18.04下安装Sublime Text3并解决不能输入中文! 废话不多说,直接按顺序执行下面命令开始安装! wget -qO - https://download.sublimetext ...

  8. Ubuntu16.04下安装Hadoop

    一.记录理由 刚开始只是想要学习怎么使用Hive的.想着安装应该很简单,没想到花了整整一天的时间来安装,为了避免下次犯同样的错误,特此记录. 二.安装Hadoop 网上教你怎么安装Hadoop的文章有 ...

  9. Ubuntu16.04下安装texlive

    Ubuntu 16.04下安装texlive的步骤如下: 1.下载texlive 打开终端输入:sudo apt-get install texlive-full  #下载这一过程会持续10-20分钟 ...

随机推荐

  1. Linux:Debian系统的安装

    这期就安装与Ubantu.Linux Mint差不多的系统,但是这个Debian系统的话,它安装时却有些不一样,什么不一样,我们接下来看看吧! 安装Debian系统 系统下载 Debian 9.5下载 ...

  2. L345 大脑复生

    Yale Researchers Build BrainEx Machine to Restore Brain Function After Death Researchers at Yale Uni ...

  3. Java ASM 技术简介

    什么是ASM ASM 是一个 Java 字节码操控框架.它能被用来动态生成类或者增强既有类的功能.ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为. ...

  4. json&pickle模块

    序列化:我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化 反序列化:把变量内容从序列化的对象重新读到内存中,这一过程称为反序列化 为什么要序列化? 1.持久保存状态 一个软件的执行就是在处 ...

  5. div嵌套,常见左右分类栏目

    最终效果图如下: html代码如下: <div class="smalItem"> <div class="leftnav"> < ...

  6. 学习java一个月的进展

    作为一个阶段性总结,有很多的东西需要说明,有细节的,有架构的,且听我细细说来. java和php最大的区别不止是类型的强制定义,而是在设计思路上有着非常重大的偏差(虽然SY3框架已经开始借鉴JAVA的 ...

  7. 常用css

    边框 css   基本设置:border:1px solid #d2d2d2;    风格有:solid=>实线 double=>双实线 dotted=>点状 dashed=> ...

  8. python3 sys.path

    wadmin@ansible-test:~/python$ python3Python 3.6.7rc1 (default, Sep 27 2018, 09:51:25) [GCC 8.2.0] on ...

  9. python学习2---交换两个元素

    1.交换两个元素 当然也可以定义一个交换函数:

  10. DataTables中自增序号的实现

    最近工作中,一直在写前端的东西,一直以来前端都接触的少,所以侧重点也没放在这边,导致现在工作进展比较慢,果然偷懒是要不得的啊.... 今天刚写了一个在DataTables中增加一列自增序号,刚开始以为 ...