上亿数据,如何完成快速检索

2023 年 10 月 4 日
 joker2026

针对上亿数据,根据其中一个字段或两字字段进行搜索模糊查询,一般使用什么中间件或者搜索方法? 不拘泥于言,不拘泥于框架,请大神各抒己见。当然 php 、java 这种常见的语言,参考意义比较大,谢谢

4319 次点击
所在节点    程序员
17 条回复
locoz
2023 年 10 月 4 日
elastic search
netnr
2023 年 10 月 4 日
如果搜索结果是返回少量数据, ClickHouse 秒出
insmoin
2023 年 10 月 4 日
全文搜索引擎
redtech
2023 年 10 月 4 日
也可以用 meilisearch
dusu
2023 年 10 月 4 日
manticoresearch
Rocketer
2023 年 10 月 4 日
@netnr 秒也太慢了🤣

超过 100 毫秒用户体验就算差了
GeorgeWai
2023 年 10 月 4 日
es ,ch 都可以,关键还是在于硬件😄
missuo
2023 年 10 月 4 日
clickhouse yyds
zhuzhibin
2023 年 10 月 4 日
插个话 es 的全模糊 wildcard 有啥替代方案 性能太差了 上次有过一次把单节点 CPU 干满了 大量查询导致 search 线程池也阻塞满了
matrix1010
2023 年 10 月 4 日
@zhuzhibin N-gram 空间换时间,一般来说 2gram 或 3gram 效果都很不错, 你也可以两个加一起。比如 google code search 就是 trigram: https://github.com/google/zoekt
Sakura0Tears
2023 年 10 月 4 日
只会 Excel 难蚌
matrix1010
2023 年 10 月 4 日
owen800q
2023 年 10 月 5 日
Serverless 版本的 mongodb, 别说一亿,100 亿都没问题
bjzhush
2023 年 10 月 5 日
你缺了很多条件,比如配备的硬件,QPS ,响应时间要求
我说个我做过的单机版的,10 年前了,拿 sphinx 搞的,大概 3-5 亿条记录,印象中响应是 500 毫秒内
midsolo
2023 年 10 月 5 日
我司国庆之前用 32G 内存的服务器,压测了单机版的 ClickHouse ,数据可以参考一下:

扫描行数:530,000,000
耗时(秒):0.942
查询列数:2
结果行数:46
zhuzhibin
2023 年 10 月 5 日
matrix1010
2023 年 10 月 5 日
@zhuzhibin 看了一眼 es 的文档,wildcard 类型已经是通过 trigram 来优化了。如果用 wildcard 类型 cpu 还高可能就要考虑一下别的方法 https://www.elastic.co/cn/blog/find-strings-within-strings-faster-with-the-new-elasticsearch-wildcard-field

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/978908

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX