开源Java搜索引擎:Minion

MinionSun Labs创建的开放源代码搜索引擎,除了提供标准的文档检索操作,还具备关系查询、布尔邻近查询、文档相似度比较、以及文档的自动分类等特性。

Minion被定位为面向研究的搜索引擎,具备简单易用的API调用接口。并且Minion支持并发索引和检索,具备结果条目聚类、歧义消除、分类和自动标记等功能,除此之外,还具备很强的可配置能力。作为高级搜索技术研究的一部分,Minion之前的版本融合在Java企业级门户服务器中,目前已独立出来作为单独项目存在,并可在实际研究及生产环境中使用。

在进行检索时,Minion为每个被索引的文档创建字段值与字段名的映射。每个字段都可以被索引、标记、向量化以及保存。每个被向量化的字段,都会在索引后统计得到词条在文档中出现的次数以及词条权重。文档在索引后,可以调用Minion提供的API进行条目查询、近似查询、参数查询或加权布尔值查询。比方说对于邮件文本,在信息进行索引后,可定制的查询内容包含有:邮件标题或文本中出现的关键字、根据日期范围查询、以及查询从某个特定域寄送出的邮件。

与另一款流行的开放源代码Java搜索引擎Lucene相比较,Minion提供了不少Luncene目前仍不具备的功能。在性能比较上,Minion具备更高的索引效率,在查询表现方面也可以与Luncene相当。此外,在索引字段的类型、大小写感知以及预定义的API方面,Minion相比Lucene均有着自己独到的优势。

Minion搜索引擎擅长于统计文档中出现的词条,并找出文档中最重要的单词,以及词条出现的频率,并根据文档中包含查询条目的重要性来确定文档的评级。有意思的是,Minion还可以根据对Tag标记的统计,为用户的兴趣点提供的容推荐。

目前有两个进行中的项目:音乐发现平台Search Inside the Music和兴趣点推荐Project Aura项目的背后,都是Minion搜索引擎在为其提供支持。

留下评论