一种全文检索技术的思路和实现
- 格式:doc
- 大小:439.50 KB
- 文档页数:22
全⽂检索原理在介绍全⽂检索前,先简单说下全⽂数据搜索的两种⽅式: 顺序扫描法(Serial Scanning):所谓顺序扫描,⽐如要找内容包含某⼀个字符串的⽂件,就是⼀个⽂档⼀个⽂档的看,对于每⼀个⽂档,从头看到尾,如果此⽂档包含此字符串,则此⽂档为我们要找的⽂件,接着看下⼀个⽂件,直到扫描完所有的⽂件。
如利⽤windows的搜索也可以搜索⽂件内容,只是相当的慢。
如果你有⼀个80G硬盘,如果想在上⾯找到⼀个内容包含某字符串的⽂件,不花他⼏个⼩时,怕是做不到。
Linux下的grep命令也是这⼀种⽅式。
⼤家可能觉得这种⽅法⽐较原始,但对于⼩数据量的⽂件,这种⽅法还是最直接,最⽅便的。
但是对于⼤量的⽂件,这种⽅法就很慢了。
全⽂检索(Full-text Search) :对全⽂数据中的⼀部分信息提取出来,重新组织,使其变得有⼀定结构,然后对此有⼀定结构的数据进⾏搜索,从⽽达到搜索相对较快的⽬的。
这部分从⾮结构化数据中提取出的然后重新组织的信息,我们称之索引。
这种先建⽴索引,再对索引进⾏搜索的过程就叫全⽂检索(Full-text Search)。
下⾯这幅图描述了全⽂检索的⼀般过程:全⽂检索⼤体分两个过程,索引创建(Indexing)和搜索索引(Search)。
索引创建:将现实世界中所有的结构化和⾮结构化数据提取信息,创建索引的过程。
搜索索引:就是得到⽤户的查询请求,搜索创建的索引,然后返回结果的过程。
于是全⽂检索就存在三个重要问题:1. 索引结构?(Index)2. 如何创建索引?(Indexing)3. 如何对索引进⾏搜索?(Search)下⾯我们顺序对每个问题进⾏研究。
1.索引⾥⾯究竟存些什么索引⾥⾯究竟需要存些什么呢?⾸先我们来看为什么顺序扫描的速度慢:其实是由于我们想要搜索的信息和⾮结构化数据中所存储的信息不⼀致造成的。
⾮结构化数据中所存储的信息是每个⽂件包含哪些字符串,也即已知⽂件,欲求字符串相对容易,也即是从⽂件到字符串的映射。
基于Lucene全文检索系统的研究与实现[摘要] lucene是一个开放源代码的全文检索引擎工具包,利用它可以快速地开发一个全文检索系统。
利用lucene开发了一个全文检索系统,通过其特殊的索引结构,实现了传统数据库不擅长的全文索引机制,提供了对非结构化信息的检索能力。
[关键词] lucene 信息检索全文检索索引一、引言计算机技术及网络技术的迅速发展,使得internet成为人类有史以来资源最多、品种最全、规模最大的信息资源库。
如何在这海量的信息里面快速、全面、准确地查找所需要的资料信息已经成了人们关注的焦点,也成了研究领域内的一个热门课题。
这些信息基本上可以分做两类:结构化数据和非结构化数据(如文本文档、word 文档、pdf文档、html文档等)。
现有的数据库检索,是以结构化数据为检索的主要目标,实现相对简单。
但对于非结构化数据,即全文数据,由于复杂的数据事务操作以及低效的高层接口,导致检索效率低下。
随着人们对信息检索的要求也越来越高,而全文检索因为检索速度快、准确性高而日益受到广大用户的欢迎, lucene是一个用java写的全文检索引擎工具包,可以方便地嵌入到各种应用中实现针对应用的全文索引和检索功能。
这个开源项目的推出及发展,为任何应用提供了对非结构化信息的检索能力。
二、全文检索策略通常比较厚的书籍后面常常附关键词索引表(比如,北京:12,34页,上海:3,77页……),它能够帮助读者比较快地找到相关内容的页码。
而数据库索引能够大大提高查询的速度原理也是一样,由于数据库索引不是为全文索引设计的,因此,使用like “%keyword%”时,数据库索引是不起作用的,在使用like查询时,搜索过程又变成类似于一页页翻书的遍历过程了,所以对于含有模糊查询的数据库服务来说,like对性能的危害是极大的。
如果是需要对多个关键词进行模糊匹配:like“%keyword1%”and like “%keyword2%”……其效率也就可想而知了。
ocr全文检索逻辑OCR全文检索逻辑随着信息技术的不断发展,OCR(Optical Character Recognition)技术逐渐成为数字化时代不可或缺的一部分。
OCR全文检索逻辑作为OCR技术的重要应用之一,被广泛运用在图书馆、档案馆、法院等各行各业。
本文将从OCR全文检索逻辑的定义、原理、应用和未来发展等方面进行探讨,以便更好地理解和应用这一技术。
OCR全文检索逻辑是指利用OCR技术对文本进行识别和提取,再通过特定的逻辑算法实现对文本内容的全面检索和搜索。
其原理主要包括文本识别、文本处理、索引建立和检索等环节。
通过OCR技术将纸质文档或图片中的文字转换为可编辑的文本,再结合全文检索算法建立索引,最终实现对文本内容的准确、高效检索。
这一过程涉及多个领域的知识,如计算机视觉、自然语言处理、信息检索等,需要综合运用多种技术手段。
OCR全文检索逻辑在实际应用中具有广泛的意义和价值。
在图书馆中,可以通过OCR全文检索逻辑实现对大量书籍和资料的快速检索和阅读,提高信息检索的效率和准确性。
在档案馆中,可以利用OCR全文检索逻辑对大量档案文件进行数字化处理和管理,实现档案信息的快速查找和共享。
在法院中,可以通过OCR全文检索逻辑对法律文书和案件资料进行全面检索和分析,提高司法办案的效率和质量。
OCR全文检索逻辑在未来的发展中还有许多挑战和机遇。
随着人工智能和大数据技术的不断发展,OCR全文检索逻辑将更加智能化和个性化,实现对文本内容的语义理解和情感分析。
同时,随着云计算和物联网技术的广泛应用,OCR全文检索逻辑将实现跨平台和跨设备的无缝连接,实现多端数据的共享和同步。
此外,隐私保护和信息安全等问题也将成为OCR全文检索逻辑发展的重要考量因素,需要加强技术研究和政策监管。
OCR全文检索逻辑作为一种重要的信息检索技术,在数字化时代具有重要的应用和发展前景。
通过不断探索和创新,将更好地发挥其在图书馆、档案馆、法院等领域的作用,推动信息化建设和智能化发展。
全文检索技术知网调研报告全文检索技术是一种用于在大规模文本数据中快速定位和提取相关文档的方法。
它在信息检索、文本挖掘等领域应用广泛。
知网作为我国最大的科技文献资源数据库,也采用了全文检索技术,以提供高效的文献检索服务。
下面将对知网的全文检索技术进行调研并撰写一份报告。
知网的全文检索技术基于分布式搜索引擎Elasticsearch。
Elasticsearch是一个开源的分布式全文搜索和分析引擎,可以实现快速的搜索、分析和可视化。
知网通过构建自己的搜索引擎集群,将分散的文献数据整合在一起,并提供高性能的检索服务。
在知网的全文检索技术中,有几个关键的步骤。
首先是数据的集成和索引化。
知网将来自不同来源的文献数据进行整合,通过建立索引,将文档中的关键词和其对应的位置信息进行记录。
这样可以加快搜索速度,并提供精确的搜索结果。
其次是查询解析和检索。
用户在进行搜索时,可以输入关键词、字段约束、逻辑操作符等。
知网的全文检索技术通过对用户查询进行解析,分析查询语义,生成查询条件。
然后通过索引进行检索,根据匹配度进行排序和返回相关的文档。
同时,知网的全文检索技术还支持高级搜索功能。
用户可以进行范围搜索、模糊搜索、布尔搜索等。
这些功能可以帮助用户进一步精确搜索所需的文献。
此外,知网的全文检索技术还支持中英文混合检索。
在处理中文时,会利用分词技术将中文文本进行分解,提高检索的准确性。
对于英文文本,则可以直接进行英文单词的匹配。
在全文检索的结果展示方面,知网提供了相应的排序、过滤和分页功能,以帮助用户更快地找到所需的文献。
此外,知网还可以根据文献的相关性、时间等进行自动排名,以提供更好的搜索体验。
总结来说,知网的全文检索技术采用了分布式搜索引擎Elasticsearch,并通过数据集成、索引化、查询解析等步骤实现了高效的文献检索功能。
它不仅可以支持关键词搜索,还提供了高级搜索功能和中英文混合检索的支持。
相信随着技术的不断发展和进步,知网的全文检索技术将会变得更加强大和可靠,为用户带来更好的检索体验。
全文检索原理
全文检索(Full-Text Search)是指对一段文本中的所有内容进
行检索查询,而不仅仅是针对标题或关键字进行搜索。
在全文检索中,不管文本内容的长度或类型,系统都会将整段文本进行索引,并根据查询条件从索引中匹配相应的文本。
全文检索的原理一般包括以下几个步骤:
1. 分词:将待检索的文本按照一定规则切分成词(或称为词条、索引项),通常使用空格或标点符号作为分隔符。
2. 建立倒排索引:将分词得到的词条进行排序,并建立一个由词条指向文档的索引表。
倒排索引可以加快检索速度,通过索引表可以快速找到包含某个词条的文档。
3. 查询处理:根据用户的查询条件,先对查询语句进行分词,然后通过倒排索引将分词后的词条与已建立的索引表进行匹配。
4. 权重排序:根据词条在文档中的出现频率和重要性,计算出文档与查询的相关度得分,并根据得分对文档进行排序。
常用的算法有TF-IDF(词频-逆向文档频率)和BM25(Okapi-
BM25)等。
5. 返回结果:将匹配的文档按照相关度得分的高低返回给用户,用户可以根据需要进行进一步的筛选和排序。
需要注意的是,在全文检索中,标题并不是必须的,因为全文
检索是对整段文本进行检索,而不仅仅是针对标题。
另外,为了确保索引的准确性和效率,要避免重复的标题或内容,因为重复的文字会导致索引冗余,增加检索的复杂度。
全文检索技术在各种应用场景中广泛应用,例如搜索引擎、文档管理系统、论坛、博客等。
它可以提高搜索的准确性和效率,帮助用户快速找到需要的信息。
Microsoft全⽂搜索技术本⽩⽪书介绍了全⽂搜索的基本概念,并解释了不同 Microsoft产品是如何应⽤全⽂搜索的。
这些信息可以帮助您确定哪个 Microsoft 产品最适合您的信息检索需求。
Microsoft 全⽂搜索技术已经应⽤于多个服务器和客户端产品。
提供的具体功能取决于每个产品的具体要求。
这些不同也反映出该技术的发展。
但是,所有产品都因为利⽤全⽂索引来有效检索⾮结构化的⽂本数据的共同优点⽽受益。
下列 Microsoft 产品利⽤了不同的 Microsoft 全⽂搜索技术:Index Server,⽤于Microsoft Windows的索引服务Microsoft SharePoint? Portal Server 2001Microsoft SQL Server? 7.0 和 SQL Server 2000Microsoft Exchange Server 2000Microsoft Site Server 3.0Microsoft Office XP您选择什么产品取决于您的⽤途。
例如,您可能是要搜索 Intranet 站点或 Internet 站点、Exchange 公共⽂件夹,或者要搜索结构化数据或⾮结构化数据。
您可能需要迎合内部团队,或者需要通过 Extranet 站点满⾜客户需求。
这些考虑和其他考虑可帮助您决定什么产品是适合您的最佳产品。
全⽂搜索全⽂搜索的任务是根据⽤户的需求,提供⼀组来源中的相关信息。
对此需求的表达通常是⽂本查询,在此组来源的每个⽂档中搜索每个(或所有)查询词。
处理查询时有⼀个简单的⽅法可打开并扫描每个⽂档,寻找每个查询词。
但是,在处理查询时打开每个⽂档并搜索查询词会很费时间。
此⽅法并不⽐个⼈⽤户⾃⼰在少量⽂档中搜索⾼明。
⼀个简单的解决⽅案是事先完成⼤部分⼯作。
实现⽅法是,提出每个⽂档中的术语信息并⽤⼀种便于检索的⽅法保存此信息。
那么处理查询时就不⽤扫描每个⽂档了。
全文检索如何实现搜索历史记录和推荐功能?全文检索技术是指通过对全文进行分析和索引构建,实现对文本内容的高效搜索和查询。
在信息爆炸的时代,全文检索技术不仅可以帮助用户快速找到想要的信息,还可以提供搜索历史记录和推荐功能,提升用户体验和搜索效果。
一、搜索历史记录的实现搜索历史记录是指记录用户在搜索引擎中进行的搜索请求和搜索结果,以便用户可以回顾、管理和重复使用。
实现搜索历史记录的主要步骤如下:1. 用户登录和身份识别:通过用户登录来标识用户身份,以便将搜索历史记录和个人信息相关联。
2. 搜索请求的存储:当用户进行搜索请求时,将该请求及相关信息存储到用户个人账户的搜索历史记录中。
3. 搜索历史记录的展示:在用户再次访问搜索引擎时,通过读取用户个人账户的搜索历史记录并展示出来,方便用户回顾和使用。
4. 搜索历史记录的管理:用户可以对搜索历史记录进行管理,包括删除、清空等操作,以便更好地管理个人搜索行为。
二、推荐功能的实现推荐功能是指在用户进行搜索时,根据用户的搜索历史记录和其他相关信息,为用户提供个性化的搜索推荐,以提升搜索的准确性和效率。
实现推荐功能的主要步骤如下:1. 用户画像的建立:根据用户的搜索行为、兴趣偏好、地理位置等信息,建立用户画像,以便更好地理解用户需求。
2. 相似搜索词的推荐:根据用户的搜索历史记录,分析用户的搜索习惯和兴趣,为用户提供与其搜索历史相关的相似搜索词推荐。
3. 相关搜索结果的推荐:通过分析用户的搜索历史记录和其他用户的搜索行为,为用户提供与其搜索内容相关的其他搜索结果推荐,以便用户获取更全面的信息。
4. 热门搜索词的推荐:根据当前热门搜索词和用户个人兴趣,为用户推荐热门搜索词,以便用户了解时下最热门的搜索内容。
总结起来,全文检索技术不仅可以帮助用户快速找到想要的信息,还可以实现搜索历史记录和推荐功能。
搜索历史记录可以让用户方便地回顾和管理搜索行为,而推荐功能则可以根据用户的搜索历史和其他相关信息,为用户提供个性化的搜索推荐,提升搜索的准确性和效率。
ocr全文检索逻辑OCR全文检索逻辑是指通过光学字符识别技术将纸质文档转换为电子文档,并利用计算机技术对电子文档进行全文检索的过程。
全文检索是一种非常高效的信息查找方式,可以大大提高工作效率。
OCR全文检索的逻辑主要分为以下几个步骤:1. 文档扫描:首先需要将纸质文档通过扫描仪等设备转换为数字化的图像文件。
2. 图像预处理:对于扫描得到的图像文件,需要进行预处理,包括图像增强、噪声去除、二值化等操作,以便于后续的字符识别处理。
3. 字符识别:利用OCR技术对数字化的图像文件进行字符识别,将其转换为计算机可读取的文字格式。
4. 文本提取:将识别出来的文字提取出来,并进行分段、分句等处理,以便于后续的全文检索操作。
5. 索引建立:对于提取出来的文字内容,需要建立相应的索引库,包括单词、短语、句子等级别的索引,并建立相应的倒排索引表。
6. 检索操作:用户输入相关查询关键字后,在索引库中查找匹配的文档,并返回相关的检索结果。
除了以上的基本流程外,OCR全文检索还需要考虑以下几个方面:1. 精度问题:OCR技术的精度直接影响到后续全文检索的效果,因此需要选择高精度的OCR技术,并对识别结果进行校验和修正。
2. 语言处理:针对不同语言和字符集,需要选择相应的OCR技术,并对识别结果进行相应的处理和转换。
3. 数据存储:对于大量的电子文档,需要进行合理的数据存储和管理,以便于后续的全文检索操作。
4. 检索效率:针对大规模数据集,需要优化检索算法和查询引擎,以提高检索效率和响应速度。
综上所述,OCR全文检索逻辑是一个复杂而又高效的过程,需要结合各种技术手段来实现。
随着技术不断发展和完善,OCR全文检索将会在各个领域得到广泛应用。
第一章全文检索技术1.1概述目前系统中存在着大量的报文信息,每条报文的数据量较小,大概2000-3000字节左右,但是总体报文的条数较多。
这些报文信息属于非结构化数据,目前查询这些海量非结构化数据的速度较慢,而通过全文检索技术能高效地管理这些非结构化数据。
全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。
1.2全文检索过程根据全文检索的定义可以看出全文检索大体分两个过程,索引创建和搜索索引。
索引创建:将数据提取信息,创建索引的过程。
搜索索引:得到用户的查询请求,搜索创建的索引,然后返回结果的过程。
索引过程:1) 有一系列被索引文件2) 被索引文件经过语法分析和语言处理形成一系列词3) 经过索引创建形成词典和反向索引表4) 通过索引存储将索引写入硬盘搜索过程:a) 用户输入查询语句。
b) 对查询语句经过语法分析和语言分析得到一系列词c) 通过语法分析得到一个查询树d) 通过索引存储将索引读入到内存e) 利用查询树搜索索引,从而得到每个词(Term)的文档链表,对文档链表进行交,差,并得到结果文档f) 将搜索到的结果文档对查询的相关性进行排序g) 返回查询结果给用户1.3建立索引库1.3.1索引组织全文检索中索引的组织方法有两种,即正排表和倒排表。
正排表是以文档的ID为关键词,表中记录项记录文档中每个词的位置信息,查找时扫描表中每个文档中词的信息直到找出所有包含查询关键词的报文。
这种组织方法建立索引比较方便,结构简单且易于维护,但是在查询的时候需对所有的报文进行扫描以确保没有遗漏,这样就使得检索时问大大延长,检索效率低下。
所以通常都采用另一种词表组织方法:倒排表。
倒排表按词或字为关键词(字)进行索引,表中关键词对应的记录表项用来记录所有出现这个词的文档,一个表项就是一个词表段,记录该文档的ID和该在该文档中出现的位置信息。
河南农业大学 本科生毕业论文(设计)
题 目 一种全文检索技术的思路和实现 学 院 经济与管理学院 专业班级 信息管理与信息系统 2006级1班 学生姓名 刘盈凯 指导教师 王彩霞
撰写日期: 2010 年 5 月 5 日 1
目 录 1.引言 ..................................................................... 1 2.全文检索技术和系统开发的背景 .............................................. 1 2.1全文检索的概念和现状 ................................................... 1 2.2系统目标和技术架构 ..................................................... 3
3.系统核心算法实现 ......................................................... 4 3.1索引算法及其实现 ....................................................... 4 3.2索引数据结构和索引数据存储算法 ......................................... 9 3.3索引模式实现方法 ...................................................... 11
4.检索方法实现 ............................................................ 14 4.1检索过程 .............................................................. 14 4.2关键词高亮 ............................................................ 15
结语 ...................................................................... 15 参考文献 .................................................................. 17 ABSTRACT .................................................................. 19 1
中文摘要 为了全面有效的获取到知识,从古到今人们一直在不断的探索各种不同的信息检索方式。本文从信息检索领域的一个小处即从本地文件系统出发的全文检索。本文正文部分首先对全文检索进行了介绍,分析了当前国内全文检索领域发展存在的问题,提出了笔者对全文检索的看法,并根据笔者的思路开发了一套较为完整的系统,在此基础上引出本系统的开发思路,通过流程图辅以实现代码和思路的方式,剖析了程序的核心思路和算法。重点讲述了系统在切词、建立索引、索引同步、检索过程等部分。本系统采用SrpingMVC框架,全面采用面向对象的方式进行开发,设计较为合理。在切词效率和检索效率方面性能优越。可以说是一个较为完善的中文全文检索系统。 关键词:信息系统,全文检索,倒排索引 1.引言 在图书馆学和情报学领域,信息被定义为事物(Thing)或记录(Record)。信息检索也并不是web所特有的一个研究课题,早在本世纪50年代,当计算机被图书馆等部门用于存储和管理文档时信息检索就作为一个研究领域而诞生了。随着计算机技术的飞速发展,各种全文检索产品也踊跃出现,但几乎所有的全文检索产品都被作为商业机密保护起来了,笔者在阅读了相关理论知识的基础上做了该领域具体的实践工作,并且形成了一个较为完善的全文检索系统,本系统切词采用正向最大模式切词,建立索引采用的是倒排索引技术,排序使用TF-IDF的统计方法,达到的目的就是简单,迅速,准确的找到用户所需要的信息。本检索系统采用java做为实现语言,采用WEB的方式进行信息检索,适用于各种实现静态化的网站系统和文本(包括html,txt,pdf,word)形式的文件系统。本文的索引策略参考了很多资料,其中也包括该领域比较有名的Lucene。总之,搜索将成为编程领域的热门话题。
2.全文检索技术和系统开发的背景 由于RDBMS自身底层结构的缘故使得它管理大量非结构化数据显得有些先天不足,特别是查询这些海量非结构化数据的速度较慢,在排序方面也存在非常严重的问题。而通过全文检索技术就能高效地管理这些非结构化数据。而全文检索技术正为了解决这些问题而产生的,全文检索是一个全文检索克服了RDBMS的模糊查找的局限性。具有快速,全面的特点。 本系统是在全文检索领域的一个尝试,由于知识水平的有限在一些较为关键的地方存在问题。本文将在后文中一一介绍。
2.1全文检索的概念和现状 一个站点内容积累在万级以上,站内全文检索就会是用户定位最主要的手段,而关键词检索是用户最熟悉的方法。因此基于数据库的传统WEB应用在全文检索需求还是很大的。 2
但是可怕的%like%数据库操作可能会吃掉数据库服务器90%以上的CPU。Oracle MSSQL等数据库服务器中数据库内置的全文检索基本上都不太适合WEB应用。而数据库另外一个的弊端在于对于条件简单的查询返回结果集非常大:数据库并不知道如何面向用户最关心的的头100条结果进行优化。根据以前的统计:头100条结果往往已经可以满足 95%以上用户需求。 全文检索是一种将文件中所有文本与检索项匹配的文字资料检索方法。目前主流的RDBMS提供了全文检索的功能,检索的效率成了人们关注的重点,目前关系型数据库的检索一般是应用在进行字段查询的系统中,而非全文检索。全文检索是当前搜索引擎的核心技术之一,全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先简历的索引进行查找,并将查找的结果反馈给用户的检索方式。这种思想来源于书目索引。目前的全文检索尚缺乏对web后台数据库内容查询的支持,用户所需的深层次信息无法获得,这是一个web搜索引擎目前不能做到的,也是小型网站和信息系统正需要的。本系统在扩展到检索数据库方面留有接口。目前的全文检索大都是商业化的全文检索,web搜索引擎都是商业化的搜索引擎,因为其运营成本极高。另外一种越来越受到关注的全文检索是垂直搜索引擎,垂直搜索引擎可以实现行业内主题的精准搜索。近年来,情报界的学者已经对文献信息检索进行了大量的理论探讨与实践,本系统是在参考了大量的理论文章的基础上进行实践的。 目前主流的全文检索模型有倒排索引、署名文件、位图等,其中以倒排索引模型的综合性能最好,应用也最为成熟。本系统使用的是倒排索引模型。
2.1.1倒排索引 倒排索引是从数目索引中受到启发而诞生的,文本可以用一系列的关键词来描述。倒排索引为每个关键词建立一个索引,关键词是文本中的所有词(根据词库切词而得到)。本系统中使用word表来存储这些关键词,在关键词的属性中存放了本关键词在文章中的位置信息。 基于关键词的的索引过程要借助于“词库”,从文本中分离出有意义的词,也就是去除无意义的词——“停止词”。这一过程通常被称为“切词”,对于中文来说,分词算法很不简单。这是索引过程中的关键技术。笔者将在后文详细介绍系统中的实现方法和存在的问题。 3
2.1.2按词检索方法 全文检索的方法主要分为按字检索和按词检索两种。按字检索式指对于文章中的每一个字都建立索引,检索时将词分解为字的组合。对于各种不同的语言而言,字有不同的含义,比如英文中字与词实际上是合一的,而中文中字与词有很大分别。按词检索指对文章中的词,即语义单位建立索引,检索时按词检索,并且可以处理同义项等。英文等西方文字由于按照空白切分词,因此实现上与按字处理类似,添加同义词处理也相对容易。中文等亚洲文字则需要切分词,以达到按词检索的目的,关于这方面的问题,是当前全文检索技术尤其是中文检索技术中的难点,本系统在建立索引时为检索提供了较为便捷的方法,即通过TF-IDF算法排序实现和倒排索引的索引模型实现达到快速、准确查找到所需内容。
2.1.3 目前该领域的一些研究成果 目前最活跃的全文检索工具就是lucene,lucene是一个相当优秀的全文检索工具包,封装了大量的主要方法。在分词领域有中科院ictclas4j中文分词系统、IKAnalyzer、paoding、等开源分词工具包。这些都是优秀而且成熟的产品。与之相比本系统在切词性能上比IKAnalyzer快,但是比paoding慢,在检索速度上比lucene快。
2.2系统目标和技术架构 2.2.1系统目标 本全文检索系统是为了降低全文检索的难度,本系统适用于中小型不同架构实现静态化的网站系统和基于文件系统的信息系统,这个本系统的首要目的。二是达到面向中文的精确切词。三是保证快速查找到目标数据。这三方面对系统性能要求很高,就是系统应该在检索效率和质量上达到要求。系统本地运行一万组数据测试,每组平均长度为56个字符的情况下,分词用时1.17秒。这是一个比较优秀的成绩。同样的数据使用Lucene和IK分词器需要4.23秒。
2.2.2技术架构 本系统开发环境为: