中易全文搜索引擎适用于对海量数据进行高效的全文检索,采用 Java 语言编写,可在大型数据库内进行基于全文内容的多种方式检索,支持分布式大型数据库,可采用 Internet(B/S) 和 Intranet(C/S) 结构,可运行在 Windows、Unix 和 Linux 平台上,支持对超大中文字符集的检索,以及对多语言的检索,如繁体中文、英文、德文、俄文等,可扩充性强,检索速度为亚秒秒级,具有极高的查准率和查全率。
·支持增量索引:
目前大部分的搜索引擎都是采用B树结构来维护索引,不足之处表现为索引的更新会进行大量的I/O操作。中易全文搜索引擎在实现中进行了改进,它不是仅维护一个索引文件,而是在扩展索引的时候不断创建新的索引文件,并定期把这些小的索引文件合并到原来大的索引中,这样在不影响检索速度的情况下,提高了维护索引的效率。
·支持各种结构的数据源:
中易全文搜索引擎没有定义具体的数据源,而是定义了一个抽象的文档结构(Document),因此可以适应各种类型的数据源,附加要做的只需编写一个合适的解析器将数据源转换成相应的文档结构。目前,中易全文搜索引擎可以支持的数据源有:
① 以ANSI、UTF-16、UTF-8为编码格式的文本文件。
② XML文档。
·支持内容分割:
中易全文搜索引擎的文档结构是由多个字段构成的,可以精确控制对每个字段的操作,以决定和划分需要被索引的字段,需要被存储到索引当中的字段,以及需要进行词切分的字段。
·支持多语言分析:
中易全文搜索引擎的语言分析部分具有良好的扩展机制,可为每种语言编写不同的语言分析器,用以实现支持多种语言的检索。中易全文搜索引擎现在支持的语言有:①英文 ②德文 ③俄文 ④中文。在中文方面,已经实现了对最新国际标准 ISO/IEC 10646: 2003 (Unicode 4.0) 中 Ext_A 和 Ext_B 中四字节汉字的检索支持,这一技术处于国际领先水平。
·支持自定义的查询分析:
中易全文搜索引擎的查询分析部分的扩展机制支持开发者自己定义的查询语法规则,可以通过编写自己的查询分析器来实现对自定义语法的支持。目前已经实现的语法规则有:词查询、短语查询、通配符查询(如:*, ?)、前缀查询、模糊查询、逻辑查询(如:AND, OR, NOT)、范围查询、跨越式查询和多字段查询。
·查询结果的排序和缓冲机制:
根据匹配度算法,将查询结果按照匹配度的高低排序,匹配程度高的结果将会最先输出。为了降低对系统资源的占用和提高查询速度,中易全文搜索引擎采用了缓冲机制,结果集是缓冲式的小批量的读取。
·支持多线程:
具有优秀的体系结构设计,查询操作实现了多线程机制,同时支持多个用户的并发请求。在语言分析中具有无用词过滤功能和索引文件的编程语言无关性,具有很好的可扩展性和伸缩性。
|