学习笔记(二)--Lucene简介
Lucene简介
最受欢迎的java开源全文搜索引擎开发工具包。提供了完整的查询引擎和索引引擎,部分文本分词引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便在目标系统中实现全文检索功能,或者是以此为基础建立起完整的全文检索引擎。 是Apache的子项目,网址:http://lucene.apache.org/
Lucene用途
为软件开发人员提供一个简单易用的工具包,以方便在目标系统中实现全文检索功能,或者是以此为基础建立起完整的全文检索引擎。
Lucene适用场景
在应用中为数据库中的数据提供全文检索实现。 开发独立的搜索引擎服务、系统
Lucene的特性
稳定、索引性能高
- 每小时能够索引150GB以上的数据。
 - 对内存的要求小——只需要1MB的堆内存
 - 增量索引和批量索引一样快。
 - 索引的大小约为索引文本大小的20%~30%。
 
高效、准确、高性能的搜索算法
- 良好的搜索排序。
 - 强大的查询方式支持:短语查询、通配符查询、临近查询、范围查询等。
 - 支持字段搜索(如标题、作者、内容)。
 - 可根据任意字段排序 支持多个索引查询结果合并
 - 支持更新操作和查询操作同时进行
 - 支持高亮、join、分组结果功能 速度快
 - 可扩展排序模块,内置包含向量空间模型、BM25模型可选
 - 可配置存储引擎
 
跨平台
- 纯java编写。
 - 作为Apache开源许可下的开源项目,你可在商业或开源项目中使用。
 - Lucene有多种语言实现版可选(如C、C++、Python等),不光是JAVA。
 
Lucene集成
将lucene core的jar引入到你的应用中
- 方式一:官网下载 zip,解压后拷贝jar到你的工程
 - 方式二:maven 引入依赖
<!-- lucene 核心模块 -->
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
<version>7.3.</version>
</dependency> 
Lucene 模块说明
core: Lucene core library 核心模块:分词、索引、查询
analyzers-*: 分词器
facet: Faceted indexing and search capabilities 提供分类索引、搜索能力
grouping: Collectors for grouping search results. 搜索结果分组支持
highlighter: Highlights search keywords in results 关键字高亮支持
join: Index-time and Query-time joins for normalized content 连接支持
queries: Filters and Queries that add to core Lucene 补充的查询、过滤方式实现
queryparser: Query parsers and parsing framework 查询表达式解析模块
spatial: Geospatial search 地理位置搜索支持
suggest: Auto-suggest and Spellchecking support 拼写检查、联想提示
了解核心模块的构成

学习笔记(二)--Lucene简介的更多相关文章
- amazeui学习笔记二(进阶开发2)--Web组件简介Web Component
		
amazeui学习笔记二(进阶开发2)--Web组件简介Web Component 一.总结 1.amaze ui:amaze ui是一个web 组件, 由模板(hbs).样式(LESS).交互(JS ...
 - [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计
		
源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...
 - ES6学习笔记<二>arrow functions 箭头函数、template string、destructuring
		
接着上一篇的说. arrow functions 箭头函数 => 更便捷的函数声明 document.getElementById("click_1").onclick = ...
 - MongoDB学习笔记二- Mongoose
		
MongoDB学习笔记二 Mongoose Mongoose 简介 之前我们都是通过shell来完成对数据库的各种操作, 在开发中大部分时候我们都需要通过程序来完成对数据库的操作 而Mongoose就 ...
 - WPF的Binding学习笔记(二)
		
原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...
 - AJax 学习笔记二(onreadystatechange的作用)
		
AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...
 - JMX学习笔记(二)-Notification
		
Notification通知,也可理解为消息,有通知,必然有发送通知的广播,JMX这里采用了一种订阅的方式,类似于观察者模式,注册一个观察者到广播里,当有通知时,广播通过调用观察者,逐一通知. 这里写 ...
 - C#.NET学习笔记1---C#.NET简介
		
C#.NET学习笔记1---C#.NET简介 技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com -------------- ...
 - java之jvm学习笔记二(类装载器的体系结构)
		
java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种, 第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新 ...
 - Java IO学习笔记二
		
Java IO学习笔记二 流的概念 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成. 程序中的输入输 ...
 
随机推荐
- kindeditor4.1.11的使用方法
			
在引入某个外部框架/功能件的 时候, 通常是 先引入css, 后引入js. css的必要属性是rel和href, js的必要属性是charset和src. js都是用javascript的,所以 cs ...
 - Paper Read: Convolutional Image Captioning
			
Convolutional Image Captioning 2018-11-04 20:42:07 Paper: http://openaccess.thecvf.com/content_cvpr_ ...
 - HDFS简单编程实例:文件合并
			
下图显示了HDFS文件系统中路径为“localhost:50070/explorer.html#/user/hadoop”的目录中所有的文件信息: 对于该目录下的所有文件,我们将执行以下操作: 首先, ...
 - Maven 的 settings.xml 配置中的mirror节点
			
maven2的setting.xml大家都知道,里面有个mirrors节点,用来配置镜像URL. mirrors可以配置多个mirror,每个mirror有id,name,url,mirrorOf属性 ...
 - 二叉树分派硬币 Distribute Coins in Binary Tree
			
2019-03-27 15:53:38 问题描述: 问题求解: 很有意思的题目.充分体现了二叉树的自底向上的递归思路. 自底向上进行运算,对于最底层的二叉子树,我们需要计算每个节点向其parent传送 ...
 - Spring Boot系列一:默认日志logback配置解析
			
前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢 如何引入日志? 日志输出格式以及输出方式如何配置? 代码中如何使用? 正文 Sp ...
 - 《SQL 基础教程》第四章:数据更新
			
数据更新包括了表存在的情况下数据的添加,数据的删除和数据的更新,主要是下面三个语句: INSERT 语句 DELETE 语句 UPDATE 语句 在本章的最后,讲了关于「事务」的相关知识,用于对作出的 ...
 - Java ceil() 方法
			
语法: double ceil(double d) double ceil(float f) 参数 double 或 float 的原生数据类型. 返回值 返回 double 类型,返回值大于或等于给 ...
 - STL标准库-容器-deque 双端队列
			
头文件: #include<deque> 常用操作: https://www.cnblogs.com/LearningTheLoad/p/7450948.html
 - 关于contenteditable属性
			
今天刷刷看看,看到了发说说框,发现居然不是textarea的,百思不得其解围.后来看到contenteditable,心想应该就是这个搞怪的吧,百度了下.w3c的解释是contenteditable属 ...