全文检索概念,Lucene大致结构
1.1 常见的全文检索
1) 在window系统中,可以指定磁盘中的某一个位置来搜索你想要得到的东西。
2) 在myeclipse中,点击Help->Help Contents,可以利用搜索功能找到你要查询的帮助文档。
3) 在百度和google 中,可以搜索互联网中的信息,有:网页、pdf、word音频、视频等内容。
4) 在bbs系统中,有搜索文章的功能。
以上的查询功能都相似,都是查询的文本内容,查询方法也相似即找出含有指定字符串的资源。只不过是查询的范围不一样。(硬盘、帮助文件、互联网)
1.2 全文检索的概念
1) 从大量的信息中快速、准确地查找出要的信息
2) 搜索的内容是文本信息(不是多媒体)
3) 搜索的方式:不是根据语句的意思进行处理。如果要搜索的文本为” 2012年的春晚有赵本山吗”,那么含有这些词(2012年、春晚、赵本山)就能搜索出来。每一个词都是关键词。
4) 全面、快速、准确是衡量全文检索系统的关键指标。
5) 概括:
a) 只处理文本
b) 不处理语义
c) 搜索时英文不区分大小写
d) 结果列表有相关度排序
1.3 全文检索的应用场景
1.3.1站内搜索
a) bbs的关键字搜索baidu贴吧 林志玲 、胡汉三b) 商品网站的搜索等中关村在线 商品的名称、电脑硬件名称 (CPU)c) 文件管理系统对文件的搜索功能。Window的文件搜索
1.3.2垂直搜索
a) 是针对 某个行业的搜索引擎b) 是搜索引擎的细分和延伸c) 是针对网页库中的专门信息的整合d) 其特点是专、深、精,并具有行业色彩e) 可以应用于购物搜索、房产搜索、人才搜索
1.4 全文检索与数据库搜索的区别
1.4.1数据库的搜索
类似:select * from 表名 where 字段名 like ‘%关键字%’例如:select * from article where content like’%here%’结果: where here shere
1) 搜索效果比较差2) 在搜索的结果中,有大量的数据被搜索出来,有很多数据是没有用的。3) 查询速度在大量数据的情况下是很难做到快速的。
1.4.2全文检索
1) 搜索结果按相关度排序:意味着只有前几个页面对于用户来说是比较有用的,其他的结果与用户想要的答案很可能相差甚远。数据库搜索是做不到相关度排序的。2) 因为全文检索是采用引索的方式,所以在速度上肯定比数据库方式like要快。
2.Lucene大致结构
1.5 互联网搜索结构框图
1) 当用户打开www.baidu.com网页搜索某些数据的时候,不是直接找的网页,而是找的百度的索引库。索引库里包含的内容有索引号和摘要。当我们打开www.baidu.com时,看到的就是摘要的内容。
2) 百度的索引库的索引和互联网的某一个网站对应。
3) 当用户数据要查询的关键字,返回的页面首先是从索引库中得到的。
4) 点击每一个搜索出来的内容进行相关网页查找,这个时候才找的是互联网中的网页。
1.6 lucene的大致结构框图
1) 在数据库中,数据库中的数据文件存储在磁盘上。索引库也是同样,索引库中的索引数据也在磁盘上存在,我们用Directory这个类来描述。
2) 我们可以通过API来实现对索引库的增、删、改、查的操作。
3) 在数据库中,各种数据形式都可以概括为一种:表。在索引库中,各种数据形式也可以抽象出一种数据格式为Document。
4) Document的结构为:Document(List<Field>)
5) Field里存放一个键值对。键值对都为字符串的形式name:属性名,value:属性值 。
6) 对索引库中索引的操作实际上也就是对Document的操作。
一个Document对象相当一个对象(News),一个Field对象相相当于对象(News)里面的一个属性;
全文检索概念,Lucene大致结构的更多相关文章
- 全文检索以及Lucene的应用
全文检索 一.什么是全文检索? 就是在检索数据,数据的分类: 在计算机当中,比如说存在磁盘的文本文档,HTML页面,Word文档等等...... 1.结构化数据 格式固定,长度固定,数据类型固定等等, ...
- JAVAEE——Lucene基础:什么是全文检索、Lucene实现全文检索的流程、配置开发环境、索引库创建与管理
1. 学习计划 第一天:Lucene的基础知识 1.案例分析:什么是全文检索,如何实现全文检索 2.Lucene实现全文检索的流程 a) 创建索引 b) 查询索引 3.配置开发环境 4.创建索引库 5 ...
- 全文检索(Lucene&Solr)
全文检索(Lucene&Solr) 1)什么是全文检索?为什么需要全文检索? 结构化数据(mysql等)方便查询,而非结构化数据(如多篇文章)是难以查询到自己需要的,所以要使用全文检索. 全文 ...
- 全文检索框架---Lucene
一.什么是全文检索 1.数据分类 我们生活中的数据总体分为两种:结构化数据和非结构化数据. 结构化数据:指具有固定格式或有限长度的数据,如数据库,元数据等. 非结构化数据:指不定长或无固定格式 ...
- C#中区别多态、重载、重写的概念和语法结构
C#中区别多态.重载.重写的概念和语法结构 重写是指重写基类的方法,在基类中的方法必须有修饰符virtual,而在子类的方法中必须指明override. 格式: 基类中: public virtual ...
- JVM 内部原理(四)— 基本概念之 JVM 结构
JVM 内部原理(四)- 基本概念之 JVM 结构 介绍 版本:Java SE 7 每位使用 Java 的程序员都知道 Java 字节码在 Java 运行时(JRE - Java Runtime En ...
- 全文检索学习历程目录结构(Lucene、ElasticSearch)
1.目录 (1) Apache Lucene(全文检索引擎)—创建索引:http://www.cnblogs.com/hanyinglong/p/5387816.html (2) Apache Luc ...
- 大型运输行业实战_day15_1_全文检索之Lucene
1.引入 全文检索简介: 非结构化数据又一种叫法叫全文数据.从全文数据(文本)中进行检索就叫全文检索. 2.数据库搜索的弊端 案例 : select * from product whe ...
- 从产品展示页面谈谈Hybris的特有概念和设计结构
今天这篇文章来自我的同事,SAP成都研究院Hybris开发团队的开发人员Zhang Jonathan(张健).需要特别介绍的是,张健和成都研究院的其他开发同事不同,张健毕业于电子科技大学,读的专业是英 ...
随机推荐
- Shiro加密
在开发的时候,很多数据我们都希望是以加密过后的形式存储起来,而不是最原始的数据. 在shiro中也提供了编码,解码,加密,加密算法实现等等一系列的内容. 编码/解码 在org.apache.shiro ...
- [ZJOI 2007]时态同步
Description 小Q在电子工艺实习课上学习焊接电路板.一块电路板由若干个元件组成,我们不妨称之为节点,并将其用数字1,2,3….进行标号.电路板的各个节点由若干不相交的导线相连接,且对于电路板 ...
- [SDOI2017]数字表格
Description Doris刚刚学习了fibonacci数列.用f[i]表示数列的第i项,那么 f[0]=0 f[1]=1 f[n]=f[n-1]+f[n-2],n>=2 Doris用老师 ...
- HDU2108和HDU2036(叉乘)
hdu2108 判断是否为凸边形 判断连续三点的叉乘 若为凸,内角<180:若为凹,内角>180 所以通过正负来判断 #include <iostream> #include ...
- Codeforces 2B. The least round way
There is a square matrix n × n, consisting of non-negative integer numbers. You should find such a w ...
- HTTPS介绍
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂 ...
- Java多线程volatile和synchronized总结
volatile是轻量级的synchronized,在多处理器(多线程)开发中保证了共享变量的"可见性".可见性表示当一个线程修改了一个共享变量时,另外一个线程能读到这个修改的值. ...
- Lua和C#调用探秘
转载请标明出处:http://www.cnblogs.com/zblade/ 在实际的项目中,大部分业务逻辑 程序员只需要负责lua层编写逻辑即可,或者在c#层添加一些静态函数,供lua层调用.那么对 ...
- php+xdebug远程调试(单人)
目录 服务器上安装 XDebug 及配置 客户端 PHPstorm 配置 浏览器安装插件 服务器上安装 XDebug 及配置 XDebug 安装 略 配置: 打开 php.ini 配置文件: vim ...
- Java正则过滤
import java.util.regex.Matcher; import java.util.regex.Pattern; public class LongStringtonumber { pu ...