全文检索有两个重要的过程:1分词
2倒排索引
我们先看分词算法
目前对中文分词有两个方向,其中一个是利用概率的思想对文章分词。 也就是如果两个字,一起出现的频率很高的话,我们可以假设这两个字是一个词。这里可以用一个公式衡量:M(A,B)=P(AB)/P(A)P(B),其中 A表示一个字,B表示一个字,...
分类:
编程语言 时间:
2015-05-06 17:49:08
阅读次数:
130
倒排索引的简单实现
倒排索引是搜索引擎中常用的算法,主要用来实现full text searching,建立关键词和所在文档的映射关系,很多强大的功能都建立在此基础之上,关于Inverted Index的详尽描述可以看Wikipedia。下面按照自己的想法实现之,只是为了体会这个数据结构的运作。
todo:如果要搜完整的出现一句话如“what is it”可以分别...
分类:
其他好文 时间:
2015-05-04 18:12:12
阅读次数:
113
ElasticSearch集成了传统数据库的精确查找与现代化搜索引擎的查找需求,所以从一定程度可以实现对资源的一种全文搜索与精确搜索的结合,该方案可以应用在常见的站内搜索,资源匹配,甚至构建自己的搜索引擎,本身它的底层就依赖于lucene进行倒排索引。另外在部署方面solr有非常强的优势,它附带的一些插件让大家很好的监控集群的状态以及一些运行情况,从而实现了屌丝管理到高大上管理的变迁。...
分类:
其他好文 时间:
2015-04-29 11:44:33
阅读次数:
134
文档倒排索引主要是统计每个单词在各个文档中出现的频数,因此要以单词为key,value为文档以及该单词在此文档频数,即输出数据的格式形如:
:表示word1这个单词在doc1文档中出现了3次,在doc2文档中出现了4次。
整个程序的输入是一系列文件,比如file01.txt, file02.txt, file03.txt ....,首先要将这些文件上传到hado...
分类:
其他好文 时间:
2015-04-16 17:40:48
阅读次数:
153
转自:http://blog.csdn.net/yah99_wolf/article/details/8573621这两天帮忙定位一个mysql查询很慢的问题,定位过程综合各种方法、理论、工具,很有代表性,分享给大家作为新年礼物:)【问题现象】使用sphinx支持倒排索引,但sphinx从mysql...
分类:
数据库 时间:
2015-04-13 18:28:39
阅读次数:
209
MySQL中的索引分为3种:
1,主键索引:即用主键当唯一索引
2,常规索引:实现方式为B树和哈希表
3,全文索引:实现原理类似倒排索引,常用来查询字段中包含关键字
下面复习下B-TREE和hash-table
1 B-tree
B树是一种多路查找平衡多叉树,具有以下属性:
1,如果根节点不是叶节点...
分类:
数据库 时间:
2015-04-06 21:54:24
阅读次数:
241
参考文献:
http://www.cnblogs.com/fly1988happy/archive/2012/04/01/2429000.html
http://blog.csdn.net/v_july_v/article/details/7109500
我的数据挖掘算法:https://github.com/linyiqun/DataMiningAlgorithm
我的算法库:h...
分类:
编程语言 时间:
2015-04-06 08:59:45
阅读次数:
197
这里介绍一个基础的搜索引擎技术
假如有两段文字
1,books and friends should be few but good
2,A good book is a good friend
假如我们忽略掉大小写和复数,可以整理出一张单词表,显示哪个单词再哪段文字,
英文单词
文章编号
a
2
and
1
be
1
bo...
分类:
其他好文 时间:
2015-03-29 22:17:03
阅读次数:
450
使用到Combiner编程(可插拔式)
在map端对输出先做合并,最基本是实现本地key合并,具有本地reduce功能
如果不用combiner,所有结果都是reduce完成,效率会底下
Combiner的的输入输出类型应该完全一致(实现如累加,最大值等功能)
job.setCombinerClass();
倒排索引基本实现
package cn.MapReduce.px;
impo...
分类:
其他好文 时间:
2015-03-28 17:23:38
阅读次数:
128
使用hadoop版本为2.2.0
倒排索引简单的可以理解为全文检索某个词
例如:在a.txt 和b.txt两篇文章分别中查找统计hello这个单词出现的次数,出现次数越多,和关键词的吻合度就越高
现有a.txt内容如下:
hello tom
hello jerry
hello kitty
hello world
hello tom
b.txt内容如下:
hello jerry
...
分类:
其他好文 时间:
2015-03-19 16:23:47
阅读次数:
162