Linux 之 Xunsearch(2)
Linux 之 Xunsearch(2)
参考教程:【千峰教育】
Xunsearch的项目配置文件:
基本说明:
(1)项目配置是一个项目的核心灵魂,非常重要,通常保存为.ini文件,
通常存储在/usr/local/xunsearch/sdk/php/app/
(2)以分号开头的行表示注释,空行直接被忽略不起任何作用
(3)中括号包围的每个分区均为字段配置,字段个数根据项目的实际需求设定
(4)每个项目必须有并且只能有一个类型为ID的主键字段,ID字段值的字母不区分大小写
常规配置:
名称:project.name = xxx
字符集:project.default_charset = UTF-8 (默认)
索引服务端口:server.index = 8383 (默认)
搜索服务端口:server.search = 8384 (默认)
项目字段:
字段名: [字段名]
字段类型: type = xxx
字符型:string,适用多数情况,也是默认值
数值型:numeric,包含整型和浮点型,仅当字段需要用于排序或区间检索时才设为该类型,否则使用string类型即可。
日期型:date,形式为YYYYmmdd 这样固定的8字节,如果没有区间检索或排序不建议使用。
主键型:id,确保每条数据具备唯一值,是索引更新和删除的凭据,
每个搜索项目必须有且仅有一个id字段,该字段的值不区分大小写。
标题型:title,标题或名称字段,至多有一个该类型的字段。
内容型:body,主要内容字段,即本搜索项目中内容最长的字段,
至多只有一个该类型字段,本字段不支持字段检索。
PHP-SDK
PHP-SDK的代码默认包含在服务端安装目录中,即$prefix/sdk/php。
对象:
XS: 搜索项目总对象,所有相关操作均基于此对象及子方法。
XSDocument: 搜索结果或索引文档,包括一组字段及值,相当于SQL表中的一条记录。
XSIndex: 索引管理,通过XS对象的index属性取得。
XSSearch: 搜索功能,通过XS对象的search属性取得。
XSException: 异常类型,必须捕捉此异常以判断操作是否正确。
示例:
- include '/usr/local/xunsearch/sdk/php/lib/XS.php';
- try{
- //创建搜索对象
- //demo为项目名称,配置文件是:$sdk/app/demo.ini。
- $xs = new XS('demo');
- //获取索引管理对象
- $index = $xs->index;
- //获取搜索功能对象
- $search = $xs->search;
- //创建索引文档
- $data = [
- 'pid' => 123,
- 'subject' => '测试文档标题',
- 'message' => '测试文档内容',
- 'chrono' => time()
- ];
- $doc = new XSDocument($data);
- //添加索引
- $index->add($doc);
- //更新索引
- $index->update($doc);
- //同步索引
- $index->flushIndex();
- //清空索引
- $index->clean();
- //搜索
- $res = $search->search('测试');//包含:测试
- var_dump($res);
- $res = $search->search('测试 文档');//包含:测试 和 文档
- var_dump($res);
- }catch(XSException $e){
- echo $e->getTraceAsString();
- }
Linux 之 Xunsearch(2)的更多相关文章
- Linux 之 xunsearch
Linux 之 xunsearch 参考教程:[千峰教育] 一.xunsearch简介: 开源免费.高性能.多功能.简单易用的专业全文检索技术方案. 官网(http://xunsearch.com). ...
- linux安装xunsearch
首先要确保ubuntu安装了gcc g++ make sudo apt-get install make gcc g++ 然后安装zlib,用来解压的: apt-get install zlib1g- ...
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
- Linux 使用 docker 下搭建xunsearch 搜索引擎服务
Linux 使用 docker 下搭建 xunsearch 搜索引擎服务 安装 docker 环境(菜鸟教程有说明) 安装docker说明 下载并运行 xunsearch 的服务端:docker安装x ...
- [linux] shell脚本编程-xunsearch安装脚本学习
安装脚本setup.sh #!/bin/sh # FULL fast install/upgrade script # See help message via `--help' # $Id$ # s ...
- Xunsearch迅搜(基于 xapian+scws 的开源中文搜索引擎)安装与简单使用
今天鼓捣了xunsearch,感觉官方指南写得挺详细,于是按照指南一步一步走,但是感觉越看越凌乱,像看API一样,新手看得特费劲,网上也少有新手教程,于是略过今天的歪路,记录一下我的安装步骤. Xun ...
- [Linux]服务管理:rpm包, 源码包
--------------------------------------------------------------------------------------------------- ...
- xunsearch增量索引改进版
最近测试了xunserach全文索引程序.xunsearch只有LINUX版,所以想用windows服务器请使用其它全文索引程序.xunsearch本身不像coreseek那样自带增量索引的功能,所以 ...
- xunsearch安装与卸载
刚接触xunsearch(迅搜)的时候,我是排斥的.排斥的原因不是因为害怕学习新技术(其实我是对心技术很感兴趣),而是因为:一方面xunsearch是国人开发的,对于国人写的开源产品,我不是太感兴趣( ...
随机推荐
- token_get_all()函数
token_get_all (PHP 4 >= 4.2.0, PHP 5) token_get_all — 将提供的源码按 PHP 标记进行分割,可以用作php源代码的压缩,会按照固定的分解方法 ...
- Python爬虫系列-分析Ajax请求并抓取今日头条街拍图片
1.抓取索引页内容 利用requests请求目标站点,得到索引网页HTML代码,返回结果. 2.抓取详情页内容 解析返回结果,得到详情页的链接,并进一步抓取详情页的信息. 3.下载图片与保存数据库 将 ...
- 09GNU C语言程序编译
1. C 语言程序概述 GNU gcc 对 ISO 标准 C89 描述的 C 语言进行了一些扩展,其中一些扩展部分已经包括进 IOS C99 标准中.本节给出了内核中经常用到的一些 gcc 扩展语 ...
- usb driver编写 (转)
在开头补上LDD3的一句话:如果 USB 驱动没有和另一种处理用户和设备交互的子系统(例如 input, tty, video, 等待)关联, 驱动可使用 USB 主编号为了使用传统的和用户空间之间的 ...
- 【Jenkins】Jenkins的安装与配置
一.环境准备 1.下载jdk 官方下载地址:http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133 ...
- js---post与get请求的区别
request获取请求参数 最为常见的客户端传递参数方式有两种: 浏览器地址栏直接输入:一定是GET请求: 超链接:一定是GET请求: 表单:可以是GET,也可以是POST,这取决与<form& ...
- MySQL基本命令和常用数据库对象
MySQL基本命令: 连接远程主机的MySQL服务(为了保证安全性,执行下面命令时,可以省略-p后面的密码,执行命令后系统会提示输入密码) mysql -p 密码 -u 用户名 -h 主机地址 --d ...
- 深度学习:Sigmoid函数与损失函数求导
1.sigmoid函数 sigmoid函数,也就是s型曲线函数,如下: 函数: 导数: 上面是我们常见的形式,虽然知道这样的形式,也知道计算流程,不够感觉并不太直观,下面来分析一下. 1.1 ...
- String、StringBuffer和StringBuilder,定义一个自己的StringBuilder的类
String Java中的字符串值属于String类,虽然有其它方法表示字符串(如字符数组),但Java一般使用String类作为字符串的标准格式,Java编译器把字符串值作为String对象; St ...
- hdu1599 find the mincost route floyd求出最小权值的环
find the mincost route Time Limit: 1000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/O ...