工具书的检索

2024-10-07

工具书的检索(共3篇)

工具书的检索 篇1

0 引言

工具书是人们在工作、学习时作为工具来使用的一种特殊类型的文献, 随着数字时代的到来, 工具书不仅包括传统的字、词典、百科全书、年鉴、手册、组织机构指南和名录等纸质图书及其电子版, 也包括大量的网络信息资源。

1 工具书的定义及其重要性

1.1 定义

关于工具书, 《辞海》的解释是:“专供读者检索查考有关知识、资料、或事实, 按一定排检次序加以汇编的书籍”。

1.2 工具书的作用

检索数据与事实信息需要使用参考工具书。

1.2.1 工具书为读者提供事实的检索

例如机构的名称、地址联系方式, 人物的生平资料, 事件发生的时间、地点、前因后果等。

1.2.2 工具书为读者提供数据的检索

例如, 物理常数、调查常数、统计常数、人口常数、国民生产总值、外汇收支等;

1.2.3 工具书为读者提供参考资料

例如, 索引是将文献中具有检索意义的事项 (可以是人名、地名、词语、概念、或其他事项) 按照一定方式有序编排起来, 以供检索的工具书。

1.3 工具书的重要性

工具书是知识宝库的钥匙。如果把知识比喻成一座宝库, 那么工具是就是打开宝库之门的钥匙。工具书的检索与利用, 是大学生是信息素养教育的重要组成。了解工具书的概念、分类, 掌握基本的检索方法和途径, 为资料的搜集整理指明方向, 可以为大学生的学习提供有力的支持和帮助, 也为今后的科研打下扎实的基础, 是现代社会基本技能之一。

2 工具书的形式和分类

2.1 工具书的形式

按照载体形式可以分为纸质和电子两大类。以前人们检索相关信息需要使用大量纸本书籍, 现在随着计算机的普及和网络技术的发展, 也可以通过互联网进行检索。许多工具书出版了与纸本图书对应的电子版, 有的还提供网络在线检索服务, 不仅提高了检索速度, 也使得资料的查全率和查准率有了较大的提高。

2.2 工具书的分类

参考工具书有很多类别, 常见的有字典词典、百科全书、年鉴、书目、索引名录等。

2.2.1 字典、词典

字典是为字词提供音韵、意思解释、例句、用法等等的工具书。中国古代字典都称为“字书”, 直到《康熙字典》问世才称“字典”的。最早的一本汉语字典是《尔雅》。“尔”也写作“迩”, 是接近的意思, “雅”是“正”的意思, 指“雅言”, 即在语音、词汇和语法等方面都合乎规范的标准语。近代字典大致可分为两类, 一类是综合性的, 如《新华字典》;一类是专门性的, 如《异体字字典》。

词典又作“辞典“, 是收集词汇按某种顺序排列并加以解释供人检查参考的工具书。当然, 词典和辞典还是有些区别的, 一般来说, 收录语文词汇为主的称词典;收录术语、专有名词、学科性词汇为主的称辞典。世界上现存最古老的词典是公元前7世纪亚述帝国时编的苏美尔-阿卡德语双语难词表。牛津大学出版社出版的《牛津英语词典》12卷, 又补编1卷 (1884~1928) 是近代西方最大的词典。

2.2.2 百科全书

百科全书 (Encyclopaedia, 也作Encyclopedia) 是指一种大型参考书。百科全书是对人类过去积累的全部知识或某一类知识的书面摘要。著名的三大百科全书ABC包括《美国百科全书》Encyclopedia Americana (简称EA) 、《新不列颠百科全书》The new encyclopedia Britannica (简称EB) 、《科里尔百科全书》Collier‘s Encyclopedia (简称EC) 三部。

2.2.3 政书、年鉴、手册

政书是主要记载典章制度沿革变化及政治、经济、文化发展状况的专书。政书一般分两大类, 一为记述历代典章制度的通史式政书, 名称中一般有“通”字, 如《通典》、《通志》、《文献通考》等;一为记述某一朝代典章制度的断代式政书, 称为会典、会要, 如《唐会要》、《元典章》等。历史上著名的“十通”是《通典》、《通志》、《文献通考》、《续通典》、《续通志》、《续文献通考》、《清朝通典》、《清朝通志》、《清朝文献通考》、《清朝续文献通考》等十部政书的合称。

年鉴是按年编撰出版的参考性工具书, 汇集一年之内的新闻、事件、数据和统计资料, 按类编排。如:世界知识年鉴、教育年鉴等。具有信息密集、出版连续、准确度高等特点, 包括综合性年鉴、专门性年鉴、地方性年鉴、统计性年鉴等多种类型。

手册, 是汇集一般资料或专业知识的参考书, 如各种事实、数据、图表等等。通常按类进行编排, 便于查找。

2.2.4 书目、索引

书目即图书目录, 是揭示与记录一批相关文献的工具书。书目著录文献的基本特征, 反映了某一时期某一学术领域的概貌和文献的出版收藏情况, 优秀的书目能指示读书门径。历史上著名的《绛云楼书目》, 现存通行本《绛云楼书目》为钱谦益撰、陈景云注, 通行本为四卷。钱谦益 (1582-1664) , 字受之, 江苏常熟人, 明末著名文人学者官僚。绛云楼藏书73柜, 多宋刻珍本。

索引将文献中具有检索意义的事项 (可以是人名、地名、词语、概念、或其他事项) 按照一定方式有序编排起来, 以供检索的工具书。

2.2.5 表谱、图录

表谱是以表格、谱系、编年等形式反映历史人物、事件、年代的工具书。它主要用于查考时间对照、人物、史实基本情况、地理等资料。包括年表、历表、人物生卒年表等。著名的有陈垣编著的《中西回史日历》和姜亮夫编、陶秋英校《历代人物年里碑传综表》。

图录, 又称图谱, 是用绘画、摄影等方式反映事物或人物形象的工具书, 具有形象、直观的特点。类型有历史图录、人物图录、艺术图录、文物图录、科技图录、地图等等。

3 重要工具书介绍

3.1 世界三大百科全书及《中国大百科全书》

《美国百科全书》于1829-1833年问世, 初版13卷, 1918-1920年增补扩充到目前的30卷, 全面介绍美国各方面概况的综合性国别百科全书, 它向所有对美国感兴趣的读者提供美国过去和现在的一般知识。自1923年起, 每年出版《美国百科年鉴》 (Americalla Annual) , 以增补新资料。《新不列颠百科全书》又称《大英百科全书》, 号称百科全书之王, 由世界各国、各学术领域的著名专家学者 (包括众多诺贝尔奖得主) 为其撰写条目。1768~1771年初版于苏格兰爱丁堡, 由英国不列颠百科全书出版社出版, 只有3卷。1920年12版时, 版权全部转让美国。现共32卷。《科里尔百科全书》这是一部20世纪新编的大型英语综合性百科全书, 为著名的三大百科全书之C。全24卷, 以更新及时, 注重重事实著称。书后所附的参考书目为各百科全书之冠, 每年会出版一本《科里尔年鉴》 (Collier's Year Book) 作为更新与补充。

《中国大百科全书》是中国第一部大型综合性百科全书, 也是世界上规模较大的几部百科全书之一。1978年, 国务院决定编辑出版《中国大百科全书》, 并成立中国大百科全书出版社。《中国大百科全书》第一版历时15年, 于1993年出齐, 共74卷;第二版历时14年, 共32卷, 于2009年出齐。

3.2 CNKI中国年鉴全文数据库

为了方便人们检索, 许多年鉴提供了网络电子版检索。CNKI中国年鉴全文数据库是CNKI的一个子数据库, 是目前国内最大的连续更新的年鉴资源全文数据库。最早的年鉴可追溯到1912年。内容覆盖基本国情、地理历史、政治军事外交、法律、经济、科学技术、教育、文化体育事业、医疗卫生、社会生活、人物、统计资料、文件标准与法律法规等各个领域。年鉴按级别分类可分为中央年鉴、地方年鉴、行业年鉴、统计年鉴、企业年鉴、学科年鉴、世界年鉴。年鉴内容按行业分类可分为地理历史、政治军事外交、法律、经济总类、财政金融、城乡建设与国土资源、农业、工业、交通邮政信息产业、国内贸易与国际贸易、科技工作与成果、社会科学工作与成果、教育、文化体育事业、医药卫生、人物等十六大专辑。地方年鉴按照行政区划分类分为北京市、天津市、河北省、山西省、内蒙古自治区、辽宁省、吉林省共34个省级行政区域出版的年鉴专辑。

摘要:本文从工具书的概念入手, 详细阐述了工具书的分类和重要工具书, 强调了掌握工具书检索方法的重要意义。

关键词:工具书,检索,分类

参考文献

[1]曹文兰.中文工具书检索的实践与思考[J].科技文献信息管理, 2003 (09) :39-41.

[2]http://baike.baidu.com/link?url=YZcAilXuGXhkD8NfYANl0FNcI5eIy9qx7JkkM jkaAi8RmzjAJdf7Hz3Sas197zJR.2013-12-01[OL].

[3]http://baike.baidu.com/view/133499.htm.2013-12-02[OL].

[4]http://epub.cnki.net/kns/brief/result.aspx?dbPrefix=CYFD.2013-12-12[OL].

工具书的检索 篇2

1、书目信息

主要通过各种书目型数据库获取, 书目型数据库可用于查明关于某一专题有哪些出版物以及如何获取等信息。书目型数据库主要有联合目录、在版图书书目和网上书店目录以及各类型图书馆公共检索目录。

1.1 联合目录

书目信息检索工具国外主要有联机计算机图书馆中心 (简称OCLC, ) , OCLC联机联合目录数据库Worldcat, 它是世界上最大的书目数据库, 可检索字段有:主题、著者、引文、分类号、语种、出版局、出版地等。国内比较著名的书目检索机构还有CALIS联合目录数据库 (http://162.102.138.230/opac) 和上海图书馆的西文文献联合目录数据库检索系统 (http://www.linet.sh.en/ejex/ex/wx.htm) 等

1.2 在版图书书目

国际上比较流行的在版书目有《在版书目》简称 (BIP) 、《全球在版图书书目》简称 (GBIP) 、《国际在版图书书目》简称 (IBIP) 和英国在版图书书目 (British Books in Print, 简称 (BBIP) 。

1.3 网上书店目录

网上书店最著名的是亚马逊网上书店, 其检索途径可以通过该网页相应窗口获取, 检索字段有著者、书名、出版社、关键词、语种、ISSN号等。国内有当当网上书店、中华读书网等, 其检索方法是按书名、作者、出版社、分类号、语种等不同的检索途径来进行检索。

1.4 各类型图书馆公共检索目录

各类型图书馆联机公共检索目录 (简称OPAC) , 用户检索某个图书馆的OPAC, 只需直接登陆到相应的图书馆网站, 进入“联机公共书目查询”或“馆藏书目数据库检索”等栏目即可实现某一专题的检索。例如:查询清华大学图书馆公共检索目录, 就可以登陆其 (http://www.lib.tsinghua.edu.cn/index.html) 。

2、期刊信息

期刊信息的检索工具有 (以中国为例) :

(1) 、清华同方CNKI的《中国期刊全文数据库 (CJFD) 》 (http://www.cnki.net) , 收录7400多种期刊, 2400多万篇, 浏览器是CAJ, AdrobReader。

(2) 、重庆维普资讯有限公司《中文科技期刊数据库》 (http://www.cqvip.com) , 浏览器是VIP, AdrobReader。

(3) 、北京万方数据公司的《数字化期刊全文数据库》 (http://www.wanfangdata.com.cn) , 浏览器是AdrobReader

(4) 、人大复印资料 (http://www.zlzx.org/) 收录人文社科类期刊论文, 分大类。

(5) 、中国知识资源总库-CNKI系列数据库 (http://caj.jllib.cn/kns50/) 浏览器:CAJ, PDF

3、学位、会议论文信息

这一类检索主要分为5大类:一、PQDD (美国博硕士论文数据库) :是世界著名的学位论文数据库, 收录有欧美1000余所大学涉及文、理、工、农、医等领域的博、硕士学位论文, 浏览器是Adobe Acrobat Reader;二、万方数据库资源系统 (http://hk.wanfangdata.com/) , 《中国学位论文全文数据库》和《中国学术会议论文全文数据库》是万方数据库资源系统的一个分支;三、中国知网 (CNKI) (http://www.cnki.net/index.htm) ;四、中国高等教育文献保障系统 (http://opac.calis.edu.cn/simpleSearch.do) ;五、中国重要会议论文全文数据库: (CPCD) China Proceedings of Conference Fulltext Database, 收录我国2000年以来国家二级以上学会、协会、高等院校等单位的论文集。

4、网页与新闻信息

主要是通过使用搜索引擎查找与该专题有关的信息和要闻。

搜索引擎 (search engine) 是运用特定的计算机程序收集互联网上的信息, 在对信息进行组织和处理后, 为用户提供检索服务的系统。搜索引擎大都提供分类查询, 用户输入关键词进行检索, 搜索引擎从索引数据库中找到匹配该关键词的网页并将检索结果显示与排列。

国外著名英文搜索引擎包括:1、Google http://www.google.com;2、Yahoo http://www.yahoo.com;3、Live http://www.live.com;4、SearchMash http://www.searchmash.com/。

国内著名搜索引擎网址有:1、百度http://www.baidu.com/;2、雅虎http://search.cn.yahoo.com/;3、Google http://www.google.cn/;4、搜狐搜索引擎http://www.sogou.com;5、新浪网http://www.iask.com/

参考文献

[1]赵惠芳:《学位论文信息的检索与获取》[J].现代情报, 2003, (09)

工具书的检索 篇3

1 Lucene是什么?

Lucene目前已经被广泛应用于全文索引/全文检索的项目。值得注意的是Lucene并不是一个完整的全文检索引擎, 而是一个全文检索引擎的架构, 是Apache软件基金会Jakarta项目组的一个子项目, 是一个开放源代码的全文检索引擎工具包。Lucene提供了完整的查询引擎和索引引擎, 部分文本分析引擎 (英文与德文两种西方语言) 。Lucene的目的是为软件开发人员提供一个简单易用的工具包, 以方便的在目标系统中实现全文检索的功能, 或者是以此为基础建立起完整的全文检索引擎。

2全文检索系统

全文检索是指计算机索引程序通过扫描文章中的每一个词, 对每一个词建立一个索引, 指明该词在文章中出现的次数和位置, 当用户查询时, 检索程序就根据事先建立的索引进行查找, 并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。

全文检索系统是按照全文检索理论建立起来的用于提供全文检索服务的软件系统。一般来说, 全文检索需要具备建立索引和提供查询的基本功能, 此外现代的全文检索系统还需要具有方便的用户接口、面向WWW的开发接口、二次应用开发接口等等。功能上, 全文检索系统核心具有建立索引、处理查询返回结果集、增加索引、优化索引结构等等功能, 外围则由各种不同应用具有的功能组成。结构上, 全文检索系统核心具有索引引擎、查询引擎、文本分析引擎、对外接口等等, 加上各种外围应用系统等等共同构成了全文检索系统。图1.1展示了上述全文检索系统的结构与功能。

在上图中, 我们看到:全文检索系统中最为关键的部分是全文检索引擎, 各种应用程序都需要建立在这个引擎之上。一个全文检索应用的优异程度, 根本上由全文检索引擎来决定。因此提升全文检索引擎的效率即是我们提升全文检索应用的根本。另一个方面, 一个优异的全文检索引擎, 在做到效率优化的同时, 还需要具有开放的体系结构, 以方便程序员对整个系统进行优化改造, 或者是添加原有系统没有的功能。比如在当今多语言处理的环境下, 有时需要给全文检索系统添加处理某种语言或者文本格式的功能, 比如在英文系统中添加中文处理功能, 在纯文本系统中添加XML或者HTML格式的文本处理功能, 系统的开放性和扩充性就十分的重要。

二、Lucene的应用和优势

1 Lucene的应用

作为一个开放源代码项目, Lucene从问世之后, 引发了开放源代码社群的巨大反响, 程序员们不仅使用它构建具体的全文检索应用, 而且将之集成到各种系统软件中去, 以及构建Web应用, 甚至某些商业软件也采用了Lucene作为其内部全文检索子系统的核心。apache软件基金会的网站使用了Lucene作为全文检索的引擎, IBM的开源软件eclipse的2.1版本中也采用了Lucene作为帮助子系统的全文索引引擎, 相应的IBM的商业软件Web Sphere中也采用了Lucene。Lucene以其开放源代码的特性、优异的索引结构、良好的系统架构获得了越来越多的应用。

2 Lucene的优势

Lucene作为一个全文检索引擎的架构, 其具有如下突出的优点:

(1) 索引文件格式独立于应用平台。Lucene定义了一套以8位字节为基础的索引文件格式, 使得兼容系统或者不同平台的应用能够共享建立的索引文件。

(2) 在传统全文检索引擎的倒排索引的基础上, 实现了分块索引, 能够针对新的文件建立小文件索引, 提升索引速度。然后通过与原有索引的合并, 达到优化的目的。

(3) 优秀的面向对象的系统架构, 使得对于Lucene扩展的学习难度降低, 方便扩充新功能。

(4) 设计了独立于语言和文件格式的文本分析接口, 索引器通过接受Token流完成索引文件的创立, 用户扩展新的语言和文件格式, 只需要实现文本分析的接口。

(5) 已经默认实现了一套强大的查询引擎, 用户无需自己编写代码即使系统可获得强大的查询能力, Lucene的查询实现中默认实现了布尔操作、模糊查询 (Fuzzy Search) 、分组查询等等。

面对已经存在的商业全文检索引擎, Lucene也具有相当的优势。

首先, 它的开发源代码发行方式 (遵守Apache Software License) , 在此基础上程序员不仅仅可以充分的利用Lucene所提供的强大功能, 而且可以深入细致的学习到全文检索引擎制作技术和面相对象编程的实践, 进而在此基础上根据应用的实际情况编写出更好的更适合当前应用的全文检索引擎。在这一点上, 商业软件的灵活性远远不及Lucene。

其次, Lucene秉承了开放源代码一贯的架构优良的优势, 设计了一个合理而极具扩充能力的面向对象架构, 程序员可以在Lucene的基础上扩充各种功能, 比如扩充中文处理能力, 从文本扩充到HTML、PDF等等文本格式的处理, 编写这些扩展的功能不仅仅不复杂, 而且由于Lucene恰当合理的对系统设备做了程序上的抽象, 扩展的功能也能轻易的达到跨平台的能力。

最后, 转移到apache软件基金会后, 借助于apache软件基金会的网络平台, 程序员可以方便的和开发者、其它程序员交流, 促成资源的共享, 甚至直接获得已经编写完备的扩充功能。最后, 虽然Lucene使用Java语言写成, 但是开放源代码社区的程序员正在不懈的将之使用各种传统语言实现 (例如.net framework) , 在遵守Lucene索引文件格式的基础上, 使得Lucene能够运行在各种各样的平台上, 系统管理员可以根据当前的平台适合的语言来合理的选择。

对于中文用户来说, 最关心的问题是其是否支持中文的全文检索。由于Lucene良好的架构设计, 对中文的支持只需对其语言词法分析接口进行扩展就能实现对中文检索的支持。在最新的Lucene1.5版本中, 就已经加入了对中文等亚洲语言的支持。

三、Lucene的结构

1 Lucene的包结构

Lucene是开放源代码的工具包, 可以在jakarta项目组的相关主页中查找到它的下载。Lucene源码中总共包括7个子包 (又称模块) , 分别是analysis、document、index、query Parse、search、store、util, 每个包都完成特定的功能, 见下表:

通过对源码的功能分析我们可以进一步得出Lucene的核心类包主要有3个, 即为org.apache.lucene.analysis、org.apache.lucene.index、org.apache.lucene.search这三个。

其中org.apache.lucene.analysis主要用于切分词, 切分词的工作由Analyzer的扩展类来实现, Lucene自带了StandardAnalyzer类, 我们可以参照该写出自己的切词分析器类, 如中文分析器等。

org.apache.lucene.index主要提供库的读写接口, 通过该包可以创建库、添加删除记录及读取记录等。

org.apache.lucene.search主要提供了检索接口, 通过该包, 我们可以输入条件, 得到查询结果集, 与org.apache.lucene.query Parser包配合还可以自定义的查询规则, 像google一样支持查询条件间的与、或、非、属于等复合查询。

2 Lucene的系统结构组织

Lucene的功能很强大, 但从根本上说, 主要包括两块:一是文本内容经切词后索引入库;二是根据查询条件返回结果。下图为Lucene系统的结构组织, 并给出系统结构与源码组织图。

从图中我们清楚的看到, Lucene的系统由基础结构封装、索引核心、对外接口三大部分组成。其中直接操作索引文件的索引核心又是系统的重点。Lucene的将所有源码分为了7个模块 (在java语言中以包即package来表示) , 各个模块所属的系统部分也如上图所示。需要说明的是org.apache.lucene.query Paser是做为org.apache.lucene.search的语法解析器存在, 不被系统之外实际调用, 因此这里没有当作对外接口看待, 而是将之独立出来。

从面象对象的观点来考察, Lucene应用了最基本的一条程序设计准则:引入额外的抽象层以降低耦合性。首先, 引入对索引文件的操作org.apache.lucene.store的封装, 然后将索引部分的实现建立在 (org.apache.lucene.index) 其之上, 完成对索引核心的抽象。在索引核心的基础上开始设计对外的接口org.apache.lucene.search与org.apache.lucene.analysis。在每一个局部细节上, 比如某些常用的数据结构与算法上, Lucene也充分的应用了这一条准则。在高度的面向对象理论的支撑下, 使得Lucene的实现容易理解, 易于扩展。

Lucene在系统结构上的另一个特点表现为其引入了传统的客户端服务器结构以外的的应用结构。Lucene可以作为一个运行库被包含进入应用本身中去, 而不是做为一个单独的索引服务器存在。这自然和Lucene开放源代码的特征分不开, 但是也体现了Lucene在编写上的本来意图:提供一个全文索引引擎的架构, 而不是实现。

四、Lucene的倒排文档索引原理

1 Lucene的索引存储

Lucene存放索引信息的是文件。它的索引存储文件设计的比较通用, 输入输出结构都很像数据库的表→记录→字段, 所以很多传统应用的文件、数据库等都可以比较方便地映射到Lucene的存储结构/接口中。它的索引存储文件结构描述如下:

1) 基本定义。

Lucene的基本概念为:索引 (Index) 、文档 (Document) 、字段 (Field) 、术语 (term) 。索引由一个文档序列组成;文档由一个个字段序列组成;字段由一个命名的术语序列组成;术语由字符串构成。

2) 字段类型。

Lucene中的字段有三个重要的属性:

A可分词性:表示字段内容被分成多个可被索引的词 (token) 。每个词是一个术语。当某个字段不分词时, 整个字段内容作为一个术语。

B可存储性:表示字段内容是直接按字词存放, 而不是以到排形式存放。

C可索引性:表示字段内容以到排形式存放, 即:记录了字段的每个术语在某一文档的出现频率。

这三个属性不具有互斥性, 字段可以同时被到排、索引和分词。

3) 段

Lucene索引可以由多个子索引 (即:段) 组成。每段是个完全独立的索引, 可以被独立搜索。索引可以通过两种方式演化:为新增加的文档创建新的段;合并已存在的段。每个段索引包含有:字段名 (Filed names) :在索引中所用到的字段名的集合;存储字段值:存储字段值的集合 (存储字段值是文档的一些辅助存储属性, 如:title, url) ;术语字典 (Term Dictionary) :存放用在所有文档中的所有索引字段的术语, 也包含了拥有该术语的文档数, 和指向该术语频率数据与位置数据的指针;术语的频率数据:包含每个术语的文档数和该术语在文档中的频率;术语位置数据:对在字典中的每个术语, 记录了术语在每个文档中的位置;标准化因子:对每个文档的每个字段, 该值与它的得分值相乘得到最后的分值;删除表:记录了已被逻辑删除但没有物理删除的文档。段都存放在一个索引目录下。

2 Lucene索引结构和算法

Lucene使用的是倒排文件索引结构。该结构及相应的生成算法如下:

首先设有两篇文章1和2

文章1的内容为:Tom lives in Guangzhou, I live inGuangzhou too.

文章2的内容为:He once lived in Shanghai.

4.2.1索引关键词的获取

由于lucene是基于关键词索引和查询的, 首先我们要取得这两篇文章的关键词, 通常我们需要如下处理措施:

a.我们现在有的是文章内容, 即一个字符串, 我们先要找出字符串中的所有单词, 即分词。英文单词由于用空格分隔, 比较好处理。中文单词间是连在一起的需要特殊的分词处理。

b.文章中的“in”, “once”, “too”等词没有什么实际意义, 中文中的“的”“是”等字通常也无具体含义, 这些不代表概念的词可以过滤掉。

c.用户通常希望查“H e”时能把含“he”, “H E”的文章也找出来, 所以所有单词需要统一大小写。

d.用户通常希望查“live”时能把含“lives”, “lived”的文章也找出来, 所以需要把“lives”, “lived”还原成“live”。

e.文章中的标点符号通常不表示某种概念, 也可以过滤掉。

在lucene中以上措施由Analyzer类完成。

经过上面处理后 (关键词用[]括起) ,

文章1的所有关键词为:[tom][live][guangzhou][i][live][guangzhou]

文章2的所有关键词为:[he][live][shanghai]

4.2.2建立倒排索引

有了关键词后, 我们就可以建立倒排索引了。上面的对应关系是:“文章号”对“文章中所有关键词”。倒排索引把这个关系倒过来, 变成:“关键词”对“拥有该关键词的所有文章号”。文章1, 2经过倒排后变成:

但是仅知道关键词在哪些文章中出现还不够, 我们还需要知道关键词在文章中出现次数和出现的位置, 通常有两种位置:a) 字符位置, 即记录该词是文章中第几个字符 (优点是关键词亮显时定位快) ;b) 关键词位置, 即记录该词是文章中第几个关键词 (优点是节约索引空间、词组 (phase) 查询快) , lucene中记录的就是这种位置。

加上“出现频率”和“出现位置”信息后, 我们的索引结构变为:

以live这行为例我们说明一下该结构:live在文章1中出现了2次, 文章2中出现了一次, 它的出现位置为“2, 5, 2”这表示什么呢?我们需要结合文章号和出现频率来分析, 文章1中出现了2次, 那么“2, 5”就表示live在文章1中出现的两个位置, 文章2中出现了一次, 剩下的“2”就表示live是文章2中第2个关键字。

以上就是lucene索引结构中最核心的部分。我们注意到关键字是按字符顺序排列的 (lucene没有使用B树结构) , 因此lucene可以用二元搜索算法快速定位关键词。

参考文献

[1].车东, 在应用中加入全文检索功能——基于Java的全文索引引擎Lucene简介, http://www.chedong.com/tech/lucene.htm

[2].高琰, 《基于Lucene的搜索引擎设计与实现》, 微机发展, 2004 (10)

[3].开放源代码的全文检索引擎Lucene——介绍、系统结构与源码实现分析, http://www.lucene.com.cn/about.htm

[4].Lucene倒排索引原理, http://www.lucene.com.cn/yanli.htm

[5].周宁, 《基于Lucene/XML的全文检索机制研究》, 图书情报知识, 2005 (6)

上一篇:创作规划下一篇:通信网络保护