小红花·文摘
  • 首页
  • AI Tokens🪙
  • 排行榜🏆
  • 直播
  • FAQ

本文介绍Neo4j图数据库中全文索引与向量索引的边界:两者均由Lucene驱动,不自动被Cypher规划器选用,需显式调用过程或SEARCH查询。全文索引用于分词匹配与打分,向量索引用于嵌入近邻搜索。内存上依赖OS缓存而非page cache,分数不可跨源比较,可与图拓扑扩展结合实现混合检索。

【图数据库内核】全文与向量属性边界:Lucene 旁路,不是 page cache 里的第二套邻接

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-08T00:00:00Z

本文讨论了单节点复现脚本与命令记录,基于Lucene和Elasticsearch的官方文档与源码。建议在Linux或WSL2环境中运行Elasticsearch 8.x或Lucene示例工程,并提供了具体的实验步骤和版本号,以确保实验结果的准确性。

search-engine reproduce notes

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-07-15T16:01:13Z

本文是「全文检索引擎」系列的第一篇,探讨了倒排索引的架构与实现,分析了Lucene与Elasticsearch的关系,阐述了文本如何处理成可搜索的词项,以及查询在倒排列表中的执行方式。文章还区分了不同类型的搜索引擎,强调了全文检索引擎在文本与查询处理中的复杂性和重要性。

【全文检索引擎】全文引擎全景:架构叙事与 Lucene 内核之间的一层

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-07-15T00:00:00Z

本文探讨了Lucene 9.x/10.x中的索引结构,重点介绍了Document、Field、docID及其在倒排和正排索引中的作用。Lucene通过独立的开关管理字段的索引、存储和DocValues,支持多种查询方式。同时分析了Elasticsearch与Lucene的映射关系,以及文档的业务主键和排序聚合的处理方法。

【全文检索引擎】Lucene 文档模型:Field、docID 与正排/倒排

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-07-15T00:00:00Z

本文讨论了BM25算法在全文检索中的应用,分析了其公式、参数及与TF-IDF的区别。BM25通过饱和TF和长度归一解决了传统TF在长文档中的失效问题,并提及了Lucene和Elasticsearch的实现细节,强调了BM25在召回和可解释性方面的重要性。此外,文章探讨了BM25与学习排序的关系及其在实际应用中的工程边界。

【全文检索引擎】BM25 与 Similarity:公式如何落到 Lucene

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-07-15T00:00:00Z

本文探讨了全文检索引擎的架构,重点分析了Lucene和Elasticsearch的设计与实现,包括倒排索引、文档模型、分析链、BM25打分机制和近实时刷新等关键概念,适合搜索引擎工程师和研究生深入理解搜索系统的内部运作。

【全文检索引擎】Lucene · BM25 · Segment · Elasticsearch NRT

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-07-15T00:00:00Z

本文讨论了Lucene文档模型中分析器对中文分词的影响。不同分析器(如StandardAnalyzer、ICU和IK插件)会导致不同的词项集合,从而影响索引和查询结果。文章强调索引和查询使用相同分析器是确保搜索结果一致性的关键。中文分词依赖于词典和模型,Lucene本身不提供生产级中文分词,常用插件如IK和jieba可热更新词典。分析器的选择和配置对性能和召回率有重要影响。

【全文检索引擎】分析链 Analyzer:从文本到 TokenStream

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-07-15T00:00:00Z

本文讨论了Lucene中的近实时搜索(NRT)机制,重点介绍了IndexWriter的文档缓冲、flush和Segment管理。文档通过addDocument进入RAM缓冲,flush后生成不可变Segment,查询时可通过DirectoryReader.open(IndexWriter)访问已flush的文档。NRT允许在未commit的情况下进行搜索,并强调flush与refresh的区别,以及Elasticsearch在此基础上的实现。

【全文检索引擎】IndexWriter 与 NRT:从缓冲到可打开的 Reader

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-07-15T00:00:00Z

本文讨论了Lucene的TieredMergePolicy及其在段合并中的作用。Lucene段文件不可原地更新,删除文档通过liveDocs标记为“死”,物理空间回收需待合并。TieredMergePolicy通过分层合并段,平衡写放大与查询性能。整体上,删除与合并策略影响存储效率与查询性能。

【全文检索引擎】MergePolicy 与删除:段合并与 liveDocs

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-07-15T00:00:00Z

本文探讨了Lucene中的查询执行过程,重点介绍了BooleanQuery与BooleanScorer的实现,以及通过两阶段迭代优化查询效率。采用galloping和impacts等技术,减少无效文档处理,提高搜索性能,并讨论了分布式查询中的优化策略和开放问题。

【全文检索引擎】查询执行:BooleanScorer、两阶段与 Collector

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-07-15T00:00:00Z

本文探讨了Elasticsearch和Lucene中DocValues的使用,强调其在排序和聚合中的重要性。DocValues以列式存储优化字段访问,适合高效的排序和聚合操作,而stored字段则用于获取原文。使用DocValues可以提高查询性能,避免对分析文本字段进行聚合的误区,并讨论了设计时的注意事项和未来的开放问题。

【全文检索引擎】DocValues 与 stored fields:排序聚合为何不走倒排

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-07-15T00:00:00Z

本文讨论了在Elasticsearch和Lucene中结合稀疏BM25与稠密kNN进行混合检索的策略,重点分析了两种索引的共存、查询策略及其对性能的影响。混合检索需同时利用BM25和kNN信号,以确保候选文档的一致性和可比性。文章还探讨了写入路径、代价模型及与专用向量引擎的边界问题,强调了统一Segment生命周期的重要性。

【全文检索引擎】混合检索边界:BM25 与 dense_vector

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-07-15T00:00:00Z
为什么OpenSearch 3.0是您现在必备的升级

OpenSearch 3.0正式发布,基于Apache Lucene 10,性能提升显著,查询延迟降低60%。新界面更直观,支持用户定制工作区,架构模块化,便于开发和维护。迁移简单,鼓励团队尽快升级以享受更强大的功能和支持。

为什么OpenSearch 3.0是您现在必备的升级

The New Stack The New Stack · 2025-07-24T17:00:12Z
什么是Apache Lucene?揭示开源商业模式、资金和社区

Apache Lucene是一个高性能的开源文本搜索库,广泛应用于内容管理和企业搜索。尽管面临可扩展性和资金可持续性挑战,Lucene仍在不断创新,未来可能结合区块链和人工智能技术,推动搜索技术的发展。

什么是Apache Lucene?揭示开源商业模式、资金和社区

DEV Community DEV Community · 2025-05-11T06:35:33Z
Lucene与KQL的比较

KQL和Lucene是Elasticsearch的查询语言。KQL适合初学者,Lucene适合特定聚合。两者支持模糊搜索、正则表达式和范围查询。KQL不区分大小写,而Lucene区分。使用时需注意性能和嵌套字段的语法。

Lucene与KQL的比较

DEV Community DEV Community · 2025-05-01T14:20:10Z
Elastic平台8.18和9.0:ES|QL查找连接已上线,Lucene 10也来了!

Elastic 8.18和9.0版本推出了ES|QL查找连接和Lucene 10等新功能,提升了查询性能和日志管理效率。ES|QL简化了数据丰富过程,支持安全和可观察性分析。新版本默认启用logsdb索引模式,优化了大规模日志处理的存储和查询性能。

Elastic平台8.18和9.0:ES|QL查找连接已上线,Lucene 10也来了!

Elastic Blog - Elasticsearch, Kibana, and ELK Stack Elastic Blog - Elasticsearch, Kibana, and ELK Stack · 2025-04-15T00:00:00Z
在Java应用中集成Hibernate Search进行全文搜索

本文介绍了如何在Java 8+应用中集成Hibernate Search进行全文搜索,分为基础知识和示例项目,展示复杂用例及自定义分析器的使用。Hibernate Search简化了全文搜索的实现,支持Elasticsearch和Lucene,但需注意数据同步问题。提供两种查询方式:直接从Elasticsearch获取数据或先获取索引再从数据库检索。

在Java应用中集成Hibernate Search进行全文搜索

DEV Community DEV Community · 2025-04-12T17:58:14Z
Lucene.Net 分布式索引实现方案

Lucene.Net 是一款单机全文搜索引擎,支持通过架构设计实现分布式索引。在主从复制方案中,主节点负责写入并定期同步到从节点,适合读多写少的场景。RabbitMQ 的 Fanout 模式可实现消息广播,适用于通知和日志收集,具有快速解耦和扩展的优点。

Lucene.Net 分布式索引实现方案

忘忧 忘忧的小站 忘忧 忘忧的小站 · 2025-03-05T02:43:56Z
优化Uber的搜索基础设施:升级至Apache Lucene 9.5

Uber工程团队将搜索基础设施从Apache Lucene 8.0升级到9.5,提升了搜索能力和效率。新架构包含服务层和摄取层,支持实时更新和离线处理。升级后,搜索速度提高30%,CPU使用降低,基础设施成本减少。

优化Uber的搜索基础设施:升级至Apache Lucene 9.5

InfoQ InfoQ · 2024-11-08T19:30:00Z

搜索引擎通过索引和检索算法快速找到信息。Apache Lucene是一个用Java编写的开源库,是ElasticSearch和Solr的基础。Lucene的搜索技术包括查询预处理、倒排索引搜索、文档评分和结果排序。查询经过分词、标准化、去除停用词和词干提取,然后根据TF-IDF权重检索相关文档,并按得分排序显示最相关结果。

使用Python探索Apache Lucene:理解搜索引擎机制

DEV Community DEV Community · 2024-10-09T03:41:46Z
  • <<
  • <
  • 1 (current)
  • 2
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码