全文搜索的一些理论总结

 

    很长一段时间我对全文搜索都有种错误的认识,认为学习全文搜索没有必要,全文搜索在小公司用不上,在大公司有专业人才。其实这种想法是非常错误的,现在的网站向社交关系发展,用户产生海量内容,如果没有全文搜索根本无法体现出UGD网站的价值。比如蘑菇街支持标签搜索,”瀑布排序“都只能通过搜索引擎实现。

 

全文搜索 的分类


1. 顺序扫描法
2. 逆向索引

全文搜索的处理步骤



1. 抓取数据

2. build index

3. 评分

4. 搜索



全文搜索的重要概念

term
postings

 

一个例子

通过逆向索引实现章鱼台的标签搜索

需求:

     章鱼台需要支持对视频添加标签的功能。比如发布一首王菲的歌曲,可以添加王菲,MV这两个标签。通过搜索王菲,MV就可以找到这部视频。

 

实现方式:

 

 

table = {}

def build(msg,docId):
	if table.has_key(msg):
		table[msg].extend([docId])
	else:
		table[msg] = [docId]

build('wangfei',1)
build('mv',1)

build('suiyanzi',2)
build('mv',2)

build('zhoujielun',3)
build('mv',3)


print table

index: {'wangfei': [1], 'mv': [1, 2, 3], 'suiyanzi': [2], 'zhoujielun': [3]}

 

这里的实现方式比较简单,没有支持or and等搜索方式,也没有考虑分词。

 

参考:http://blog.csdn.net/forfuture1978/article/details/4711308

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值