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();
}

最新文章

  1. Atom支持Markdown和Latex
  2. EF optimize the perfermance
  3. nginx转发post消息成301了
  4. 日志分析 第七章 安装grafana
  5. ExceptionExtensions
  6. 解决IIS应用程序池DefaultAppPool关闭超时错误
  7. 《OD学oozie》20160813
  8. BZOJ 1084: [SCOI2005]最大子矩阵 DP
  9. Java缓存学习之二:浏览器缓存机制
  10. C#获取当前应用程序所在路径及环境变量
  11. 1.MySQL的安装(linux Ubuntu环境下)
  12. Android微信智能心跳方案
  13. word2vec 入门(二)使用教程篇
  14. ios ALAssetsLibrary简单的使用
  15. 2017-5-29 Excel VBA 小游戏
  16. 【学习】js学习笔记:对象的遍历和封装特性
  17. iOS中 GCD-Grand Central Dispath 多线程 UI_21
  18. 甘果移动老甘:移动互联网变迁中的App和小程序
  19. Java学习笔记(2)
  20. SQL优化经验

热门文章

  1. sql 单表/多表查询去除重复记录
  2. python并发编程之线程(创建线程,锁(死锁现象,递归锁),GIL锁)
  3. pyecharts用法,本人亲测,陆续更新
  4. ProC第三弹
  5. UVA10779Collectors Problem
  6. UVa 1354 枚举子集 Mobile Computing
  7. 《小团团团队》第八次团队作业:Alpha冲刺
  8. Java学习笔记3---unable to launch
  9. ogre3D程序实例解析1-平移旋转与缩放
  10. 浅析win32 Win64 x86 x64 区别 及Eclipse启动报Java was started but returned exit code=13 错误