Lucene及概念介绍

Lucene及概念介绍

基础概念

Document :我们一次查询或更新的载体,对比于实体类
Field :字段,是key-value格式的数据,对比实体类的字段
Item :一个单词,这个单词就是建立倒排索引的一项
Token:一个Item的一次匹配,包含Item、开始位置、结束位置、类型等信息。

倒排索引

倒排索引相当于做了两个操作:

  1. 分词
  2. 建立索引

分词就是把文本进行分割,形成多个小的Item,建立索引就是将分词和原数据建立关联关系。

索引合并

单个索引会分割成多个小块进行存储,而这些小块一经写入不会再更新。当我们的查询设计到多个小块时,查询效率会降低,因此需要合并多个小块来提升查询效率,这个操作就是索引合并。索引合并是需要占用IO的,因此一般不要强制索引合并

分析

原始Document拆分成倒排索引和新的查询语句拆分成允许被搜索的选项的操作都会涉及到"分析"

分词器:将文本进行分割,拆分成索引的工具

映射器:对文本进行处理,映射成其他数据

过滤器:对拆分后的文本进行过滤,例如隐私处理等。

三个部分的处理顺序如下:

查询语句的构成

查询语句主要分为term和操作符两部分,term就是分词的匹配项,而操作符用于描述本次查询的多个term之间的匹配关系

操作符 作用
AND 表示同时匹配关系
OR 表示同时或关系
NOT 表示同时否定匹配关系
+ 表示同时确认匹配关系
- 表示否定匹配关系
() 表示关系优先级绑定
? 表示单字符通配
* 表示多字符通配
~ 表示模糊查询
[] 表示闭区间范围查询
{} 表示开区间范围查询
相关推荐
RemainderTime10 天前
基于Spring AI + 阿里百炼 DashScope:构建 AI Agent RAG 企业级知识助手
人工智能·后端·spring·ai·es
Johnstons11 天前
Wireshark 和 tcpdump 到底怎么选?网络故障排查实战中的边界、判断标准与落地清单
wireshark·php·es·tcpdump·抓包分析·抓包与协议分析工具选型
Johnstons18 天前
TCP Reset(RST)异常是什么?一文讲透连接被动中断的识别方法、适用场景、与超时断开的边界及排查清单
网络协议·tcp/ip·php·es·抓包分析
Johnstons21 天前
Wireshark ExpertInfo是什么?一文讲透异常分级、适用场景、和传统抓包阅读的区别与排查标准
网络·测试工具·wireshark·es
Johnstons25 天前
网络故障定位工具怎么搭配:Wireshark、tcpdump、监控平台各自该在什么时候上场?
数据分析·wireshark·php·es·tcpdump·网络故障定位工具搭配与选型
Johnstons1 个月前
网络诊断工具怎么选:从监控告警到抓包定位的完整方法论
服务器·网络·php·es·抓包分析·网络诊断工具选型与排障方法
Johnstons1 个月前
抓包工具怎么选:Wireshark、tcpdump 与流量回溯平台的边界、场景与排障判断标准
测试工具·数据分析·wireshark·es·tcpdump·抓包工具选型与流量回溯
深念Y1 个月前
从字典到向量:索引技术的演进
向量·es·索引·倒排索引·向量数据库·字典·倒排文件索引
A__tao2 个月前
Elasticsearch Mapping 一键生成 Go Struct,支持嵌套解析
elasticsearch·es
A__tao2 个月前
告别手写!ES Mapping 自动生成 Go Struct(支持嵌套)
elasticsearch·golang·es