首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于多面搜索软件栈的建议

关于多面搜索软件栈的建议
EN

Stack Overflow用户
提问于 2013-09-11 11:12:14
回答 1查看 749关注 0票数 2

我需要创建一个搜索工具,作为客户端新项目的一部分。记录将发生在一个或多个特定的日期。如果能得到关于哪些工具最好用于以下需求的建议,那就太好了:

  1. 需要(多方面)搜索数以万计的记录(基于类别、日期、价格等字段)
  2. 需要搜索多值字段(即标记)
  3. 需要能够按静态因素(如价格、距离等)下订单。
  4. 需要能够通过动态/频繁变化的因素(如用户参与/流量等)进行订购。
  5. 需要能够只返回在用户自己的社交网络中有活动的记录(即“只显示我的朋友参与的结果”)。
  6. 将部署在EC2中

我现在的想法是:

  1. 使用类似于Amazon、CloudSearch和Redis之类的混合
  2. 成千上万的人实际上并没有那么多的记录。也许大部分工作都是在关系数据库管理系统中完成的,使用CloudSearch进行全文搜索?
  3. 使用Redis为每个用户维护一组最近与记录交互的记录,然后合并它们以获取用户网络中的记录。

我主要关心的是从各种服务(Redis/CloudSearch)中提取可能数千个in,然后将它们合并到客户机代码中的延迟。然而,这也许是没有根据的。

我希望有一个技术栈,我已经错过了,可以解决很多问题为我。我不想去重新发明轮子。

欢迎任何建议!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-12 07:32:58

我推荐您使用亚马逊CloudSearch来满足您的需求:

  • 需要(多方面)搜索数以万计的记录(基于类别、日期、价格等字段)

当涉及到多方面的搜索时,CloudSearch真的很棒。它在亚马逊自己的网站上被广泛使用。它的过程燃烧得很快。搜索索引保存在内存中,以确保能够以非常高的速率处理请求。

  • 需要搜索多值字段(即标记)

没有问题(对于任何搜索引擎)

  • 需要能够按静态因素(如价格、距离等)下订单。

没有问题(对于任何搜索引擎)

  • 需要能够通过动态/频繁变化的因素(如用户参与/流量等)进行订购。

您可以在CloudSearch中设置“公式”。这会使你的要求更高或更低。它通常用于:-提供“新鲜”的内容,提高结果耙的基础上公布的日期。-提高民众的支持率

CloudSearch非常擅长这个任务。所以它看起来很适合你。

  • 需要能够只返回在用户自己的社交网络中有活动的记录(即“只显示我的朋友参与的结果”)。

我想这没什么问题。

  • 将部署在EC2中

对CloudSearch来说是一场胜利。你的请求将留在亚马逊的网络中。让你的要求比上网快得多。

我主要关心的是从各种服务中提取可能有数千个ID的延迟(Redis/CloudSearch)

CloudSearch不会慢下来。基于load 它可能会自动:更新硬件(更大的实例),启动新实例,在实例之间拆分数据。

也许你可以从亚马逊转到SimpleDB,而不是Redis?它可以让你轻松地扩大规模。但是在使用(或任何搜索引擎数据库)时使用其他数据库并不少见。

也许大部分工作都是在关系数据库管理系统中完成的,使用CloudSearch进行全文搜索?也许吧。但是要小心,RDBMS不像云搜索那么容易扩展。

顺便说一句,它是惊人的云搜索的创建者,但我并不是为Amazon工作:-)我只是觉得这项技术真的很棒(当它适合您的需要时)。

希望能帮上忙。希望不会太乱。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18739604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档