坚信科学,分享技术

Tag Archives: 全文检索

[原创]使用postgreSQL+bamboo搭建比lucene方便N倍的全文搜索 第二部分

[文章作者:陈臻 本文版本:v1.0 最后修改:2009.7.17 转载请注明原文链接:http://www.54chen.com/_linux_/postgresql-bamboo-lucene-part2.html ] 书接上回。上回说到建立好一整套的中文分词和pgsql的环境,这回来说如何搜。 一、基础篇 本回从一条sql开始: select * from dbname where field_name @@ 'aa|bb' order by rank(field_name, 'aa|bb'); 从这个sql字面意思讲解:从 dbname这个表中查field_name匹配aa或者是bb的词,并且按照他们的匹配的RANK排序。 基本上明白上面这段话后,来学习四个概念:tsvector、tsquery、@@ 、gin。 1.tsvector: 在postgreSQL 8.3自带支持全文检索功能,在之前的版本中需要安装配置tsearch2才能使用。它提供两个数据类型(tsvector,tsquery),并且通过 动态检索自然语言文档的集合,定位到最匹配的查询结果,tsvector正是其中之一。 一个tsvector的值是唯一分词的分类列表,把一话一句词格式化为不同的词条,在进行分词处理的时候,tsvector会自动去掉分词中重复的词条,按照一定的顺序装入。例如 SELECT 'a fat cat sat on a mat and ate a …

Continue reading

Posted in linux, 架构研究 | Tagged , , , | 6 Comments