海量文档快速语义去重

firstboy05132014-03-25 09:56:38搜索引擎 / 搜索功能
本文的实现思路是结合Charikar的simhash指纹编码与Google的Hamming distance拆分算法原理实现的。 说起这个实现,还是先说说需求吧。搜索引擎中常常要对新进来的文档(一般指网页,这里统一以文档称之)进行重复性判断,判断这个文档是否已经在已有数据库中存在了没有,如果存在则不予插入。这也就是通用互联网搜索引擎对整个互联网的网页进行不间断更新的处理过程,当然这个不间断的间隔

搜索引擎相似度计算方法之arctan方法

firstboy05132014-03-24 17:56:11搜索引擎 / 搜索功能
搜索引擎相似度的计算有很多种方法,相似度是对搜索结果进行排序的一种方式,是指所输入的搜索关键字与搜索结果每一条记录之间的"相似程度",我们知道百度的竞价排名就是一种"有名"的相似度排名方法,这里使用arctan函数来计算不同次数相邻关键字的相似度计算,仅仅在于获取不同关键字出现次数以达到完全分隔在不同相似度等级分数的需求。在搜索引擎的设计与实现中,除了存储速

libdatrie源码分析

firstboy05132014-03-21 16:33:10搜索引擎 / 搜索功能
libdatrie库是一个Double Array Trie的C语言实现项目,详情可以参考官方链接.Double Array Trie中文名叫作双数组trie的比较多,是一种压缩形的trie,但是效率和理论上的trie是基本一样的,理论上的trie可以使用一个状态转换的有限状态机来实现,但是这样的话这个状态机的二维状态转移矩阵会很大,因为这里面状态一般都很多,这里的状态像上述图中所示的,每

QDBM源码分析4_villa模块

firstboy05132014-03-05 10:20:48搜索引擎 / 存储技术
说一下各种数据结构 内部结点是(里面就heir比较奇葩被可怜地放到外面,它就是第一个子结点的指针) 65 typedef struct { /* type of structure for a node page */ 66 int id; /* ID number of

QDBM源码分析3_depot模块

firstboy05132014-03-01 20:39:25搜索引擎 / 存储技术
首先说说depot的结构。 typedef struct { /* type of structure for a database handle */ char *name; /* name of the database file */ int wmode; /* whether to be writable */ int inode; /*

QDBM源码分析2_cabin模块

firstboy05132014-02-28 11:28:13搜索引擎 / 存储技术
先说一下cabin里面各种数据结构,粘来原代码中的结构体定义部分。 typedef struct { /* type of structure for a basic datum */ char *dptr; /* pointer to the region */ int dsi

QDBM源码分析1_myconf模块

firstboy05132014-02-18 10:19:58搜索引擎 / 存储技术
myconf代码分析 // 一些宏定义 _SYS_xxx/_QDBM_SYSNAME // 文件系统符号 MYPATHCHR/MYPATHSTR/MYEXTCHR/MYEXTSTR/MYCDIRSTR/MYPDIRSTR // 一部分IO文件函数 /UNICODE open()/lstat() /O_BINARY/O_TEXT/setmode() // P
比咕搜索引擎定制与数据分析技术服务
最新评论
比咕网移动端APP下载

iPhone、Android 手机
扫描二维码下载安装

(可以使用QQ,微博等的扫描二维码功能)