
lucene学习笔记一:lucene是什么、实现步骤、以及索引的创建、查询、修改、删除...
发布日期:2021-05-28 16:48:28
浏览次数:31
分类:精选文章
本文共 1475 字,大约阅读时间需要 4 分钟。
Lucene学习笔记一
1. lucene的作用
Lucene是一个用于文本搜索的开源框架,主要应用于处理非结构化文件的搜索功能,常见于电商网站优化商品搜索体验。为实现文本搜索,首先需要创建文档的索引,这是搜索的基础。
1.1 lucene的实现步骤
获取原始文档:准备处理未经分析的文档资源。
创建文档对象:用于存储分析后的各个域对象信息。
文档分析:对文档内容进行关键词提取和预处理。
创建索引:将文档分析后的内容组织成搜索引擎可解析的格式。
1.2 lucene案例学习
- 创建Java工程:设置开发环境并导入必要的JAR包。
- 创建索引:初始化Lucene索引写入流,并配置分析器。
- 文件资源处理:读取目标文件并存储路径、大小、和内容等信息到文档对象。
- 添加文档到索引库:用indexWriter对象批量写入文档到Lucene索引库中。
1.3 查询索引方法
- 创建索引读取流:使用已有的索引库文件创建可读访问的索引流。
- 创建查询对象:根据需要设置查询关键词和指定查询域。
- 执行查询:通过indexSearcher对象发起搜索请求。
- 结果处理:遍历搜索结果并输出相关信息。
1.4 索引的删除
- 创建IndexWriter对象:设置索引存储路径及使用的分析器。
- 删除全部文档:调用deleteAll()方法清空索引库。
- 条件删除:通过正向查询词条匹配删除特定文档。
1.5 索引修改
- 获取文档对象:创建需要修改的文档信息。
- 更新文档:通过indexWriter调用updateDocument方法提交修改。
1.6 常用查询方式
- MatchAllDocsQuery查询:匹配所有文档avenous查询(如全文检索)。
- TermQuery查询:精确查找特定域中的关键词。
- NumericRangeQuery查询:根据数值范围进行限制性查询。
- BooleanQuery组合查询:结合多个查询条件使用逻辑连接(如AND、OR等)进行复杂搜索。
1.7 QueryParser查询解析
- 创建QueryParser对象:指定默认域及使用的分析器。
- 解析复杂查询语句:通过queryParser解析自然语言查询字符串,转换为Lucene可执行的查询条件。
发表评论
最新留言
不错!
[***.144.177.141]2025年05月04日 21时29分15秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
我用wxPython搭建GUI量化系统之多只股票走势对比界面
2019-03-07
selenium+python之切换窗口
2019-03-07
重载和重写的区别:
2019-03-07
搭建Vue项目步骤
2019-03-07
账号转账演示事务
2019-03-07
idea创建工程时错误提醒的是architectCatalog=internal
2019-03-07
SpringBoot找不到@EnableRety注解
2019-03-07
简易计算器案例
2019-03-07
在Vue中使用样式——使用内联样式
2019-03-07
Explore Optimization
2019-03-07
解决数据库报ORA-02289:序列不存在错误
2019-03-07
map[]和map.at()取值之间的区别
2019-03-08
成功解决升级virtualenv报错问题
2019-03-08
【SQLI-Lab】靶场搭建
2019-03-08
【Bootstrap5】精细学习记录
2019-03-08
Struts2-从值栈获取list集合数据(三种方式)
2019-03-08
参考图像
2019-03-09