`
gaowenming
  • 浏览: 162714 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

全文检索的基本过程

阅读更多

我们生活中的数据总体分为两种:结构化数据和非结构化数据。
• 结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。
• 非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等。
当然有的地方还会提到第三种,半结构化数据,如XML,HTML等,当根据需要可按结构化数据来处理,也可
抽取出纯文本按非结构化数据来处理。
非结构化数据又一种叫法叫全文数据。
按照数据的分类,搜索也分为两种:
对结构化数据的搜索 :如对数据库的搜索,用SQL语句。再如对元数据的搜索,如利用windows搜索对
文件名,类型,修改时间进行搜索等。
对非结构化数据的搜索 :如利用windows的搜索也可以搜索文件内容,Linux下的grep命令,再如用
Google和百度可以搜索大量内容数据

全文检索大体分两个过程,索引创建(Indexing)和搜索索引(Search)
• 索引创建:将现实世界中所有的结构化和非结构化数据提取信息,创建索引的过程。
• 搜索索引:就是得到用户的查询请求,搜索创建的索引,然后返回结果的过程。

全文检索的索引创建过程一般有以下几步:

1:准备待索引的原文档(Document)


2:将原文档传给分次组件(Tokenizer)。
分词组件(Tokenizer)会做以下几件事情(此过程称为Tokenize):
1. 将文档分成一个一个单独的单词。
2. 去除标点符号。
3. 去除停词(Stop word)。

经过分词(Tokenizer)后得到的结果称为词元(Token)。


3:将得到的词元(Token)传给语言处理组件(Linguistic Processor)。

对于英语,语言处理组件(Linguistic Processor)一般做以下几点:
1. 变为小写(Lowercase)。
2. 将单词缩减为词根形式,如“cars”到“car”等。这种操作称为:stemming。
3. 将单词转变为词根形式,如“drove”到“drive”等。这种操作称为:lemmatization。

语言处理组件(linguistic processor)的结果称为词(Term)。


4:将得到的词(Term)传给索引组件(Indexer)。

索引组件(Indexer)主要做以下几件事情:
1. 利用得到的词(Term)创建一个字典。
2、对字典按字母顺序进行排序。

3. 合并相同的词(Term)成为文档倒排(Posting List)链表。

下面是lucene的原理过程

1. 索引过程:
1) 有一系列被索引文件
2) 被索引文件经过语法分析和语言处理形成一系列词(Term)。
3) 经过索引创建形成词典和反向索引表。
4) 通过索引存储将索引写入硬盘。
2. 搜索过程:
a) 用户输入查询语句。
b) 对查询语句经过语法分析和语言分析得到一系列词(Term)。
c) 通过语法分析得到一个查询树。
d) 通过索引存储将索引读入到内存。
e) 利用查询树搜索索引,从而得到每个词(Term)的文档链表,对文档链表进行交,差,并得到结果文档。
f) 将搜索到的结果文档对查询的相关性进行排序。
g) 返回查询结果给用户。

分享到:
评论

相关推荐

    基于Lucene的实时全文检索系统(含论文)

    本文主要是研究了全文检索技术的基本原理以及Lucene的架构和工作原理,并介绍了基于Lucene的实时全文检索引擎的设计实现过程。并提供了一个基于Web的简单实现。最后通过实验的方式,对实现的实时全文检索引擎的性能...

    sql2005全文检索.doc

     1) 建立找资本全文检索储存过程USP_CaptialInfo_FullIndex。 /* 找资本全文索引开发过程  */ CREATE PROCEDURE USP_CaptialInfo_FullIndex ( @TableViewQueryNameVarchar( 1024 ), --传入的查询字符窜 @...

    Lucene的全文检索的研究与应用

    为了改善传统全文检索...的基本过程.该模型可用于中小型的全文检索系统的实现,同时可基于此模型开发定制个性化的搜索引擎。最后通过实验对比了其与传统检索方式的响应时间,利用Lucern的全文检索具有更快的响应速度.

    信息检索复习范围

    14.信息检索查询处理的基本过程 15.什么是相关度反馈 16.实例计算相关度反馈的查询重写 17.分析违反馈和隐反馈 18.查询扩展的方法有哪些 19.描述网络爬虫系统 20.网页预处理的过程有哪些 21.描述pagerank算法 22....

    大学文献检索资料 DOC

    第一章 信息检索的基本知识 第一节 信息、知识、文献、情报 信息: 应用文字、数据和信号形式通过一定的传递和处理,来表现各种相互联系的客观事物在运动变化中所具有特征性的内容的总称。 知识: 人们通过实践对...

    基于关联挖掘的构件检索方法研究及原型系统实现

    构件复用过程中,用户常因对构件描述机制认识有限而难以提出准确的检索需求,从而影响查准率。本文针对基于刻面描述的软件构件,借鉴数据挖掘中关联规则挖掘的有关理论,提出了带有用户反馈的自适应构件检索系统以及...

    基于内容图像检索技术 - 周明全、耿国华、韦娜 - 清华大学出版

    《基于内容图像检索技术》从理论方法研究与实现技术角度,总结归纳了基于内容图像检索(CBIR)技术的研究与进展,并融入了作者多年来的相关研究与应用成果,系统地介绍了CBIR的主要概念、基本原理、典型方法、实用...

    信息检索技术

    1.了解信息的特征、信息检索的概念、信息检索的目的和意义。 2.理解检索工具的结构及目录、索引、文摘3种主要检索工具的特点及作用。 ...4.了解信息检索的基本途径,掌握信息检索的方法和步骤。

    信息检索 范例 使用中外文数据库

    这个信息检索范例报告主要是针对使用信息检索...通过学习,很轻松容易的掌握信息资源检索、分析与利用基本知识以及常见中外文数据库的检索与使用。综合运用所学理论知识和本专业理论知识,做好专业毕业设计选题和论证。

    骆卫华-利用开源工具构造小型搜索引擎

    着重分析信息系统检索的逻辑模式、技术方法、操作过程,并通过实验教学环节广泛接触各种类型的信息检索系统,使学生能够系统、全面的学习各种信息检索技术和方法,了解常用信息检索系统的原理、功能和基本结构。...

    袁学松老师的《现代信息检索》课件

    1.1 有关信息检索的一些概念 1.2信息检索的类型及特点 1.3信息检索的基本步骤 1.4检索工具 1.5 检索语言 1.6 信息检索的发展趋势

    基于内容的卫星云图处理与信息检索技术研究

    近年来,随着信息时代特别是数字时代的来临,计算机信息处理已经成 为卫星云图处理最主要的手段。...库、检索、应用及预报的业务过程作为一个整体联系起来,提高了卫星云图 的应用效率,具有较高的理论价值和应用价值。

    基于Python设计的信息检索系统【100011728】

    掌握基本的信息检索方法,了解检索系统的搭建; 具备实现、维护与优化信息检索系统的能力。 目前实现的功能有: 自动获取某英文小说网站的文本作为数据源; 建立查询表; 计算指定词的 TF-IDF值; 进行布尔查询; ...

    信息检索-索引的建立作业

    信息检索,基本索引的建立,包括对歌词文件的,读取单词,排序,建立倒排缩影的全部过程,整个过程都有详细的流程说明,附加文档说明喔!

    基于Python英文文本信息检索系统【100011305】

    开发一款针对英文文本的信息检索系统,可以实现建立索引表、布尔查询、通配符查询、短语查询等功能,并通过开发过程达到以下目的: (1)复习本学期所学信息检索知识; (2)掌握基本的信息检索方法,了解检索系统的...

    [详细完整版]信息检索技术.doc

    旧分类方法:文献检索、事实检索、数据检索 新分类方法:文本检索、数值检索、音/视频检索 2,试分析阐述信息检索的基本原理,信息集合、需求集合、匹配与选择,信息检索三阶 段及期特点? 答:即信息集合与需求...

    lucene 例子 原理分析 大作业 信息检索

    这是我们 信息检索 的大作业。由于是选修课, 没有做的很大。但基本的怎么使用lucene以及对其 原理的分析都很清楚。里面还有一个能跑的工程。 包括源码和一个发布的工程。两者可能有点点不一致。 (less than 1%) ...

    基于Python和PyQt5库实现的面向英文文献的编辑与检索系统 毕业设计附代码.rar

    基本要求 设计图形界面,可以实现英文文章的编辑与检索功能 编辑过程包括: 创建新文件;打开文件;保存文件 查找:输入单词在当前打开的文档中进行查找,并将结果显示在界面中 替换:将文章中给定的单词替换为另外...

    信息检索论文

    详细描述了SPSS的聚类分析过程中的基本原理及其操作步骤

    基于java习题检索系统毕业设计

    通过这些功能模块的设计,基本上实现了整个习题信息管理的过程。 具体在系统设计上,采用了B/S的结构,同时,也使用java技术在动态页面上进行了设计,后台上采用Mysql数据库,是一个非常优秀的习题检索系统。

Global site tag (gtag.js) - Google Analytics