一个基于 Rust 的 Postgres 扩展,可显著提高 Postgres 的全文搜索功能。pg_bm25以现代引擎用来计
一个基于Rust的Postgres扩展,可显著提高Postgres的全文搜索功能。pg_bm25以现代搜索引擎用来计算搜索结果相关性分数的算法BM25命名。使用该类型的Postgres原生全文搜索tsvector有两个主要问题:性能:在大表上搜索和排名很慢。当表增长到数百万行时,单个全文搜索可能需要几分钟的时间。功能:Postgres不支持模糊搜索、相关性调整或BM25相关性评分等操作,而这些操作是现代搜索引擎的基础。pg_bm25旨在弥合Postgres全文搜索的本机功能与ElasticSearch等专业搜索引擎的本机功能之间的差距。目标是消除将ElasticSearch这样繁琐的服务引入数据堆栈的需要。一些功能pg_bm25包括:100%Postgres原生,对外部搜索引擎零依赖;构建于Tantivy之上,Tantivy是ApacheLucene搜索库的基于Rust的替代品;与Postgres的内置全文搜索和排序功能tsquery和相比,超过100万行的查询时间快了20倍ts_rank;支持模糊搜索、聚合、突出显示和相关性调整;相关性评分使用BM25,与ElasticSearch使用的算法相同;实时搜索-新数据可立即搜索,无需手动重新索引。pg_bm25站在几个开源巨头的肩膀上。这篇博文的目的是认识这些项目并分享pg_bm25其构建方式,为开发人员提供Postgres数据库的简单性和世界级搜索引擎的搜索功能。#扩展
在Telegram中查看相关推荐
🔍 发送关键词来寻找群组、频道或视频。
启动SOSO机器人