ParadeDB 是一款基于 PostgreSQL 构建的先进开源搜索引擎,旨在作为 ElasticSearch 的替代品。它充分利用了 Postgres 的强大功能,并将其扩展至提供媲美甚至超越 ElasticSearch 的搜索功能集:
1. 全文搜索:
ParadeDB 提供强大的全文搜索功能,允许用户使用灵活的分词器配置、支持17种语言的词干提取,并采用基于 SQL 的易于扩展的查询语言进行关键字或短语搜索。
2. 相似性搜索:
通过集成预装的 pgvector 扩展和智能工作流程, ParadeDB 实现了基于语义的相似性搜索,能够实时维护和同步向量表示,以实现高效的相似文档查找。
3. 混合搜索:
结合全文搜索和相似性搜索的优点,ParadeDB 实现了混合搜索策略,能够在提高搜索结果的准确性和召回率方面表现出色。
4. BM25 排序:
采用了 Elasticsearch 中广泛应用的 BM25 排序算法,确保全文搜索结果按照相关性得分进行排序,从而提供更为精确的搜索结果排名。
5. 分面搜索:
ParadeDB 支持分面搜索特性,允许用户获取搜索结果的不同维度统计信息,便于进行多维度筛选和导航。
6. 分布式搜索:
为应对大规模数据和高并发场景,ParadeDB 内置了自动索引分片功能,显著提升了搜索性能,相比单节点 PostgreSQL 实现了数百倍的搜索速度提升。
7. 底层技术:
ParadeDB 的搜索引擎核心基于 Tantivy 构建,这是一个基于 Rust 语言编写的、遵循 Apache Lucene 设计原则的高性能搜索引擎库,确保了系统的稳定性和效率。
总之,ParadeDB 结合了 PostgreSQL 的可靠性与 Tantivy 的高性能搜索能力,通过一系列高级搜索功能,为开发者提供了一款强大且具备弹性伸缩能力的开源搜索解决方案。
ParadeDB Docker 镜像
要快速启动并运行 ParadeDB 实例,只需拉取并运行最新的 Docker 映像:
docker run --name paradedb paradedb/paradedb
这将使用默认用户和密码启动 ParadeDB 实例。然后,您可以使用以下命令连接到数据库:postgrespostgrespsql
docker exec -it paradedb psql -U postgres
要在本地或本地安装 ParadeDB,我们建议使用我们的文件。或者,您可以将相应的环境变量传递给命令,将<>替换为所需的值:docker-compose.yml docker run
docker run \
--name paradedb \
-e POSTGRESQL_USERNAME=<user> \
-e POSTGRESQL_PASSWORD=<password> \
-e POSTGRESQL_DATABASE=<dbname> \
-e POSTGRESQL_POSTGRES_PASSWORD=<superuser_password> \
-v paradedb_data:/bitnami/postgresql \
-p 5432:5432 \
-d \
paradedb/paradedb:latest
这将使用非 root 用户和密码启动 ParadeDB 实例。它将与超级用户相关联,并且是正确安装 ParadeDB 扩展所必需的。<user><password>superuser_passwordpostgres
该标志使 ParadeDB 数据能够在名为 的 Docker 卷中重新启动后保留。卷需要由具有 的用户写入,这是 Bitnami PostgreSQL Docker 映像的安全要求。您可以通过以下方式执行此操作:-vparadedb_datauid = 1001
sudo useradd -u 1001 <user>
sudo chown <user> </path/to/paradedb_data>
然后,您可以使用以下命令连接到数据库:psql
docker exec -it paradedb psql -U <user> -d <dbname> -p 5432 -W
ParadeDB 收集匿名遥测数据,以帮助我们了解有多少人在使用该项目。可以通过设置或取消设置变量来选择退出遥测。PARADEDB_TELEMETRY false
官方文档
https://docs.paradedb.com/introduction
本文暂时没有评论,来添加一个吧(●'◡'●)