文档章节

lucene、简介

captainliu
 captainliu
发布于 2016/10/05 09:52
字数 885
阅读 112
收藏 2

精选30+云产品,助力企业轻松上云!>>>

1.什么是lucene
Lucene是一个全文搜索框架,而不是应用产品。因此它并不像http://www.baidu.com/ 或者google Desktop那么拿来就能用,它只是提供了一种工具让你能实现这些产品。

2. lucene能做什么
•要回答这个问题,先要了解lucene的本质。实际上lucene的功能很单一,说到底,就是你给它若干个字符串,然后它为你提供一个全文搜索服务,告诉你你要搜索的关键词出现在哪里。知道了这个本质,你就可以发挥想象做任何符合这个条件的事情了。你可以把站内新闻都索引了,做个资料库;你可以把一个数据库表的若干个字段索引起来,那就不用再担心因为“%like%”而锁表了;你也可以写个自己的搜索引擎……

3. 你该不该选择lucene
•下面给出一些测试数据,如果你觉得可以接受,那么可以选择。
–测试一:250万记录,300M左右文本,生成索引380M左右,800线程下平均处理时间300ms。
–测试二:37000记录,索引数据库中的两个varchar字段,索引文件2.6M,800线程下平均处理时间1.5ms。

4. lucene为什么这么快
–倒排索引
–压缩算法
–二元搜索

5. 倒排索引
–根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(invertedindex)
–单词——文档矩阵

•lucene的工作方式lucene提供的服务实际包含两部分:一入一出。所谓入是写入,即将你提供的源(本质是字符串)写入索引或者将其从索引中删除;所谓出是读出,即向用户提供全文搜索服务,让用户可以通过关键词定位源

•写入流程源字符串首先经过analyzer处理,包括:分词,分成一个个单词;去除stopword(可选)。将源中需要的信息加入Document的各个Field中,并把需要索引的Field索引起来,把需要存储的Field存储起来。将索引写入存储器,存储器可以是内存或磁盘。
•读出流程用户提供搜索关键词,经过analyzer处理。对处理后的关键词搜索索引找出对应的Document。用户根据需要从找到的Document中提取需要的Field。

•document 用户提供的源是一条条记录,它们可以是文本文件、字符串或者数据库表的一条记录等等。一条记录经过索引之后,就是以一个Document的形式存储在索引文件中的。用户进行搜索,也是以Document列表的形式返回。
•field 一个Document可以包含多个信息域,例如一篇文章可以包含“标题”、“正文”、“最后修改时间”等信息域,这些信息域就是通过Field在Document中存储的。Field有两个属性可选:存储和索引。通过存储属性你可以控制是否对这个Field进行存储;通过索引属性你可以控制是否对该Field进行索引。这看起来似乎有些废话,事实上对这两个属性的正确组合很重要

 

 

 

 

 

 

下一篇: redis、持久化
captainliu
粉丝 12
博文 115
码字总数 85671
作品 0
昌平
程序员
私信 提问
加载中
请先登录后再评论。
【备忘】【No6】一套不可多得的Lucene视频教程带课程源码

课程目录: 01_lucenc简介和创建索引初步.avi 02_lucene简介和搜索初步.avi 03lucene索引创建_域选项.avi 04lucene索引的删除和更新.avi 05lucene索引加权操作和Luke的简单演示.avi 06_对日期...

dearbaba_
2016/09/24
23
0
张江互联网技术交流会--搜索专场(第一期)

part1:嘉宾简介: 洪震 淘宝搜索技术专家 对Lucene、Solr、zookeeper、Hadoop等开源技术有研究,目前关注于高可用、高性能、易扩展的分布式搜索技术领域。 议题简介: 终搜-TSearcher产品是淘...

网聚宝熊晓东
2014/01/07
872
4
张江互联网技术交流会--搜索专场(第一期)

part1:嘉宾简介: 洪震 淘宝搜索技术专家 对Lucene、Solr、zookeeper、Hadoop等开源技术有研究,目前关注于高可用、高性能、易扩展的分布式搜索技术领域。 议题简介: 终搜-TSearcher产品是淘...

网聚宝熊晓东
2014/01/07
40
0
专辑:Lucene (全文检索工具)从入门到精通

简介:Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和...

crossbell
2014/06/13
74
0
Elastic Search原理简述

一、Elastic Search概述: 1.1 Elastic Search 简介 Elastic Search(ES)是一个基于Lucene构建的开源、分布式、RESTFul接口全文搜索引擎。ES还是一个分布式文档库,其中每个字段均是被索引的...

zhglance
2019/02/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Microsoft Edge Canary for Mac(edge浏览器) v86.0.570.0中文版

microsoftedge浏览器是一款作为windows操作系统的官方内置浏览器。Microsoft Edge官方版对比ie浏览器来说功能更好,而且它还集成Contana等新功能,交互界面更加简洁,还增加了对Firefox浏览器...

云不若
28分钟前
18
0
信息的哲学--从信息到数据存储,再到数据保护

信息的哲学--从信息到数据存储,再到数据保护 1 什么是信息 当今信息化时代,信息就是利润,数据就是企业的命根子。世界运行在数据之上。当代量子学的最新理论是:量子其实是一种信息,而不...

osc_taer599u
28分钟前
16
0
mysql 到期 即将到期

即将到期的设备数量: SELECT COUNT(id) FROM jtl_device WHERE DATE_FORMAT(expiration_time,'%Y-%m-%d')<=DATE_ADD(CURDATE(),INTERVAL 30 DAY) AND `company_id` = 1577945251258504 AND ......

简小姐
28分钟前
13
0
深入分析各种raid级别及其速度变化比较

本文从低层原理上,深入透析了目前存在的7种raid模式的组成原理,结构,并深刻分析了各种级别相对于单盘IO速率的变化。 Raid0 Raid0是这样一种模式:我们拿5块盘的raid0为例子。 上图中5个竖...

osc_22rhv8iu
29分钟前
9
0
论文阅读:“快把卷积神经网络中的平移不变性带回来” - 知乎

老规矩,文章以我自己的Blog的最新版为准。 论文阅读:“快把卷积神经网络中的平移不变性带回来” blog.tsingjyujing.com 简介 这篇博客主要是我读论文Making Convolutional Networks Shift...

osc_r9yyhhqz
31分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部