Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance badoo.com用户搜索-如何实现?_Performance_Search_Search Engine - Fatal编程技术网

Performance badoo.com用户搜索-如何实现?

Performance badoo.com用户搜索-如何实现?,performance,search,search-engine,Performance,Search,Search Engine,Badoo.com拥有56.000.000个用户配置文件。个人资料可以按性别、年龄、头发颜色、生肖、教育程度等进行搜索,还可以按我的家乡、在线状态和注册日期进行搜索。到目前为止,这似乎是可行的,即使是对大型表(56m成员…)的查询,它也可以以一般方式缓存 有趣的是,他们也有一个单独的“排除列表”(对于你看到的每个个人资料,你可以说你不想见到这个人)。另外,你的朋友也不会出现 第二个有趣的部分是查询的OR部分。你可以搜索一个女人,25-35岁,金发或黑发,不吸烟,异性恋或双性恋,处女座或双胞胎,或

Badoo.com拥有56.000.000个用户配置文件。个人资料可以按性别、年龄、头发颜色、生肖、教育程度等进行搜索,还可以按我的家乡、在线状态和注册日期进行搜索。到目前为止,这似乎是可行的,即使是对大型表(56m成员…)的查询,它也可以以一般方式缓存

有趣的是,他们也有一个单独的“排除列表”(对于你看到的每个个人资料,你可以说你不想见到这个人)。另外,你的朋友也不会出现

第二个有趣的部分是查询的OR部分。你可以搜索一个女人,25-35岁,金发或黑发,不吸烟,异性恋或双性恋,处女座或双胞胎,或者巨蟹座,住在巴黎方圆50公里的地方,不是你的朋友,也不在你的排除名单上,现在在线。许多ORs、繁重的查询、排序选项,无法缓存或预计算所有这些,但搜索以毫秒为单位返回11.298个结果

面对5600万数据集和25万人同时使用,他们是如何做到这一点的?全文搜索索引?关系数据库?键值存储?
有人对这个概念或架构有什么想法吗?

它们很可能是使用Lucene或Sphinx等反向索引技术构建的。如果您希望构建一个解决方案,我的建议是(使用Lucene构建的搜索服务器)。它非常受欢迎,有一个活跃的OSS社区,被Netflix、Cnet等网站使用。

我建议您看看。它是俄语的,但谷歌翻译帮助很大


简而言之,他们使用的是分片MySQL和memcached。这里有一些。

或者该网站实际上没有5600万用户,他们只是在你执行搜索时随口吐出一组随机结果。一个网上交友网站有虚假的个人资料却没有真实的活动?你没说!请修复一个死链接