# 全文检索

# 什么是全文检索

日常生活中的数据通常分为两类:结构化数据和非结构化数据。

  • 结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。
  • 非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等。

按照数据的分类,搜索也分为两种:

  • 对结构化数据的搜索:如使用SQL语句对数据库表中字段数据的搜索,利用windows搜索对文件名,类型,修改时间进行搜索等。
  • 对非结构化数据的搜索:如用Google和百度等搜索引擎可以搜索大量内容数据。

通过信息技术手段实现对word、邮件、文章等无固定格式的非结构化数据进行检索的方式即为全文检索。通常意义上的全文检索具有如下的特征:

  1. 提供快速查询响应
    基于倒排索引实现关键词的快速查询响应
  2. 结果相关性排序
    对匹配上的文档来打分,相关性越高的文档获得的分数越高,返回时越靠前。

随着企事业单位信息化进程的发展,数据出现爆发式的增长,海量数据如何实现快速的全文检索,是当前信息系统建设中遇到的严峻挑战。

# SuccBI的解决方案

# 集成搜索引擎

SuccBI是企业级产品,应用场景中往往有海量的数据,业务需求复杂而多变,随着业务的增长会有迁移或扩容的需求,同时海量数据的检索过程不是单纯的搜索,会伴随一些统计分析。基于这样的应用场景,SuccBI选择在产品层面集成了当前开源的、最主流、成熟的搜索引擎Elasticsearch (opens new window),借助Elasticsearch,SuccBI可以轻松的应对海量数据的全文检索。同时对于SuccBI来说,Elasticsearch就如同一个普通的数据仓库数据源,它可以完美无缝的与分析模块进行协同工作。

# 方案思路与架构

SuccBI产品提供的解决方案架构如下:

方案架构

SuccBI在产品层集成Elasticsearch,使得数据的存储更加灵活。来源系统中结构化数据部分在建模后存储在Vertica、Oracle等关系型数据库中,而非结构化数据部分,如文档、邮件、日志则可以采集、加工存储在Elasticsearch模型中(通常也是先归集存储在数据仓库模型中,通过同步机制将数据同步到Elasticsearch,详见Elasticsearch模型)。

这样,只需要在应用时根据需要选择使用Elasticsearch模型进行检索即可,使用Elasticsearch模型时,系统的查询将在Elasticsearch引擎中运行并返回结果。

# 解决方案优势

在SuccBI产品层面使用上面的方案架构集成Elasticsearch具有如下优势:

  1. SuccBI可立即获得Elasticsearch搜索引擎的超强检索能力,在海量数据检索场景下,充分利用Elasticsearch集群的高扩展性、高可用性、高性能为你提供稳定可靠的检索服务。
  2. SuccBI集成Elasticsearch搜索引擎,屏蔽了技术上的复杂实现,对使用者完全透明,简单易用,无需SQL技能、无需Elasticsearch原理知识、无需掌握Elasticsearch的REST API、零编码,让业务人员能更好的聚焦于业务信息。
是否有帮助?
0条评论
评论