hibase 是一个基于倒排索引库libibase的检索系统, libsbase为基础通信库的一套完整搜索引擎系统.
支持增量在线实时索引/实时更新int/long/double类型字段
支持BM25检索算法
支持上下文邻近位置标注的中文短句检索
支持多字段检索
支持聚类(group)
支持数据风险安全过滤(预先处理)
支持数据cache时长自定义
支持自定义打分基数
支持int/long/double范围过滤
支持int/long位操作(屏蔽,过滤)
程序功能介绍
hibase主要包括hidocd,himasterd,hindexd,hiqparserd,hiqdocd
hidocd 数据处理正排生成,正排分发;
himasterd 分布式检索归并节点;
hindexd 索引/检索节点;
hiqparserd query parser节点, 负责把query转换成 检索需要的IQUERY结构;
hiqdocd 文档摘要节点;
以上hiqdocd hiqparserd和hindexd实质是一个程序, 只是根据配置不同完成不同的功能, hindexd可以实现单节点上的数据检索功能,同时hindexd还担负从hidocd接收文档完成倒排索引的功能.
索引过程
数据生成: 生成格式参见ibase.h::{FHEADER}结构; hidocd根据生成的这个文件顺序读取然后处理成正排格式存储到本地db(db.c);
数据分发: hidocd提供http接口管理,可以添加数据节点, 然后根据任务分发数据给对应的hiqparserd hiqdocd hindexd;
数据索引: hindexd接受到数据完成本地倒排;
检索过程
请求方通过himasterd提供的HTTP接口传入传入参数;
himaster本次key => id转换以后把请求串发送给hiqparserd;
hiqparserd对请求参数进行处理,分词query转换成IQUERY结构返回himasterd;
himaster把IQUERY结构转发给hindexd;
hindexd根据IQUERY本地检索完成后返回检索{IRES}+{IRECORD}TOPK
himasterd根据hindexd返回归并排序,并且根据要求cache(CACHE时长可以在请求中定义)
himasterd根据from,count参数发送请求到hiqdocd;
hiqdocd根据请求完成动态摘要以JASON格式返回;
himasterd返回JASON格式的结构(可以要求是否需要做摘要)
安装和配置
通信基本库: libevbase libsbase http://code.google.com/p/sbase/downloads/list
倒排索引库: libibase http://code.google.com/p/libibase/downloads/list
检索系统: hibase http://code.google.com/p/libibase/downloads/list
按照列表顺序下载最新版本进行安装 : ./configure --prefix=/usr && make
可以参考rpms(centos 5.5)已经编译好的版本使用;
有问题可以给我的mail/MSN: sounos@gmail.com
原文URL:http://bbs.chinaunix.net/thread-1187515-1-1.html