上一页 1 2 3 4 5 6 ··· 9 下一页
  2019年3月18日
摘要: 本文属于文档检索过程分析的一部分,重点分析文档匹配百分比(percent)的计算过程。 1 percent是什么? 我们之前分析的检索demo: 2 为什么需要percent? 先说一下背景,做过搜索的人应该都知道BM25算法,这也是xapian内部默认的相关性打分算法,它是一个针对term做打分的 阅读全文
posted @ 2019-03-18 21:03 -银光- 阅读(747) 评论(0) 推荐(0)
  2019年3月10日
摘要: 本文是Xapian检索过程的分析,本文内容中源码比较多。检索过程,总的来说就是拉取倒排链,取得合法doc,然后做打分排序的过程。 1 理论分析 1.1 检索语法 面对不同的检索业务,我们会有多种检索需求,譬如:要求A term和B term都在Doc中出现;要求A term或者B term任意在Do 阅读全文
posted @ 2019-03-10 23:58 -银光- 阅读(1546) 评论(0) 推荐(0)
  2019年3月3日
摘要: 本文主要记录Xapian的内存索引在添加文档过程中,做了哪些事情。 内容主要为函数执行过程中的流水线。 demo代码: 1.创建并填充Document 定义好文档对象,使用add_posting接口,添加term,以及对应的position、wdfinc; 内部实现细节: 1.1 先尝试读取doc已 阅读全文
posted @ 2019-03-03 22:16 -银光- 阅读(845) 评论(0) 推荐(0)
  2019年2月22日
摘要: 关键字:xapian、内存索引 xapian除了提供用于生产环境的磁盘索引,也提供了内存索引(InMemoryDatabase)。内存索引。我们可以通过观察内存索引的设计,来了解xapian的设计思路。 1 用途 官方文档说法: “inmemory, This type is a database 阅读全文
posted @ 2019-02-22 12:49 -银光- 阅读(1208) 评论(0) 推荐(0)
  2019年2月19日
摘要: 关键字:搜索引擎、Xapian 一篇拖了两三年的入门总结文章,今天发出来,一方面是自己的总结,另一方面是给自己和他人的备忘。读者需要对搜索引擎有初步了解,譬如了解倒排、term、doc、相似度打分等概念。 Xapian是一个C++搜索引擎内核,提供了类似Lucene的功能,功能没有Lucene丰富, 阅读全文
posted @ 2019-02-19 18:52 -银光- 阅读(6390) 评论(1) 推荐(1)
  2018年12月21日
摘要: 两年未写总结博客,今天先来练练手,总结最近遇到的一个crash case。 注意:以下的分析都基于GCC4.4.6 一、解决crash 我们有一个复杂的排序,涉及到很多个因子,使用自定义排序函数的std::sort做排序。Compare函数类似下文的伪代码: 后来,我们给排序函数加了更多的复杂逻辑: 阅读全文
posted @ 2018-12-21 12:07 -银光- 阅读(5022) 评论(2) 推荐(2)
  2016年12月25日
摘要: 公司的机器上默认是GCC4.4.6,为了完整的体验C++11,可以自己编译一个GCC4.8.2出来(自带了更高版本的glibc)。 以下是备忘。 1、下载GCC源码以及依赖库 gmp ftp://ftp.gnu.org/gnu/gmp/gmp-6.1.1.tar.bz2 mpfr ftp://ftp 阅读全文
posted @ 2016-12-25 21:58 -银光- 阅读(1988) 评论(2) 推荐(0)
摘要: C++11已不是新鲜技术,但对于我来说,工作中用得还不够多(前东家长时间使用gcc3.4.5,虽然去年升了4.8.2,但旧模块维护还是3.4.5居多;新东家用的是4.4.6,不能完整支持C++11,而且有内部有基础库早已支持了C++11 STL的部分功能),再加上自己的练习也写得少,了解仅是几点简单 阅读全文
posted @ 2016-12-25 21:48 -银光- 阅读(20484) 评论(0) 推荐(2)
  2016年9月13日
摘要: 今天休假在家,测试并搭建了一个replica set shard MongoDB鉴权集群。replica set shard 鉴权集群中文资料比较少,本文是个人笔记,同时也希望对后来者有所帮助。本文仅是搭建步骤和Q&A,用于实际工作中的使用查阅,阅读者需要有分布式集群的理论基础。 关键字:Repli 阅读全文
posted @ 2016-09-13 19:57 -银光- 阅读(5386) 评论(1) 推荐(0)
  2016年7月7日
摘要: 最近我们需要对大约2T(6.5亿条)日志做全文检索,Elasticsearch看起来很火爆,又有很多产品使用(Facebook、github、stackoverflow),值得一试。以下是一些基础知识笔记。 Elasticsearch是一个基于Lucene构建的开源、分布式、RESTful的搜索引擎 阅读全文
posted @ 2016-07-07 21:20 -银光- 阅读(32879) 评论(8) 推荐(6)
上一页 1 2 3 4 5 6 ··· 9 下一页