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)的更多相关文章

  1. Linux 之 xunsearch

    Linux 之 xunsearch 参考教程:[千峰教育] 一.xunsearch简介: 开源免费.高性能.多功能.简单易用的专业全文检索技术方案. 官网(http://xunsearch.com). ...

  2. linux安装xunsearch

    首先要确保ubuntu安装了gcc g++ make sudo apt-get install make gcc g++ 然后安装zlib,用来解压的: apt-get install zlib1g- ...

  3. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  4. Linux 使用 docker 下搭建xunsearch 搜索引擎服务

    Linux 使用 docker 下搭建 xunsearch 搜索引擎服务 安装 docker 环境(菜鸟教程有说明) 安装docker说明 下载并运行 xunsearch 的服务端:docker安装x ...

  5. [linux] shell脚本编程-xunsearch安装脚本学习

    安装脚本setup.sh #!/bin/sh # FULL fast install/upgrade script # See help message via `--help' # $Id$ # s ...

  6. Xunsearch迅搜(基于 xapian+scws 的开源中文搜索引擎)安装与简单使用

    今天鼓捣了xunsearch,感觉官方指南写得挺详细,于是按照指南一步一步走,但是感觉越看越凌乱,像看API一样,新手看得特费劲,网上也少有新手教程,于是略过今天的歪路,记录一下我的安装步骤. Xun ...

  7. [Linux]服务管理:rpm包, 源码包

    --------------------------------------------------------------------------------------------------- ...

  8. xunsearch增量索引改进版

    最近测试了xunserach全文索引程序.xunsearch只有LINUX版,所以想用windows服务器请使用其它全文索引程序.xunsearch本身不像coreseek那样自带增量索引的功能,所以 ...

  9. xunsearch安装与卸载

    刚接触xunsearch(迅搜)的时候,我是排斥的.排斥的原因不是因为害怕学习新技术(其实我是对心技术很感兴趣),而是因为:一方面xunsearch是国人开发的,对于国人写的开源产品,我不是太感兴趣( ...

随机推荐

  1. JavaScript递归实现对象深拷贝

    let personOne = { name:"张三", age:18, sex:"male", children:{ first:{ name:"z ...

  2. 初学者之 Git 和 Github

    git和github是两个完全不同的概念. git   是一个版本管理工具,是可以在你电脑不联网的情况下,只在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序,比如你原来提交过的内容, ...

  3. 利用sysbench工具测试MHA

    利用sysbench工具测试MHA 1. sysbench准备数据 2. sysbench开始压测 3. master模拟意外宕机 4. mysqldb2 上观察mha状态 5. 手工failover ...

  4. (73)zabbix用户认证方式 内建、HTTP Basic、LDAP

    公司大大小小众多系统,不同系统不同的账号密码,管理上相当复杂,后来慢慢出现了SSO等账号统一验证,其他zabbix也提供了类似的方法,或许有些公司便可以使用公司提供的账号来登录zabbix了. zab ...

  5. node 文件下载到本地 (支持中文文件名)

    downloadfile:function(req,res,next){ var name= encodeURI(req.query.name); var path= req.query.url; v ...

  6. LNMP一键安装包开启pathinfo和rewrite模式

    此教程适用于集成安装包lnmp,官网是https://lnmp.org/ 一. 开启pathinfo #注释 下面这一行 #include enable-php.conf #载入新的配置文件 incl ...

  7. 日志切割logrotate和定时任务crontab详解

    1.关于日志切割 日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题.除此之外,处 ...

  8. python3爬取墨迹天气并发送给微信好友,附源码

    需求: 1. 爬取墨迹天气的信息,包括温湿度.风速.紫外线.限号情况,生活tips等信息 2. 输入需要查询的城市,自动爬取相应信息 3. 链接微信,发送给指定好友 思路比较清晰,主要分两块,一是爬虫 ...

  9. STM32HAL学习博客

    https://www.cnblogs.com/wt88/category/1297945.html

  10. BZOJ 2687: 交与并

    答案存在于 1.两个互相包含的区间 2.两个互不包含的区间 决策单调性显然 但是这代码很精妙啊,并不知道这个为什么能这样写 #include<cstdio> #include<alg ...