数据
~5M 文档,希望有 ~223M,每个文本约 10-1000 字。它必须是 utf8 并支持任何口语。文本中的所有单词都是唯一的,我也可以对它们进行排序或做任何需要的事情来获得更好的表现。全文保存在另一个位置。数据几乎是只读的。为了性能,我可以生成数据、添加索引并将其标记为只读。
数据结构:
{
id: 1,
reference_id: 1,
text: 'text of unique. 10-1000 words each ',
}
要求
- 结果必须低于 0.1 秒
示例查询:
- 查找包含单词的文本:x 或 y 或 z
- 查找包含单词的文本:x and y and z
- 找到包含单词的一部分的文本会很棒:
hous
would findhouse
等housing
。
问题
- 有可能用 MySQL/PostgreSQL 实现吗?
- 您会提供哪些数据库解决方案?
- 要看什么配置?
- 索引类型?
- 查询样品?
- 服务器对 RAM/HDD/CPU 的要求?
- 更好更强大的机器还是更简单的阵列?
只需考虑您的要求和您的要求,以及是否可以在这里给出答案。维基百科有 530 万篇文档。你说的是那种规模的负载。你想知道你是否可以在 0.1 秒内查询它?您将提供示例文本。我只想制作样本数据,但我什至要如何为这个问题生成样本数据/
您想要的是企业级全文搜索 (FTS):PostgreSQL 有。它是否会像您预期的那样执行,我不知道。我已经将它用于相当大的项目,效果非常好。
它还支持
:*
哪个做你想做的。所以就用hous:*
它可以使用 GIST 索引进行索引。所有这些都在文档中。
所以就