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

倒排索引 - C/C++相关推荐

  1. Elasticsearch 如何做到快速检索 - 倒排索引的秘密

    欢迎关注方志朋的博客,回复"666"获面试宝典 来源:https://ricstudio.top/archives/es-lucene-reverted-index 一.前言 最近 ...

  2. 倒排索引原理_拜托,面试请不要再问我分布式搜索引擎的架构原理!

    欢迎关注头条号:石杉的架构笔记 周一至周五早八点半!精品技术文章准时送上!!! 精品学习资料获取通道,参见文末 目录 (1)倒排索引到底是啥? (2)什么叫分布式搜索引擎? (3)ElasticSea ...

  3. Elasticsearch 为什么能做到快速检索?— 倒排索引的秘密

    来源:https://ricstudio.top/archives/es-lucene-reverted-index "All problems in computer science ca ...

  4. ElasticSearch是什么?为什么快?倒排索引是什么?ElasticSearch的应用?

    ElasticSearch是什么?为什么快?倒排索引是什么?ElasticSearch的应用? Elasticsearch 是一个分布式的免费开源搜索和分析引擎,适用于包括文本.数字.地理空间.结构化 ...

  5. Elasticsearch之倒排索引

    搜索引擎 正排索引 - 文档Id到文档内容.单词的关联关系 文档ID 文档内容 1 elasticsearch是最流行的搜索引擎 2 php是世界上最好的语言 3 搜索引擎是如何诞生的 倒排索引 - ...

  6. 倒排索引统计与 Python 字典

    2019独角兽企业重金招聘Python工程师标准>>> 最近折腾索引引擎以及数据统计方面的工作比较多, 与 Python 字典频繁打交道, 至此整理一份此方面 API 的用法与坑法备 ...

  7. MapReduce实现倒排索引(类似协同过滤)

    一.问题背景 倒排索引其实就是出现次数越多,那么权重越大,不过我国有凤巢....zf为啥不管,总局回应推广是不是广告有争议... eclipse里ctrl+t找接口或者抽象类的实现类,看看都有啥方法, ...

  8. MapReduce实战--倒排索引

    本文地址:http://www.cnblogs.com/archimedes/p/mapreduce-inverted-index.html,转载请注明源地址. 1.倒排索引简介 倒排索引(Inver ...

  9. Lucene 源码分析之倒排索引(三)

    上文找到了 collect(-) 方法,其形参就是匹配的文档 Id,根据代码上下文,其中 doc 是由 iterator.nextDoc() 获得的,那 DefaultBulkScorer.itera ...

  10. 为什么倒排索引不采用zlib这样的字典压缩算法——因为没法直接使用啊

    看了下压缩算法的发展历史,根据倒排索引的数据结构特点,个人认为zstd不适合做倒排索引压缩,举例说明下: 假设有一份文档倒排列表为:[300, 302, 303, 332],对于这组倒排数据,是没法* ...

最新文章

  1. Asp.Net Core在线生成二维码
  2. Clion 远程开发 配置
  3. swift使用cocoapods导入oc三方库
  4. 对讲机的那点事:带你玩转LD800数字车载台读、写频操作:一
  5. Wine 1.0 RC2
  6. STM32的ADC笔记
  7. 到2025年将保持不变的热门流行技术
  8. 软件项目周报_有关细节、效率、周报和扯淡
  9. linux绑定中文域名,linux shell正则表达式如何匹配域名(包含中文域名)
  10. 比较HTML元素和Native组件的区别
  11. 如何解决ADB server didn't ACK
  12. PHP查看IP时候能ping通
  13. MSDN MTBETA
  14. 魔百和盒子、中兴盒子、咪咕盒子、华为盒子、华为悦盒、烽火盒子、创维盒子、天邑盒子等运营商盒子固件合集分享
  15. 免安装版本的+mysql_MySQL的安装(免安装版本)
  16. 前度字符串转数组_关于前度书籍的阿里云论坛用户知识和技术交流
  17. 个人股东股权转让涉税问题初探
  18. STM32——通用定时器控制超声波传感器HCSR04
  19. #第六章 曲率二维表达的拟合应用 ​一、四维时空曲率的二维几何表达
  20. jQuery+JSON+jPlayer实现QQ空间音乐查询

热门文章

  1. 在HBase的shell命令行界面输入错误项按“退格键“删除,却怎么也删除不了:
  2. 干活|常见WAF拦截页面总结
  3. Tcp Keepalive和HTTP Keepalive详解
  4. 【slighttpd】基于lighttpd架构的Server项目实战(2)—预备知识之libevent
  5. 前端---JavaScript基础2
  6. 不错的递归题:输入123,返回“321”。 要求必须用递归,不能用全局变量,输入必须是一个参数,必须返回字符串。
  7. centos中的配置文件
  8. TensorFlow学习笔记(十)tf搭建神经网络可视化结果
  9. 深入理解Spark 2.1 Core (六):Standalone模式运行的原理与源码分析
  10. GitHub for Windows使用教程(二) 分支的使用