倒排索引 - C/C++
生活随笔
收集整理的這篇文章主要介紹了
倒排索引 - C/C++
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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++的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Apache Lucene与Lucene
- 下一篇: VC常用数据类型使用转换详解