lucene框架的学习

目录

 

一、lucene是什么

二、lucene解决什么问题

三、lucene技术概览

    3.1、lucene的架构图

    3.2、lucene的相关模块

3.3、lucene的术语,常用对象

四、lucene的相关模块详解

五、lucene的Demo

    5.1、建立索引

    5.2、搜索操作

   5.3、luke的使用


一、lucene是什么

   lucene是一个全文检索框架,为我们的web应用提供丰富的快速的查询数据的一个开源个工具框架。用户可以使用该框架来实现自己应用的搜索功能。类似于淘宝,京东首页的搜索框功能实现。

二、lucene解决什么问题

        在没有lucene该类似框架之前,我们一般的web应用搜索是使用数据库的模糊查询来实现相关搜索的功能

         数据库层次的搜索
                使用mysql的模糊搜索 like
                1、性能:小数据量情况下是可以满足,但是在大数据量(几万或者几十万)中性能会大大降低
                2、准确性:mysql like 模糊查询的正确率不太高
                3、搜索成功率:mysql 获取数据后不会进行相关度排序(热门搜索越多 得分越高也越容易查询到,
                      mysq没有需要自己手动进行处理(加一个相关字段等方式))

          使用lucene针对这些大数据量的数据搜索会更快,并且lucene提供了多种形式的查询条件,能根据用户的应用来自定义使用多种方式进行查询。          

        全文搜索相关知识:https://blog.csdn.net/qq_18860653/article/details/78975556
         java中的搜索引擎框架:https://blog.csdn.net/xinghuo0007/article/details/53692871

三、lucene技术概览

    3.1、lucene的架构图

    3.2、lucene的相关模块

lucene相关模块
分析模块 org.apache.lucene.analysis  分词器定义、标准分词器的实现 各种各样的分词器实现
编解码模块org.apache.lucene.codes  编解码模块
文档模块org.apache.lucene.document  文档相关 进行存储文档内容需要进行封装成的相关对象
索引相关模块 org.apache.lucene.index 索引相关  对文档模块中的对象进行创建索引的过程,主要由IndexWriter进行实现
搜索模块 org.apache.lucene.search  lucene中提供了多种查询对象实现类 QueryParser(查询条件),主要由IndexSearcher 对象进行查询操作
存储模块org.apache.lucene.store 存储相关 索引的读写
Lucene的similarity模块

相关度排序以及打分操作 Lucene的similarity模块主要负责对相关性打分的实现   

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值