全文检索 vs.数据库

      全文检索是数据库的有力补充,全文检索并不能替代数据库在应用系统中的作用。当应用系统的数据以大量的文本信息为主时,采用全文检索技术可以极大的提升应用系统的价值。

  • 数据库搜索,如果搜索范围包括全部正文数据,往往性能很低,用户响应时间长(分钟级,经常超时);而全文检索可以在0.x秒(毫秒级)的时间内将结果反馈给用户;
  • 数据库搜索,一个用户在搜索,往往影响其他用户的对应用系统进行操作;全文检索可以同时支持多个用户并发搜索,其他对应用系统进行操作的用户不受影响;
  • 数据库搜索很难实现多个关键字的复合搜索;而全文检索可以实现多个关键词的复合搜索,包括 “和(AND)”、“或(OR)”、“否(NOT)” 等;
  • 数据库搜索难于对结果进行相关度排序,当检索结果多时,用户往往难于找到最恰当的文档;而全文检索通过统计的研究成果,可以将文档进行相关度排序后,再返回给用户,提高用户的效率;
  • 全文检索还可以对检索结果的数据进行聚类分析(Group, 这里的聚类和NLP里面的聚类算法不同),增进用户对数据分布情况的了解;
  • 全文检索需要用户定期执行建立索引的动作,比直接使用数据库搜索增加了维护的工作;
  • 实现的不完善的全文索引系统容易造成索引与数据库的不一致,反而降低了用户的使用体验;
  • 优秀的全文检索系统支持按照文档的不同字段分配不同的检索权重,根据应用的不同动态的改变结果的排序;
  • 对于中文、日文和韩文而言,全文检索支持分词,进一步缩小了结果集的范围;而数据库检索往往不支持,往往一些与搜索词毫不相干的内容也混入了结果集。

     全文检索与数据库检索各有优势,需要根据具体应用场景的不同灵活选择。

     由于全文检索系统涉及众多专业领域,同一套全文检索系统,由富有经验的团队实施与相对经验欠缺的团队实施相比,其实施后的效果也会存在极大的差异。


上一篇: 首页
下一篇: 中文检索 vs. 汉化检索