Lucene(二 ):为什么要使用全文检索?
搜索速度
直接将数据源中的数据都通过 “全文索引“ 索引起来,有了索引一切就快了
匹配效果
通过词元(term)进行匹配,通过语言分析接口(拆分)的实现,可以实现对中文等非英语语言的支持
文档相关度
找出词(Term)对文档的重要性的过程称之为计算词的权重(Term Weight)的过程,主要有两个因素
A. Term Frequency(tf):即次Term在此文档中出现了多少次,tf越大,说明越重要
B. Document Frequency(df):即有多少文档包含该Term,df越大,说明越不重要
主要作用:搜索结果排序
应用场景
关系数据中进行模糊查询时,数据库自带的索引将不会起作用,此时需要通过全文搜素来提高速度;
比如网站系统中针对内容的模糊查询:
select * from article where content like ‘%apple%’;
ERP系统中产品等数据的模糊查询,BBS,BLOG中的文章搜索等:
各种搜索引擎运行依赖于全文检索
只对指定领域的网站进行索引与搜索(即垂直搜索,如果淘宝,天猫,京东)
要在word和pdf等各种各样的数据格式中检索内容
其他场合:比如搜狐拼音输入法