当前位置首页 > Linux知识

Linux之Xunsearch(2)

阅读次数:271 次  来源:admin  发布时间:

参考教程:【千峰教育】

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();
}
上一篇:在Fedora8上安装jdk-7u25-linux-i586.rpm的步骤
下一篇:Linux查看磁盘分区、文件系统、使用情况的命令和相关工具介绍|Fedora中文用