xapian的使用】的更多相关文章

xapian安装:$ su enter your root password # rpm -ivh http://rpm.eprints.org/rpm-eprints-org-key-1-1.noarch.rpm # rpm -ivh http://rpm.eprints.org/xapian/6/noarch/rpm-eprints-org-xapian-6-1.noarch.rpm # yum update # yum install xapian-omega xapian-binding…
Xapian的检索流程和大部分搜索系统都一样,就先从倒排表抽取候选文档,然后结合其他信息进行排序,取top文档作为搜索结果,具体流程如下: 图1 xapian搜索流程 具体流程 在terms中找到documents 查询这些文档对应的values,进行排序,如果候选document比较多,这个过程就会很慢. 给出top结果,一般会读取data数据. 和别的搜索系统一样,提高搜索速度,主要靠优化第一步,较少允许量,或者缩减到下一步的候选文档数目. xapian倒排索引的归并中,对and的归并采用的…
Xapian的database是所有用于检索的信息表的集合,以下的表是必需的: posting list table 保存了被每一个term索引的document,实际上保存的应该是document在database中的Id,此Id是唯一的.这个就是倒排表. record table 保存了每一个document所关联的data,data不能通过query检索,只能通过document来获取.这个相当于快照. term list table 保存了索引每个document的所有的term.这个相…
本文属于文档检索过程分析的一部分,重点分析文档匹配百分比(percent)的计算过程. 1 percent是什么? 我们之前分析的检索demo: Xapian::Query term_one = Xapian::Query("T世界"); Xapian::Query term_two = Xapian::Query("T比赛"); Xapian::Query query = Xapian::Query(Xapian::Query::OP_OR, term_one,…
本文是Xapian检索过程的分析,本文内容中源码比较多.检索过程,总的来说就是拉取倒排链,取得合法doc,然后做打分排序的过程. 1 理论分析 1.1  检索语法 面对不同的检索业务,我们会有多种检索需求,譬如:要求A term和B term都在Doc中出现:要求A term或者B term任意在Doc中出现:要求A term或者B term任意在Doc出现,并且C term不出现…...,用符号表示: A & B A || B (A || B) & ~C ( A & ( B ||…
本文主要记录Xapian的内存索引在添加文档过程中,做了哪些事情. 内容主要为函数执行过程中的流水线. demo代码: Xapian::WritableDatabase db = Xapian::InMemory::open(); Xapian::Document doc; // 添加文档的,T表示字段名字,TERM内容为世界,position为1 doc.add_posting(); doc.add_posting(); doc.add_posting(); // 添加doc的数据 doc.s…
关键字:xapian.内存索引 xapian除了提供用于生产环境的磁盘索引,也提供了内存索引(InMemoryDatabase).内存索引.我们可以通过观察内存索引的设计,来了解xapian的设计思路. 1 用途 官方文档说法: “inmemory, This type is a database held entirely in memory. It was originally written for testing purposes only, but may prove useful f…
关键字:搜索引擎.Xapian 一篇拖了两三年的入门总结文章,今天发出来,一方面是自己的总结,另一方面是给自己和他人的备忘.读者需要对搜索引擎有初步了解,譬如了解倒排.term.doc.相似度打分等概念. Xapian是一个C++搜索引擎内核,提供了类似Lucene的功能,功能没有Lucene丰富,但可以满足常见的搜索需求:倒排检索.与或非查询.相关性打分排序等. 下面对Xapian入门使用做介绍. 1.Xapian安装-Linux 下面介绍Linux下的编译安装. (1)下载源码 从https…
Reference: http://www.totogoo.com/article/115/xapian-desc.html Xapian与开源 Xapian的官方网站是http://www.xapian.org,这是一个非常优秀的开源搜索引擎项目,搜索引擎其实只是一个通俗的说法,正式的说法其实是IR(Information Retrieval)系统.Xapian的License是GPL,这意味着允许使用者自由地修改其源码并发布之.Xapian的中文资料非常少,可以说现在互联网上连一篇完整详细的…
安装过程 安装xapian-core wget http://oligarchy.co.uk/xapian/1.0.13/xapian-core-1.0.13.tar.gztar zxvf xapian-core-1.0.13.tar.gzcd xapian-core-1.0.13./configure --prefix=/usr/local/xapianmakemake install 安装xapian-bindings wget http://oligarchy.co.uk/xapian/1…