原文地址:http://xapian.org/docs/glossary.html

术语表

本术语表定义了在使用xapian时可能遇到的一些专业术语.其中一些是信息检索领域的标准概念,而另一些则在xapian中有特别的意义.

BM25

xapian默认使用的加权方法。BM25是原来的概率加权算法的,而最近的TREC测试表明,BM25是已知的相关性衡量体系中最好的。有时它也被称为“Okapi BM25”,因为它是最先是在一个叫Okapi的学术性的IR系统中实现的。

布尔检索

检索跟一个布尔查询(例如,由一些运算符像AND,OR,AND_NOT等连接的term串)相匹配的一系列文档.在许多系统中,这些文件没有按照相关性来打分排序。在的xapian,一个纯粹的布尔查询可以使用,或者一个布尔式查询可以过滤检索文件,然后下令使用概率的排名。在Xpian中,你可以用一个单纯的Bool查询;也可以用一个布尔风格的查询,这时先检索相关的文档,并按排相关性来排序.

Chert

Chert是目前正在开发的1.1.x中使用的数据库格式.我们正在努力使它像flint一样可靠,唯一的不同是做了一些不兼容的改动,因此你可能需要重新索引您的的数据.而flint格式的数据库在xapian的几个版本中是相兼容的.在1.2.0版本中,chert将会成为可靠版本,并且成为默认的后端,而flint会被废弃.

数据库

跟关系性数据库不同,Xapian的数据库并不只是索引了文档内容,因为Xapian的目标是成为一个信息检索系统,而不是一个信息存储系统.这些问题偶尔也可能被称为索引。

文档ID

在xapian的数据库中,标识一个文章档的唯一ID,是一个正档数.

文档数据

文档数据是附加在一个文档上的的数据信息,可以是好几种信息,其内容可以设置在各种格式,比如可以存储URL,文档的标题,文档的文章本摘要等级.如果你想[篡改](我用词一向这么猥琐地选贬义词)Omega,可以发现Oemga的文档数据应该包含key-value对,每行一个.Omega的最新版本还支持每行一个字段值,在查询中可以指定行号和字段名的匹配关系)。

文档

这就是一个个要被检索的项目。通常常他们会是文本文件(如网页,电子邮件,文字处理文档),但你也可以在文档中附加文件,或照片,视频,音乐,用户配置文件,或是其他任何你想要索引的玩意儿。

编辑距离

从一个词变到另一个词必须经过多少个”编辑”步骤.常用在拼写建议中.Xapian使用的算法,会将任何一个字符插入,删除,改变字符,或交换两个相邻字符都统计上.

ESet(展开集)

Eset是一个一系列的带分值的Term的列表,是原始查询的延伸.这些词统计学上都能比较好地区分相关文档和不相关文档的.

Flint

Flint是当前xapian使用的数据库格式从xapian 1.0起成为默认格式,并取代了Quartz。Flint相当地高效,也具有高可扩展性。它支持增量修改,并且支持对数据库单写多读的并发模式。

索引

如果一个文档是由一个Term描述,我们就说这个词索引了该文档。同样,在xapian和其他的信息检索系统中的数据库有时也叫做索引(形象地说,就像一本书背后的术语表)。

索引器

索引器接收(各种格式)的文章档并处理他们,以便能够有效地进行搜索,这些文档会被人存储在数据库中。

目标信息

用户想查到的信息。人们通常会用一个查询字符串来描述他们的目标信息

信息检索(IR)

信息检索是一门关于搜索的科学。它是一个学术上的名称,主要包含跟搜索相关的有关课题的研究.

MSet(匹配集)

匹配集(MSet)是从一个查询返回的一个带有分值的文档清单。这份名单根据文档的比重来打分,因此打分最高的文档具有最高的相关性,第二个文档第二位,依此类推。一个Mset里的文档数是可控的,因此它通常不包含匹配的所有文件。

标称文档长度(ndl)

标称文档长度(ndl)是一个文件的长度(它包含有的term的数目)除以系统内所有文档的平均长度得到的数值。因此,一个刚好是平均长度的文档,他的标称文档长度等于1,而较短的文件标称文档长度都小于1,和更长的文件则大于1。

Omega

Omega是用xapian来构建的,包含一个CGI的搜索程序和两个索引器.

Posting List

Posting list是一个term所索引的文档的列表这通以可以被看作是一列数字 - 这些数字都是文档ID。

Posting

一个term索引一篇文章的这样一个过程

准确率

准确率:索引结果中跟结果真正相关的文档的数量除以返回的文档总数.

基于概率的信息检索系统

概率IR是基于概率理论上产生的检索,它可以产生根据相关性来打分排名的文档清单。Xapian 利用了概率方法(唯一的例外是当用户选择了一个纯粹的布尔查询时)

Quartz

Quartz是xapian 1.0之前版本使用的数据库格式。现在已经过时了,并且xapian 1.1.0之后将不再支持。新的部署应该使用Flint,现有的则应考虑迁移到Flint。

查询

查询是信息检索系统能接收的对你的目标信息的描述.它通常是一个包含了一系列term的文本字符串,可能包括如AND或OR等布尔操作符.

Query Expansion

为了扩大搜索结果而修改查询

Rset(相关集)

相关集是由用户标记为相关的一系列文章档的集合.他们可以用来建议用户可能需要添加进查询的term(从Eset中来的term),也可以用来调校term的权重以对结果重新排序.

召回率

召回率是指检索到的真正相关的文档除以系统中存在的相关的文档的总数

相关性

基本上,用户想要的文档就是相关的文档。理想情况下,检索到的文件都将相关的,没检索到的都是不相关的。

搜索器

搜索器是信息检索系统中的一部分,它们接收查询,读取数据库并返回相关的文档.

词根

词根化,表示去掉单词的各种变式,(像过去式啦,动名形式啦),得到正常状态的词.在英语中,这主要涉及取消后缀 - 例如将讨论的字眼,像”talking”,”taks”,”talked”最终都回归’talk’这个词根.

停用词

在索引或搜索中被忽略的词,忽略原因一般是因为它们太常见了,或是根本不表达任何含意。例如,”the”,”a”,”to”.

同义词

Xapian可以存储一个term的同义词,这可以用来实现Query Expansion.

Term列表

Term 列表是索引一个特定文档的一系列term的列表.在某些信息检索系统中,这可以是一系列数字的列表(在系统内部一个term由一个对应的数字来描述),而在Xapian中则就是一个字符串(term)的列表.

词频

词频就是在一个信息检索系统中由一个term所检索的文档的数量.

Term

一个term通常是一个比特串(通常是一个词或一个词根),一个个的term就描述了整个文档.Term就跟一本书背后的术语表差不多,一个文档通常由许多的term来描述.(是不是一个书背后的术语表基本也就描述了这本书呢)查询是由一串Term构成的(也许由布尔运算符连接)。

Term前缀

按照惯例,Xapian中的Term可以加上前缀,用来实现对不同字段信息的区分,比如这文档从哪儿来,以及其他一些信息.(就是这东西实现了lucene中的field)这个Term前缀通常是一个大写字母。

测试集

测试集由一系列文档和一组查询构成,每个查询都已经指定出了完整的相关文档列表 - 这是用来测试不同的信息检索系统工作的能力如何。

UTF-8

一个变长的Unicode编码标准.

Value

附加到文档的离散的元数据.每个文件可以有许多Value,每个value都存在一个不同的带编号的位置中。Value被设计用来在匹配过程的快速访问,可用于排序,重复文档去除,范围搜索,以及其他用途。如果您只是想存储一个可以用来在结果显示的值,您最好储在文档的Data中。

文档内频率(wdf)

一个Term在一个文档里的的文档内频率(wdf),是这个term在索引过程中能取出文档的次数.通常就是wdp向量的大小,但在xapian可以比它大,因为我们可以为文档中的某一段儿申请额外的wdf.

文档内位置(wdp)

因为term来源于一个文档中实际存在的词,一个term的文档内位置就是指这些单词在文档中出现的位置(通常是向量,因为词往往在文档中出现多次)所以,如果一个Term来源于在文章档的第5,第二2个词和第131个词(其实就是这词在这三个位置出现),这个term的wdp就是(5,22,131)

查询内频率(wqf)

一个查询中,一个Term的查询内频率是在这个查询中这个term出现的次数.这一统计数字在BM25中用到。