一、什么是全文检索?

Lucene

二、全文检索的应用场景

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

三、什么是Lucene?

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

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

Lucene

五、入门程序

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

  • 工程搭建:
    Lucene

  • 步骤:
    Lucene

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

Lucene

3、查询索引库
  • 步骤:
    Lucene
    Lucene

六、分析器

默认使用的数标准分析器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
扩展词典:添加一些新词
停用词词典:无意义的词或者是敏感词汇

中文分析器的使用
  • 配置环境
    Lucene
  • 实现
    Lucene

七、索引库维护

1.添加文档

Lucene

2.删除文档

Lucene
删除全部
Lucene

根据查询、关键词删除文档
Lucene

3.修改文档

修改的原理是先删除后添加
Lucene

八、索引库查询

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

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

相关文章:

  • 2021-06-27
猜你喜欢
  • 2021-07-31
  • 2021-05-27
  • 2021-05-23
相关资源
相似解决方案