AnyShare Family 7 提供了一个全新的全文检索界面,同时也带来了全新的多维检索体验,从全文检索到以文搜图,甚至是以图搜图。那么提供这种强力搜索的关键技术是什么呢?AnyShare Family 7 又是如何与之强强联合为用户带来全新的搜索体验的?本文将给大家带来介绍。
索引
在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。

一个实例,千万级别的测试数据,通过SQL查询某段时间内的数据:
SELECT * FROM `tf_hotspotdata_copy_test` WHERE collectTime BETWEEN '2014-12-06 00:00:00' AND '2014-12-10 21:31:55';
在无索引的状态下,查询时间约为30s,当根据字段创建索引后再查询,时间减少到2s。由此可以看出在数据的查询上,可以使用索引来进行优化。但是对于内容云来说,长度不定、格式不定的文档要如何来实现索引的创建?这也就引出了AnyShare Family 7 全文检索的关键技术 Elasticsearch。
Elasticsearch
Elasticsearch 是一个分布式的开源搜索和分析引擎,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据。同时还是一个近实时的搜索平台,这意味着从文档索引操作到文档变为可搜索状态之间的延时很短,一般只有一秒。分布式特性使得它可以扩展至数百台(甚至数千台)服务器,并处理 PB 量级的数据。
AnyShare Family 7 使用 Elasticsearch 的倒排索引来实现长度不定的文档关键字的全文检索:

通过分词、筛选、等步骤存入到检索数据库,查询时同样来进行匹配:

分布式的集群来实现海量数据响应的基础支撑:
关键特性
AnyShare Family 7 内容分析及检索服务在 Elasticsearch 技术的加持下,为全新的搜索服务提供了如下关键特性:
- 基于文档、目录权限的安全合规搜索
- 丰富的搜索特性与简单易用的界面
- 全终端覆盖的全文检索能力(WEB、PC、Mobile)
- 支持图片内容搜索的能力
- 海量索引数据的存储管理
- 低延迟的搜索响应速度
- 集群分布式的高可用保障