gpt4 book ai didi

search - 对多方面搜索软件栈的建议

转载 作者:IT王子 更新时间:2023-10-29 06:04:42 25 4
gpt4 key购买 nike

我需要为客户创建一个搜索工具,作为新项目的一部分。记录将是在一个或多个特定日期发生的事情。很高兴获得 SO 的建议,了解哪些工具最适合满足以下要求:

  1. 需要(多方面)搜索数万条记录(基于类别、日期、价格等字段)
  2. 需要搜索多值字段(即标签)
  3. 需要能够根据静态因素(例如价格、距离等)进行排序
  4. 需要能够根据动态/频繁变化的因素(例如用户参与度/流量等)进行排序
  5. 需要能够只返回在用户自己的社交网络中有事件的记录(即“只显示我的 friend 参与过的结果”)。
  6. 将部署在 EC2 中

我目前的想法是:

  1. 混合使用 Amazon CloudSearch 和 Redis 等工具
  2. 几千条实际上并没有那么多记录。也许大部分工作都在 RDBMS 中完成,并使用 CloudSearch 进行全文搜索?
  3. 使用 Redis 为每个用户维护一组最近与之交互的记录,然后将它们合并以获取用户网络中的记录。

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

我希望可能有一个我错过的技术堆栈可以为我解决很多问题。我不想重新发明轮子。

欢迎提出任何建议!

最佳答案

我建议您使用 Amazon CloudSearch 来满足您的要求:

  • Needs to (multi-faceted) search tens of thousands of records (based on fields such as category, date, price etc)

CloudSearch 在多方面搜索方面非常出色。它在亚马逊自己的网站上被广泛使用。而且它的过程非常快。搜索索引保存在内存中,以确保能够以非常高的速率处理请求。

  • Needs to search on multi-value fields (i.e. tags)

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

  • Needs to be able to order by static factors (such as price, distance etc)

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

  • Needs to be able to order by dynamic / frequently changing factors (such as user engagement / traffic etc)

您可以在 CloudSearch 中设置“公式”。它将使您的请求排名更高或更低。它通常用于:- 通过提高基于发布日期的结果排名来提供“新鲜”内容。- 提升受欢迎的结果

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

  • Needs to be able to only return records for which there has been activity in the user's own social network (i.e. 'only show me results my friends have engaged with').

我想这没问题。

  • Will be deployed in EC2

CloudSearch 的胜利。您的请求将保留在亚马逊网络中。让您请求比通过互联网更快。

My main concern is the latency of pulling back perhaps many thousands of IDs from various services (Redis/CloudSearch)

CloudSearch 不会减慢速度。基于负载it might automatically :更新硬件(更大的实例),启动新实例,跨实例拆分数据。

或许您可以从 Amazon 换成 SimpleDB 而不是 Redis?它将使您轻松扩展。但是在使用 Amazon Cloud Search(或任何搜索引擎数据库)时使用其他数据库的情况并不少见。

Perhaps do the bulk of the work in an RDBMS, with CloudSearch for full-text searching? Maybe. But be carefull RDBMS don't scale up as easily as Cloud Search.

顺便说一句,它是Amazing Cloud Search的创造者但我不为 Amazon Cloud Search 工作 :-)我只是觉得这项技术真的很棒(当它满足您的需要时)。

希望对您有所帮助。希望它不会太乱。

关于search - 对多方面搜索软件栈的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18739604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com