lucene使用的一些注意事项 | 学习笔记

简介: 快速学习lucene使用的一些注意事项。

开发者学堂课程【Lucene知识精讲与实战(下)lucene使用的一些注意事项】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/701/detail/12357


lucene使用的一些注意事项

 

1、关键词区分大小写

关于lucene在获取原始文档分词,组成索引过程中,分词信会把所有的大写字母变成小写字母组成索引,OR AND TO 关键词在 lucene 查询语法中存在,如果作为搜索内容,搜索内容会被lucene分词器转成小写字母,OR AND TO 等关键词是区分大小写的,lucene只认大写的,小写的当做普通单词。

2、读写互斥性

lucene 在创建修改删除索引时不影响读的效果,读和写分开,读的时候可以写,写的时候可以读,读的时候为了和写的时候互不影响,所以读写互斥,同一时刻只能有一个对索引的写操作,在写的同时可以进行搜索。

3、文件锁

为了防止同时有多个人操作同一块数据,对数据内容产生修改删除的操作,容易造成数据的混乱,一个线程操作数据时对索引里面的数据正常删改,lucene 会自动对文件进行加速,再有线程想进来修改文件或者添加数据或者删除数据是不可以的,只有当第一个线程做完增删改操作后,释放,第二个线程才能继续正常删改对数据库进行操作。lucene自带文件锁。在写索引的过程中强行退出将在tmp目录留下一个lock文件,使以后的写操作无法进行,可以将其手工删除。

4、时间格式

年月日时分秒,可以设置各种复杂的格式,但是 lucene 不认这些格式,lucene 只支持一种时间格式 yyMMddHHmmss , 所以你传一个 yy-MM-dd HH:mm:ss 的时间给lucene它是不会当作时间来处理的

5、设置boost

通过设置 boost ,查询某一个域时权重设置大一些会影响查询结果,这是关于相关度排序的内容,有些时候在搜索时某个字段的权重需要大一些, 例如你可能认为标题中出现关键词的文章比正文中出现关键词的文章更有价值,你可以把标题的boost 设置的更大,那么搜索结果会优先显示标题中出现关键词的文章。

6对于 lucene 主要是以原理为主,再学习 lucene 时主要学习底层原理,如何存数据,如何查,里面的算法,数据结果从而理解它为什么查询速度快,在企业中直接用 lucene 写代码应用在项目中比较小,因为在 lucene上有很多成熟的框架产品,比如es等技术,技术要用起来无论从写代码简易程度还是从代码的复杂度,从开发效率都是对 lucene 的封装,用起来都比 lucene 方便,所以企业中更愿意用 es lucene 下游产品,如果直接用 lucene 在某些大型企业平台架构部,在架构部中企业愿意封装自己的一些框架,关于全文检索,可能会用到 lucene lucene 底层原理为主,并非因为里面的 epi 方法,里面的方法代码具体的使用。

相关文章
|
SQL 安全 Java
一篇文章彻底理解 HIVE 常见的三种 AUTHENTICATION 认证机制的配置与使用
一篇文章彻底理解 HIVE 常见的三种 AUTHENTICATION 认证机制的配置与使用
|
8月前
|
人工智能 Linux 定位技术
使用 Godot 开发游戏的通用流程
使用 Godot 开发游戏的通用流程
|
10月前
|
存储 前端开发 Java
Springboot静态资源映射及文件映射
在Spring Boot项目中,为了解决前端访问后端存储的图片问题,起初尝试通过静态资源映射实现,但发现这种方式仅能访问打包时已存在的文件。对于动态上传的图片(如头像),需采用资源映射配置,将特定路径映射到服务器上的文件夹,确保新上传的图片能即时访问。例如,通过`addResourceHandler("/img/**").addResourceLocations("file:E:\\myProject\\forum_server\\")`配置,使前端可通过URL直接访问图片。
663 0
Springboot静态资源映射及文件映射
|
缓存 监控 数据库
提高服务器响应速度是提升用户体验和系统性能的关键
提高服务器响应速度是提升用户体验和系统性能的关键
369 3
|
11月前
|
CDN
阿里云CDN怎么收费?看这一篇就够了,CDN不同计费模式收费价格全解析
阿里云CDN的费用由基础费用和增值费用组成。基础费用有三种计费方式:按流量、按带宽峰值和月结95带宽峰值,默认为按流量计费,价格根据使用量阶梯递减。增值费用包括静态HTTPS请求、QUIC请求等,按实际使用量收费,不使用不收费。具体收费标准和详细规则可参考阿里云官方页面。
|
存储 Shell Linux
Linux 如何更改默认 Shell
Linux 如何更改默认 Shell
Linux 如何更改默认 Shell
|
自然语言处理 安全 Java
Spring Boot中集成Lucence
本节课首先详细的分析了全文检索的理论规则,然后结合 Lucene,系统的讲述了在 Spring Boot 的集成步骤,首先快速带领大家从直观上感受 Lucene 如何建立索引已经如果检索,其次通过中文检索的具体实例,展示了 Lucene 在全文检索中的广泛应用。Lucene 不难,主要就是步骤比较多,代码不用死记硬背,拿到项目中根据实际情况做对应的修改即可。
|
机器学习/深度学习 数据可视化 数据挖掘
R语言逻辑回归logistic对ST股票风险建模分类分析混淆矩阵、ROC曲线可视化
R语言逻辑回归logistic对ST股票风险建模分类分析混淆矩阵、ROC曲线可视化
|
机器学习/深度学习 JSON 文字识别
OCR文字识别技术总结(一)
OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,经过检测暗、亮的模式肯定其形状,而后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并经过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。如何除错或利用辅助信息提升识别正确率,是OCR最重要的课题,ICR(Intelligent Character Recognition)的名词也随之产生。
5836 0
OCR文字识别技术总结(一)
|
数据可视化 物联网 测试技术
零一万物Yi-1.5系列模型发布并开源!34B/9B/6B 多尺寸魔搭社区推理微调最佳实践教程来啦!
Yi-1.5是Yi的升级版本。 它使用 500B tokens的高质量语料库在 Yi 上持续进行预训练,并在 3M 个多样化的微调样本上进行微调。