`
162cm
  • 浏览: 52706 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Xapian 术语表

阅读更多

本文首发地址:http://www.162cm.com/archives/1075.html

译文的原文地址: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的目标是成为一个信息检索系统,而不是一个信息存储系统.这些问题偶尔也可能被称为索引。flint xapian 1.0后使用的后端,而QUartz则在在旧版本中使用。
文档ID
在xapian的数据库中,标识一个文章档的唯一ID,是一个正档数.
文档数据
文档数据是附加在一个文档上的的数据信息,可以是好几种信息,其内容可以设置在各种格式,比如可以存储URL,文档的标题,文档的文章本摘要等级.如果你想[篡改](我用词一向这么猥琐地选贬义词)Omega,可以发现Oemga的文档数据应该包含key-value对,每行一个.Omega的最新版本还支持每行一个字段值,在查询中可以指定行号和字段名的匹配关系)。
<String Name=”Document”>文档</String>
这就是一个个要被检索的项目。通常常他们会是文本文件(如网页,电子邮件,文字处理文档),但你也可以在文档中附加文件,或照片,视频,音乐,用户配置文件,或是其他任何你想要索引的玩意儿。
编辑距离
从一个词变到另一个词必须经过多少个”编辑”步骤.常用在拼写建议中.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中用到。

 

1
0
分享到:
评论

相关推荐

    python xapian 简单应用

    **Python Xapian 简单应用** Xapian是一个高性能、可扩展的全文搜索引擎库,支持多种编程语言,包括Python。在这个应用中,我们将探讨如何利用Python接口(`python-xapian`)来实现对文件系统的目录进行索引和搜索...

    xapian_doxygen_win

    【Xapian全文检索库】 Xapian是一个强大的开源全文搜索引擎库,专为高效的信息检索设计。它由C++编写,提供了丰富的API供开发者在各种应用程序中集成全文搜索功能。Xapian的核心特性包括高效的倒排索引、多字段搜索...

    Xapian-1.2.22 windows下编译

    《Xapian-1.2.22在Windows环境下使用Visual Studio 2005进行编译的实战指南》 Xapian是一个强大的全文搜索引擎库,因其高效、可扩展和高度可定制的特性而在信息检索领域广泛应用。然而,对于Windows平台的开发者来...

    xapian的使用

    Xapian是一个强大的开源搜索引擎库,它被广泛用于全文搜索、文档检索以及相似度计算等任务。本教程将深入探讨如何使用Xapian,并通过一个实际的“writedatabase”示例帮助你理解其核心概念和操作流程。 首先,我们...

    基于Xapian站内检索的设计与实现

    ### 基于Xapian站内检索的设计与实现 #### Xapian概述 Xapian是一个开源的搜索引擎库,采用通用公共许可证(GPL)发布。它最初是用C++编写的,通过绑定支持多种编程语言,如Perl、Python、PHP、Java、Tcl、C# 和...

    基于xapian搜索引擎的设计

    以Xapian 为核心开发一个搜索程序,以13 年第一季度的新浪新闻为检索目标,自行设计文档解析程序、调用xapian 建索引并实现一般检索、以及一个特殊的修饰符搜索功能(如url 搜索、标题搜索、时间搜索等),程序运行...

    C++开源搜索引擎xapian开发入门demo

    Xapian支持术语分析,可以使用预定义的或者自定义的分析器来处理输入文本,提取出关键词作为索引项。每个文档可以有多个术语,并且可以为每个术语设置权重,这将影响搜索结果的相关性。 搜索是通过`Enquire`对象...

    xapian_text_index

    2. 文档处理:对每个输入的文本文件,我们创建一个`Xapian::Document`对象,然后添加文档内容作为术语。这通常通过`Xapian::TermGenerator`类来实现,它可以分析文本并生成相应的术语。 3. 添加索引:使用`Xapian::...

    如何使用C#在Windows上编译和使用Xapian

    在Windows平台上使用C#编译和使用Xapian搜索引擎是一个技术性的任务,涉及到多个步骤和注意事项。Xapian是一款开源的信息检索库,它提供高效、灵活的全文搜索和相关性排名功能。以下是一些关键知识点: 1. **C#与...

    xapian-bindings:元软件包可简化针对Python的xapian-bindings扩展的安装。 尚未完全发挥作用

    Xapian绑定注意:不能保证此程序包功能齐全! 使用风险自负! xapian-bindings是一个元软件包,可简化针对Python的扩展的安装。 它根据安装的的版本确定要使用的xapian-bindings的版本。 下载并提取源代码; 然后...

    xapian-core-1.4.9-vs2017-x64-release.zip

    《Xapian-Core 1.4.9与Visual Studio 2017在64位环境下的集成与应用》 Xapian-Core是著名的全文搜索引擎库,它为开发者提供了强大的信息检索功能。版本1.4.9是Xapian的一个稳定版本,其针对Visual Studio 2017进行...

    基于Xapian和PHP的高性能站内搜索系统方案设计.pdf

    Xapian是一个开源搜索引擎库,从原理上说,Xapian是一个信息检索系统。Xapian使用C++编写,遵循 GNU Lesser General Public License(LGPL)开源协议。Xapian支持多种编程语言,包括PHP、Python、Java等。 四、基于...

    xapian-core-1.4.18-3.el8.x86_64.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    xapian-rack:轻松将 Xapian 与 Rack 集成

    安装将此行添加到应用程序的 Gemfile 中: gem 'xapian-rack'然后执行: $ bundle或者自己安装: $ gem install xapian-rack用法添加以下中间件: use Xapian::Rack::Search,:database =&gt; './xapian.db':roots =&gt; ['...

    搜索引擎技术教程 网络搜索引擎原理-第7章 Xapian简介 共39页.pptx

    ### 搜索引擎技术教程:Xapian简介 #### 一、Xapian概述 Xapian 是一款高性能的全文搜索引擎库,它不仅适用于简单的全文索引需求,还能够处理复杂的数据库搜索任务。Xapian 的设计初衷是为了解决那些传统数据库...

    细细品味架构·基于Xapian的垂直搜索引擎的构建分析(第2期)

    1、本期内容 1.1 版权申明 1.2 内容详情 1.2.1 垂直搜索的应用场景 1.2.2 垂直搜索的技术选型 1.2.3 垂直搜索的引擎架构 1.2.4 垂直搜索技术和业务...2.3.2 专业术语 2.3.3 Bloom Filter 算法 2.3.4 Bloom Filter 参数

    xapian-core-libs-1.4.18-3.el8.i686.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    djapian:Django 的高级 Xapian 集成

    在这种情况下,Xapian 本身和 Djapian 提供的大部分功能仅作为与 Django 兼容的改编。 用于索引器声明的高级 DSL 使用 Django ORM 之类的 API 过滤结果 结果集与标准 Django Paginator兼容 字段、方法结果和相关...

    cpp-Xapiand一个基于Xapian的RESTful搜索引擎

    **Xapiand** 是一个基于 **Xapian** 库构建的现代、快速且易于使用的 RESTful 搜索引擎。这个项目旨在提供一个轻量级、高效且高度可配置的解决方案,用于索引和搜索大量数据。它允许通过 HTTP 接口与服务器进行交互...

    Omseek (now Xapian)-开源

    Omseek已重命名为Xapian。 Xapian是一个用C ++编写的搜索引擎库,带有Perl,Python,PHP,Java,Tcl,C#和Ruby的绑定。 它使您可以轻松地向应用程序添加高级索引和搜索功能。

Global site tag (gtag.js) - Google Analytics