libibase - 实时增量全文检索搜索引擎系统(Instant and Incremental Full-Text Search Engine) - Google Project Hosting
2013-02-25 13:50
891 查看
libibase - 实时增量全文检索搜索引擎系统(Instant and Incremental Full-Text Search Engine) - Google Project Hosting
以上hiqdocd hiqparserd和hindexd实质是一个程序, 只是根据配置不同完成不同的功能, hindexd可以实现单节点上的数据检索功能,同时hindexd还担负从hidocd接收文档完成倒排索引的功能.
有问题可以给我的mail/MSN: sounos@gmail.com
Libibase is a library for Search Engine which is Instant and Incremental.
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 文档摘要节点;
索引过程
数据生成: 生成格式参见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)已经编译好的版本使用;相关文章推荐
- libibase - 实时增量全文检索搜索引擎系统(Instant and Incremental Full-Text Search Engine) - Google Project Hosting
- libibase - 实时增量全文检索搜索引擎系统(Instant and Incremental Full-Text Search Engine) - Google Project Hosting
- aranduka - A simple e-book manager and reader - Google Project Hosting
- py-webkit-html-manipulator - Server side rendering, extraction and manipulation of HTML over HTTP. - Google Project Hosting
- MySQL 全文检索(full_text) stopword 设置
- SQLServer 全文检索(full-text)语法
- 全文检索(Full-Text Search)与XML
- cute-log - A lightweight, flxiable, high configurable, thread-safe and cute logging library - Google Project Hosting
- duibrowser - a cross-platform and light-weight webkit kernel web browser - Google Project Hosting
- iOS/Android SQLite 全文检索——FTS (Full Text Search)
- SQL Server 2008 Full Text Searching SSMS Demo(SQL2008全文检索演示代码)(来自msdn)
- python-segment - segmentation and classify library written by python - Google Project Hosting
- 问题“没有为当前数据库启用全文检索。请用 sp_fulltext_database 来启用全文检索。”的解决方案
- SQL Server 2008 Full Text Searching SSMS Demo(SQL2008全文检索演示代码)(来自msdn)
- scipy-cluster - An extension to Scipy for generating, visualizing, and analyzing hierarchical clusters. - Google Project Hosting
- MySQL Fulltext 全文检索中文分词补丁
- SQL Server 2008 Full-Text Search Overview(SQL Server 2008全文检索概览)
- templatemaker - Python library for extracting data from similarly formatted text strings. - Google Project Hosting
- gperftools - Fast, multi-threaded malloc() and nifty performance analysis tools - Google Project Hosting
- PostgreSQL 8.3.1 全文检索(Full Text Search)