lucence基础知识
来源:互联网 发布:python可以建网站吗 编辑:程序博客网 时间:2024/06/09 22:17
数据分类
我们生活中的数据总体分为两种:结构化数据和非结构化数据。
结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等。
非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等磁盘上的文件
非结构化数据查询方法
(1)顺序扫描法(Serial Scanning)
所谓顺序扫描,比如要找内容包含某一个字符串的文件,就是一个文档一个文档的看,对于每一个文档,从头看到尾,如果此文档包含此字符串,则此文档为我们要找的文件,接着看下一个文件,直到扫描完所有的文件。如利用windows的搜索也可以搜索文件内容,只是相当的慢。
(2)全文检索(Full-text Search)
将非结构化数据中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构的数据进行搜索,从而达到搜索相对较快的目的。这部分从非结构化数据中提取出的然后重新组织的信息,我们称之索引。
例如:字典。字典的拼音表和部首检字表就相当于字典的索引,对每一个字的解释是非结构化的,如果字典没有音节表和部首检字表,在茫茫辞海中找一个字只能顺序扫描。然而字的某些信息可以提取出来进行结构化处理,比如读音,就比较结构化,分声母和韵母,分别只有几种可以一一列举,于是将读音拿出来按一定的顺序排列,每一项读音都指向此字的详细解释的页数。我们搜索时按结构化的拼音搜到读音,然后按其指向的页数,便可找到我们的非结构化数据——也即对字的解释。
这种先建立索引,再对索引进行搜索的过程就叫全文检索(Full-text Search)。
虽然创建索引的过程也是非常耗时的,但是索引一旦创建就可以多次使用,全文检索主要处理的是查询,所以耗时间创建索引是值得的。
Lucene实现全文检索的流程
索引和搜索流程图
1、绿色表示索引过程,对要搜索的原始内容进行索引构建一个索引库,索引过程包括:
确定原始内容即要搜索的内容à采集文档à创建文档à分析文档à索引文档2、红色表示搜索过程,从索引库中搜索内容,搜索过程包括:
用户通过搜索界面à创建查询à执行搜索,从索引库搜索à渲染搜索结果
- lucence基础知识
- lucence
- lucence
- lucence
- lucence
- lucence
- Lucence
- Lucence
- lucence
- lucence简介&lucence示例
- lucence简介&lucence示例
- 配置lucence
- 了解lucence
- 搜索引擎lucence
- Lucence Resource
- lucence开发
- lucence小记
- lucence helloword
- ArrayList源码解读
- leetcode 329. Longest Increasing Path in a Matrix 一个简单的DFS应用
- 探新Web前端开发(三)
- JQuery中的Ajax语法
- NYOJ 15 括号匹配(二) POJ 2955 Brackets(区间dp)
- lucence基础知识
- 使用gethostnamebyname获取百度官方域名及ip地址
- C#--WinForm基于泛型集合动态填充下拉框
- Linux下Memcache服务器端的安装
- Java生产者与消费者模式的简单写法
- c的部分算术运算符和算术表达式:
- DES算法的实现
- 【深入PHP 面向对象】读书笔记(八)
- 数据库的锁机制