前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Lucene查询过程介绍

Lucene查询过程介绍

作者头像
CainGao
发布2020-04-14 09:23:12
5480
发布2020-04-14 09:23:12
举报
文章被收录于专栏:指尖数虫指尖数虫

Lucene索引过程与相关的简介上一篇<Lucene简介与索引过程介绍>我们已经了解过,本篇我们来讲解Lucene查询过程。查询是用户把查询条件获取到目标文档的一个过程。通过用户输入的词Lucene负责匹配相关度最高的文档给予渲染输出。

Lucene的索引建立完成后就可以让用户基于条件进行相关的文档检索,用户输入关键词从索引中获取所需的文档列表,或通过其他的条件对文档进行过滤与排序等。

例如咱们开篇中在百度中搜索的PHP是世界上最好的语言,百度基于我们的搜索词汇在全网中获取相关的文档列表给予返回。并且我们能够添加筛选条件,例如:‘时间筛选’,‘来源信息’,‘站点筛选’等对结果进行过滤筛选。

但是Lucene本身其实是不提供此类界面的展示的,如果需要做这种交互的实现需要用户自己编写相关的代码。

Lucene提供基本的搜索引擎工具包,它本身不是一个完全的全文检索引擎。Apache Lucene提供文档的搜索,本质上Apache Lucene的所有搜索都是在字段上执行的,文档是字段的集合。搜索时,提供的字段名称把搜索条件限制在特定字段。

Lucene搜索过程

Lucene搜索过程是Lucene最核心的功能之一,图片说明了搜索的过程。

  • 创建QueryParser 简单来说QueryParser用于解析用户的输入内容,把用户的输入转换为Lucene能够理解的查询格式。
  • 创建IndexSearcher IndexSearcher类充当索引过程中创建的搜索器索引的核心组件,设置查询Index索引指向位置。也就是Lucene文档位置。
  • 搜索 开始进行搜索,通过QueryParser解析表达式中的表达式来创建Query对象。通过调用IndexSearcher.query进行检索
  • 获取文档文件 通过indexSearcher.doc获取文档。
  • 关闭IndexSearcher 查询完成关闭IndexSearcher。

以上为Apache Lucene基本的搜索过程。Lucene搜索API接受搜索查询并且按照与具有最高分的相似度的文档相关度排序。文档排序的问题我们未来继续...

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 指尖数虫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档