首页
学习
活动
专区
工具
TVP
发布

搜索引擎技术研讨

elasticsearch solr lucene
专栏作者
11
文章
9787
阅读量
17
订阅数
自定义打分公式开源库调研
策略上需要通过自定义expression动态调整文本相似度算法, 而文本相似度算法对每个匹配(match query)都调用一次, 假设一个request中有10个match query, 每个match query平均匹配10w个文档(我们假设的极端些), 那么一个request会调用打分公式100w次.
叫我家宝
2023-04-27
3150
Query阶段自定义文本相似度打分公式
我们知道, 在使用倒排索引做召回时, 会应用文本相似度公式打分, 比如Lucene默认的bm25.
叫我家宝
2023-04-18
6430
Solr与ES多值存储的区别
今天发现一个问题, Solr存储多值字段的时候, 需要显式的指定, 如CITY是单值字段, FACET_VALUES是多值字段, 需要这么写:
叫我家宝
2023-04-06
4620
Solr Group源码分析
https://solr.apache.org/guide/8_6/result-grouping.html
叫我家宝
2022-07-28
3470
ES Cache: Page Cache
从操作系统的角度, page cache也称为disk cache, 是操作系统对硬盘(HDD or SSD)的缓存. OS 使用当前空闲的RAM来保存page cache, 用来加速对硬盘的访问. page cache在内核实现, 对应用程序几乎是透明的.
叫我家宝
2022-04-25
1.2K0
修改ES返回字段方式提升性能
最近我们在公司内尝试用ES替换老旧的Solr, 在性能对比测试的环节, 发现ES竟然比Solr慢了非常多, 响应时间是Solr的两三倍, 然后开始各种排查, 最后发现ES的响应时间竟然随着request.size的增加呈线性增加, 这说明大部分时间都耗在了获取返回字段上面. 而我们目前在召回时并未获取很多字段, 只获取了UID(我们自己定义的一个基于docvalues列存的字段)和score. 按照ES的query-then-fetch召回模式来说, score应该是在query阶段生成, 在fetch阶段应该只需要读取UID, 而UID是基于列存的, 没有理由会随着request.size的增加而线性增长.
叫我家宝
2022-04-06
2.7K0
SolrCloud分布式搜索源码分析
SolrCloud是solr对分布式搜索的实现, 分布式搜索主要涉及到两个概念, shard和replica.
叫我家宝
2022-03-25
6460
Lucene范围查询原理(<Lucene6.0)
之前一直想看一下lucene range查询的底层原理, 先上网找了下相关资料, 发现非常混乱, 主要是因为lucene的范围查询曾经经历过两个不同的阶段:
叫我家宝
2022-02-25
1.5K0
ES提交操作与原理
根据官方文档+看源码+实验总结出来的ES各种提交的作用与原理(对应版本7.2.0).
叫我家宝
2022-02-16
5690
ES Cache: Node Cache
NodeCache也称为QueryCache, 是在Node(机器)级别缓存的, 同一个节点上的多个shards共用的一个Node Cache.
叫我家宝
2022-02-09
1K0
SpanQuery源码学习总结
SpanScorer中包含一个Spans对象, SpanScorer把iterator()和twoPhraseIterator()方法都委托给了Spans对象. Spans类本身继承了了DocIdSetIterator, 也就是说Spans对象本身就代表了一个文档倒排表, 除了本身是一个倒排表外, Spans类还实现了nextStartPosition() /startPosition() /endPosition(), 当匹配某个文档的时候, 通过这三个接口可以遍历在当前文档的匹配位置, 用于实现短语的匹配.
叫我家宝
2022-01-18
4010
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档