1 简介
为了今后能够更好地融入到工作环境,萌新决定从头学习一下Xapian库。本篇是Xapian系列第一篇,因为之前对IR方向不是很熟悉,所以打算先把官网的document翻译一下,在翻译的过程中夹带着把碰到的不懂的地方进行补充拓展。希望自己能够坚持下去(_)。
以术语开头可以快速的掌握文档中的关键部分,也能够了解到整个IR系统中大家普遍使用的技术手段。由于一些词汇(如document、term等)在Xapian中具有更加丰富的含义,所以在这些词汇具有专有含义的地方,保留使用了英文。
本文原始文档来自于 https://xapian.org/docs/glossary.html
2 术语翻译
这篇词典文档定义了在使用Xapian的过程中可能遇到的术语。一些词汇是信息检索(Information Retrieval, 简称IR)领域中的标准术语,其他的词汇在Xapian项目的上下文环境中会有特殊的含义。
BM25
指Xapian中默认使用的权重方案。BM25一种对原始概率权重方案的改进方案,近期的TREC测试表明BM25是最好的概率权重方案。有时也被称为Okapi BM25,因为该方案首先被称为Okapi的IR系统实现。
(译注:TREC指The Text REtrieval Conference直译为文本检索会议)
Boolean Retrieval
检索一个documents集合,集合中的documents能够匹配一个布尔查询(如:由关系操作符连接的一组term,操作符包括AND,OR,AND_NOT)。在许多其他的检索系统中,这些documents不会根据相关性进行排序。在Xapian中,可以使用纯布尔查询(pure Boolean query,没有相关性排序),也可以使用布尔风格查询(Boolean style query),布尔风格查询会对检索到的documents进行过滤,然后使用带权值的打分公式进行排序。
Brass
Brass曾经是Xapian 1.2.x,1.3.0,1.3.1版本中“正在开发”的数据库类型。在Xapian1.3.2之后,被重命名为“glass”,因为我们决定将这些底层的名字按照字母表升序排列,使其更容易被理解,因为最近用到了“flint”,所以跳过‘d’‘e’‘f’,重命名为“glass”。
Chert
Chert是Xapian1.2.x版本中用到的稳定的数据库类型。在很多方面与flint类似,但往往会更快,且用到明显更少的硬盘空间。Chert具有高效、高可扩展的特点,支持增量的修改,并发方面支持单写多读。
Collection Frequency
一个term的collection frequency指的是其在数据库中出现的总次数。等同于该term在每个document中出现的次数之和。
Database
Xapian中的数据库与其他关系型数据库不同,存储了不只是被检索document的信息,这也反映了Xapian是一个信息检索系统,而不是信息存储系统。在某些场景下这些也可能被称为Indexes。1.4版本后端默认使用Glass,1.2使用Chert,1.0使用Flint,1.0之前使用Quartz。
Document ID
Xpaian数据库中,用来标记一个document的唯一正整数。
Document Data
Document Data是与每个document相关联的多种类型信息之一,具体内容可以被任意格式的数据填充,例如URL,文档名,或者文档的一段文本摘要。如果要用Omega来交互操作,应该包含name=value数据对,每行一个(近期的Omega版本支持每行一个field value,且可以在查询模板中为行号命名)。
Document
表示被检索的基本单位。它们往往是以文本形式出现的文档(如web页面,email信息,文本编辑软件的文档文件)。但也可以是某个文档中的片段,或者照片、视频、音乐、用户档案,或者你希望被检索的任意信息。
Edit distance
一种测量信息,在使用建议的拼写纠错方法时,表示从一个文本字符串转化到另一个字符串所需的编辑次数。为了计算一次编辑,Xapian使用的算法包括增、删、改一个字符,或者转置两个相邻字符。(译注:常见的面试算法题)
ESet(Expand Set)
直译为扩展集,表示一组排序过的terms,可以被用来扩展原始的查询。这些terms在相关和非相关的document中,具有统计上良好的区分度。(译注:个人理解这个意思是有这个集合之后不会影响原始查询的准确性,即不会检索到非相关的document)
Flint
Flint是Xapian 1.0.x版本中默认使用的数据库类型,1.2.x版本中被弃用,1.3.0版本中被移除。
Glass
Xapian 1.4默认使用的数据库类型。
Index
直译为索引。如果一个document可由一个term描述,那么可以称该term索引了这个document,在Xapian和其他IR系统中,也称该term为index。
Indexer
Indexer接受documents,并将它们进行处理,使其可以有效地被检索到,之后存储到database中。(译注:应该可以称之为索引器)
Information Need
表示用户在寻找的信息,通常用户会尝试将其描述为一个查询语句。
Information Retrieval(IR)
信息检索是“搜索的学科”,用来表示学术上与“搜索”相关的研究和话题。
MSet(Match Set)
匹配集(MSet)是由一个查询得到的结果documents列表,列表有序。该列表根据documents的权重进行排序,所以顶部的document具有最高的相关性概率。MSet中documents的数量可控,所以通常并不会包含所有匹配到的documents。