Elasticsearch 与 Memgraph 的索引性能和内存使用情况

问题描述 投票:0回答:1

我正在为一个巨大的数据集(来自一个国家的所有公司和公司合作伙伴,这样人们可以找到所有者和不相关公司之间的关系)构建一个图形搜索和显示系统,其中包括大约 5000 万个名称和 ID(想想经过审查的 SSN)。

我设法使用 Memgraph 加载所有这些内容,使用了一些 32GB RAM,但是按个人/公司名称搜索非常糟糕,平均需要大约 30 秒。一旦找到,数据库很快就会带来关联的节点(<5s).

我正在考虑将所有文本数据(公司和合作伙伴名称、公司和个人 ID)迁移到 Elasticsearch,因为它专门用于文本搜索,并且在 Memgraph 中仅保留数字节点 id 和关系,将关联的节点 id 存储在 Elasticsearch 上.

我正在一台具有 48GB RAM 的开发机器上完成所有这些工作,所以这是我现在的极限。

我的问题是:

  1. 对于如此大小的名称数据集,预期搜索时间是多少? RAM 消耗怎么样?

  2. 我谈论 Elasticsearch 是因为它似乎是我想要实现的目标中最知名/最成熟的系统,但我有点谨慎,因为它是基于 Java 的。我寻找替代方案并提出了 Meilisearch(基于 Rust)和 Manticoresearch(基于 C++),这些有什么好处吗?

  3. 或者,具有文本搜索支持的关系数据库(例如 Postgres + pg_trgm 或 pg_bigm)会更好地为我服务吗?

TIA。

elasticsearch full-text-search memgraphdb
1个回答
0
投票

免责声明:我是 Memgraph 的联合创始人兼首席技术官

Memgraph 目前没有出色的文本搜索功能,但有一些选项:

重要提示:我们收到了很多像这样的请求(对文本搜索索引的本机支持,因为将所有内容都放在一个地方会更有效),因此我们计划发布适当的文本搜索索引功能,甚至可能在 v2.13 中(~从今天起 10 周) -> 请关注 https://github.com/memgraph/memgraph/issues/1261

下的进度
© www.soinside.com 2019 - 2024. All rights reserved.