Lucene

一、什么是全文检索?

在这里插入图片描述

二、全文检索的应用场景
  1. 搜索引擎
    百度、360搜索、谷歌、搜狗
  2. 站内搜索
    论坛搜索、微博、文章搜索
  3. 电商搜索
    淘宝搜索、京东搜索
  4. 只要是有搜索的地方就可以使用全文检索技术。
三、什么是Lucene?

Lucene是一个基于Java开发全文检索工具包。

四、Lucene实现全文检索的流程

在这里插入图片描述

五、入门程序
1、创建索引
  • 环境:
    需要下载Lucene
    http://lucene.apache.org/
    最低要求jdk1.8

  • 工程搭建:
    在这里插入图片描述

  • 步骤:
    在这里插入图片描述

2、使用luke查看索引库中的内容

在这里插入图片描述

3、查询索引库
  • 步骤:
    在这里插入图片描述
    在这里插入图片描述
六、分析器

默认使用的数标准分析器StandardAnalyzer

1、查看分析器的分析效果

使用Analyzer对象的tokenStream方法返回一个TokenStream对象。词对象中包含了最终分词结果。

  • 实现步骤:
    1.创建一个Analyzer对象,StandardAnalyzer对象
    2.使用分析器对象的tokenStream方法获得一个TokenStream对象
    3.向TokenStream对象中设置一个引用,相当于数一个指针
    4.调用TokenStream对象的rest方法。如果不调用抛异常
    5.使用while循环遍历TokenStream对象
    6.关闭TokenStream对象
2、IKAnalyze的使用方法
  1. 把IKAnalyzer的jar包添加到工程中
  2. 把配置文件和扩展词典添加到工程的classpath下

注意:扩展词典严禁使用windows记事本编辑保证扩展词典的编码格式是utf-8
扩展词典:添加一些新词
停用词词典:无意义的词或者是敏感词汇

中文分析器的使用
  • 配置环境
    在这里插入图片描述
  • 实现
    在这里插入图片描述
七、索引库维护
1.添加文档

在这里插入图片描述

2.删除文档

在这里插入图片描述
删除全部
在这里插入图片描述

根据查询、关键词删除文档
在这里插入图片描述

3.修改文档

修改的原理是先删除后添加
在这里插入图片描述

八、索引库查询
1.使用Query的子类
  • TermQuery
    根据关键词进行查询。
    需要指定要查询的域及要查询的关键词
  • RangeQuery
    范围查询
2.使用QueryPaser进行查询

可以对要查询的内容先分词,然后基于分词的结果进行查询。
添加一个jar包
lucene-queryparser-7.4.0.jar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值