lucene

lucene开源的全文检索引擎工具包;Doug Cutting 2000年左右,lucene是使用java语言开发的具有如下的特点:
稳定,索引性能高(创建搜索速度)
现代磁盘每小时索引150G数据;
对内存的要求1MB
增量索引和批量索引速度几乎一样
索引的大小约占索引整体文件20%
提供多种搜索功能:短语,通配符,近似,范围查询等等

lucene自带的各种分词器,无法处理复杂的多种语言数据的环境,中文中可以使用IK分词器的jar包来实现中文的分词,能够处理发展语言中各种不同情况的分词计算(引入了停用词典和扩展词典)

IK分词器使用
• 引入实现类
4.0版本之后,实现,还需要自行编写,完成实现类;
实现类(课前资料–lucene-学生资料–ik分词器实现类)
• maven中央库
没有提供ik分词器不同版本的依赖
手动添加依赖的jar包,build path
• 测试代码,利用IK分词器的实现类Analyzer
• 利用扩展词典,停用词典,调整分词计算的结果;
扩展词典:云计算
停用词典:可信赖
扩展词典,停用词典需要引入一个IK的xml配置文件,配置文件和扩展词典等需要同时放到当前工程的加载路径中;

使用过程中,能否正确加载词典们,实现扩展和停用,与当前代码的字符集,和文件的字符集是否一致;

Lucene与Elasticsearch
缺点:
没有实现分布式,只是简单的工具包提供使用;

无法提供多种客户端代码的调用;除了java意外的其他语言调用lucene很困难;

Ealasticsearch
基于lucene的搜索服务(web应用),基于lucene实现各种不同的搜索功能,创建数据的功能;对外只需要提供url访问的格式,就可以使任何其他程序,语言操作ES实现全文检索的能力;
具备各种扩展的功能;
例如:索引文件的关闭;一旦关闭,外界无法访问;
分布式存储;
ElasticSearch各种概念;
索引文件(index): 类似数据库中不同的库
类型type: 每一批索引中,document有海量的,不同的document间有可能存在不同数量的相同结构的文档对象,利用type定义这批文档为同一种类型,
类似数据库中的表格
文档对象document:数据库中的表格的某一行数据记录
域field:类似数据库的表格的某个字段;

对于数据库,以上内容是es中索引文件的结构
操作数据库sql语句,操作ES用的是DSL(基于restFul结构的url路径地址)
操作数据库CRUD
select
update
insert
delete

基于http协议的请求方式
get:查询数据
post:更新数据
put:新增数据
delete:删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值