IMIS企业级索引系统
简介
该系统可提供企业级索引服务,为企业内的其他业务系统提供大数据检索服务,为企业业态赋能。该系统索引效率高,接口丰富,支持集群部署,可横向扩展,可容错。该系统部署简捷,支持国产化硬件及平台。
功能优势
(1) 高级全文索引
IMIS提供高级全文索引能力,可实现强大的匹配功能,包括短语,通配符,联接,分组以及任何数据类型。
IMIS对外提供标准的HTTP接口来实现对数据的索引的增加、删除、修改、查询。在IMIS中,用户通过向部署在IMIS Web应用服务引擎发送 HTTP 请求来启动索引和搜索。IMIS接受请求,确定要使用的适当RequestHandler,然后处理请求。通过HTTP以同样的方式返回响应。默认配置返回IMIS的标准 XML 响应,也可以配置备用响应格式。IMIS索引能力如下:
l 拥有动态域(Dynamic Field)和唯一键(Unique Key)的数据模式(Data Schema)
l 支持复杂的查询语言
l 支持对结果进行动态的分组和过滤
l 高级的,可配置的文本分析
l 高度可配置和可扩展的缓存机制
l 支持性能优化
(2) 定制数据模式
定义一个模式。该模式告诉 IMIS关于它将被索引的文档的内容。Imis 的模式是强大而灵活的,可以让您根据自己的应用程序定制 Imis 的行为。IMIS可通过XML定义业务所需要的数据模式,可同时支撑各种类型的业务应用,具体功能如下:
l 定义域类型和文档的域
l 能够驱动智能处理
l 声明式的 Lucene 分析器规范
l 动态域能够随时增加域
l 拷贝域功能允许对一个域进行多种方式的索引,或者将多个域联合成一个可搜索的域
l 显式类型能够减少对域类型的猜测
l 能够使用外部的基于文件的终止词列表,同义词列表和保护词列表的配置
(3) 数据检索
IMIS的核心是一个Web应用程序,但是由于它是建立在开放的协议之上的,任何类型的客户端应用程序都可以使用IMIS。HTTP是客户端应用程序和IMIS之间使用的基本协议。客户端提出请求,IMIS做一些工作并提供响应。客户使用请求来请求IMIS执行查询或索引文件等操作。客户端应用程序可以通过创建HTTP请求和解析HTTP响应到达IMIS。客户端API封装了发送请求和解析响应的大部分工作,这使得编写客户端应用程序变得更加容易。具体功能如下:
l 拥有可配置响应格式(XML/XSLT,JSON)的HTTP接口
l 高亮的上下文搜索结果
l 基于域值和显式查询的片段式搜索
l 对查询语言增加了排序规范
l 常量的打分范围和前缀式查询
l 因子,对查询匹配的词没有数量限制
l 函数查询-通过关于一个域的数值或顺序的函数对打分进行影响
l 检索性能优化
(4) 检索缓存
IMIS对数据检索提供了缓存功能,进一步提高了检索效率,优化系统压力。具体功能如下:
l 可配置的查询结果,过滤器,和文档缓存实例
l 可插拔的缓存实现
l 后台缓存热启:当一个新的搜索器被打开时,可配置的搜索将它热启,避免第一个结果慢下来,当热启时,当前搜索器处理目前的请求
l 后台自动热启:当前搜索器缓存中最常访问的项目在新的搜索器中再次生成,能够在索引器
l 和搜索器变化的时候高速缓存常查询的结果
l 快速和小的过滤器实现
l 支持自动热启的用户级别的缓存
(5) 集群模式
当业务需要大规模,容错,分布式索引和检索能力时,或者索引量很大、搜索请求并发很高时,均可以采用IMIS集群模式。IMIS的集群部署模式,可实现多活、可扩展、高性能的架构。集群模式的主要特点如下:
l 集中式的配置信息
l 自动容错
l 近实时搜索
l 查询时自动负载均衡
(6) 管理接口
系统提供了完善的管理接口,便于系统的监控及运维,也有利于数据对接及开发。具体功能如下:
l 对索引更新和查询进行综合统计
l 文本分析调试器,能够显示每个分析器每个阶段的结果
l 集群监控
l 系统日志分析
l 基于 WEB 的查询和调试输出:解析查询输出,排查检索结果,能够解释为何某个文档打分低,被排除在结果中等等