PISA是一个文本搜索引擎,尽管"PISAProject"是一套工具,帮助实验索引和查询处理。给定一个文本集合,PISA可以在这个语料库上建立一个倒置的索引,允许语料库被搜索到。简单地说,倒置索引是一种有效的数据结构,它通过为每个独特的术语存储一个文档列表来代表文档语料库(见这里)。在查询时,PISA将其索引存储在主内存中,以便快速检索。
从一个文档的语料库开始,例如维基百科,PISA可以建立一个倒置的索引,使我们能够快速搜索维基百科的集合。在最基本的层面上,支持BooleanAND和ORqueries
除了简单的 Booleanmatching,如上所述,我们实际上可以对文档进行排名。在不深入了解细节的情况下,文档的排名是通过一些函数来进行的,这些函数假定一个词越是罕见,这个词就越重要。这些排名器还假定,一个词在文档中出现的频率越高,文档就越可能是关于这个词的。最后,较长的文档包含更多的词,因此比短的文档更有可能得到更高的分数,所以要进行规范化处理,以确保所有的文档都被平等对待。
PISA的主要用例是进行实验以进一步了解信息检索(IR)领域。在IR领域内,有各种重要的研究方向被关注,从提高结果质量(有效性)到提高搜索系统的可扩展性和效率。PISA主要关注IR研究的可扩展性和效率方面,这就是为什么PISA代表“PerformantIndexesandSearchforAcademia”。简而言之,PISA是一个开发高效搜索创新的平台。
虽然PISA专注于成为实验的基础,但它也非常适合用作简单的通用索引和搜索系统。
PISA可以处理大型文本集合。例如,PISA可以轻松索引ClueWeb09B或ClueWeb12B语料库,每个语料库包含超过5000万个Web文档和接近500GiB的压缩文本数据,根据压缩编解码器的不同,索引范围在10-40GiB用过的。根据一些细节,这些索引可以在大约10-20小时内从头开始构建。此外,更大的集合可以通过索引分片来处理,索引分片将大型语料库分成更小的子集(分片)。然而,PISA是一个内存系统,旨在基于完全驻留在主内存中的索引来提供查询服务。因此,可能的规模将受到主存储器的限制。
PISA是由 GiuseppeOttaviano发起的 ds2i 项目的一个分支。ds2i项目包含IR中许多重要的效率创新的源代码,包括“PartitionedElias-Fano”压缩方法。
评论