PB级别全文检索引擎(将)是大中型企事业单位不可或缺的信息系统。
PB级别全文检索引擎,有两个最基本的结构特点:一是分布式;二是分包式。
分布式(Distributed Servers)是指索引信息、检索模块被分别(镜像)部署于数量适合的服务器;
分包式(Subcontracting Searchers)是指索引与文本信息(及2副本)被随机或按均衡的原则保存于不同的服务器;
搜索中台(Search Middle Officer)负责分配索引信息、整合检索结果。
HyperSearch™ 是北京联高软件开发有限公司集二十多年技术研发的PB级别全文检索引擎;
& 刻意避开 ES(ElasticSearch) 等基于 Lucene技术的 全文检索系统的诸多弊端与限制;
& 100%自主知识版权,适用于保密、安全与受制裁的应用场景;
& 基于C#及.Core开发,迁移性也很好,可运行于Windows及Linux系统;
& 系统结构简单、灵活,可在极短的时间内实现成百上千台服务器的快速部署;
& 提供 C# DLL,Web(Rustful) API 等诸多接入;
& 对管理员要求很低,普通的IT工程师即可轻松地运维;
& 对服务器要求很低,甚至可以利用过时、闲置计算机搭建;
& 图形化的搜索中台,操作维护很简单;
一般而言,索引信息越多,检索速度越快,支持的检索功能越多。
因而,优秀的全文检索核心,需要兼顾索引量与搜索性能。
1、功能特色
1.1 片段搜索(Piece Search,也称为部件搜索)
在无需数量级增加索引信息的情形下,即可实现英文单词、数字或字母与数字组合的片段搜索;
比如:lette*,搜索含有lette的记录(或文档);39012*搜索手机号码;89C3*搜索型号;
1.2 大小写敏感的搜索(Sensitive Search)
在无需数量级增加索引信息的情形下,支持大小写敏感的搜索(含片段搜索);
比如:Crose, crose 可得到不同的搜索结果;
1.3 或 搜索(OR Search)
支持两个及以上单词(或词语)的“或”搜索,只要出现其中之一即可;
比如:咖啡|cafe|coffee;
1.4 快速索引(Direct Index)
HyperSearch™支持快速创建索引,无需分词;
几乎实时地更新索引信息;
1.5 缩减索引(Index Skipping)
HyperSearch™支持用户指定的高频词,无需创建索引及参与检索;
该技术可以平均减少18%的索引数据量;
例如:对于类Github平台或企业内部的代码共享平台,
可以将编程语言的关键字(词)或保留字(词)设置为高频词,
即可大大减少索引数据量。
1.6 通用搜索语法(Normal Search Grammar)
通用搜索语法是指一般的搜索程序支持的语法。
关键词可以是一般词,也可以是 片段搜索语法,letter 或 lette* 都是可以的。
没有任何前缀或+(加好)前缀,是普通的关键词搜索;-(减号)作为前缀是过滤搜索;
双引号括起来的词(组),则是强制连续性搜索,比如:"wild horse",要求 wild 与 horse 相邻;
-"wild horse" 同理。
Lucene | ElasticSearch | Solr | HyperSearch | |
Birth | 2001 老古董,过时技术; | 2004 外壳产品; | 2006 外壳产品; | 2021 新时代,新技术! |
Language | java | java | java | C# |
OS | Windows & Linux | Windows & Linux | Windows & Linux | Windows & Linux |
License | 受制于Apache of USA & Oracle | 受制于Apache of USA & Oracle | 受制于Apache of USA & Oracle | 完全自由Full Free |
片段检索 | 依赖于巨大索引(慢); | 依赖于巨大索引(慢); | 依赖于巨大索引(慢); | 很小的索引文件;轻松实现; |
大小写敏感检索 | 依赖于巨大索引(慢); | 依赖于巨大索引(慢); | 依赖于巨大索引(慢); | 很小的索引文件;轻松实现; |
或 检索 | 不支持; | 性能较差; | 性能较差; | 原生实现; |
分布式 | 不支持 | 外套 | 外套 | 原生!!! |
容灾机制 | 无 | 无 | 无 | 原生! |
分离式索引 | 无 | 无 | 无 | 原生! |
外部接入耦合性 | 复杂; | 一般; | 一般; | 极简!!! |