使用 Solr 进行成本比较

发布于 2024-10-21 09:48:27 字数 253 浏览 3 评论 0原文

我计划建立类似pricegrabber.com/google 产品搜索的东西。

假设我已经在一个巨大的表中提供了可用的数据。我计划将这一切提交给 Solr。这样就解决了搜索的问题。但我不知道如何进行比较。我可以对数据库上 Solr 返回的产品进行分组查询(在 UPC/SKU 上)。但是,我不想那样做。我想以某种方式获得返回给我的产品比较数据以及来自 Solr 本身的搜索。

您认为我的架构应该如何?您认为这个用例可以通过 Solr/Sphinx 全部解决吗?

I plan to build something like pricegrabber.com/google product search.

Assume I already have the data available in a huge table. I plan to submit this all to Solr. This solves the problem of search. However I am not sure how to do comparison. I can do a group by query(on UPC/SKU) for the products returned by Solr on the DB. However, I dont want to do that. I want to somehow get product comparison data returned to me along with search from Solr itself.

How do you think should my schema be? Do you think this use-case can be solved all by Solr/Sphinx?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

悲欢浪云 2024-10-28 09:48:27

您需要“结果分组”或“字段折叠”支持才能正确处理它。

Solr 中,该功能在任何发行版本中均不可用,并且仍在开发中。如果您愿意使用 Solr 的未发布版本,请在此处获取详细信息。

Sphinx 支持结果分组,我很久以前就在类似的项目中使用过它。您可以在此处获取更多详细信息。

另一种策略可能是预处理数据,以便每个 UPC/SKU 只插入一条记录到索引中。每条记录可以有一个单独的字段,其中包含具有相同 UPC/SKU 的所有商品的 ID。

对 Solr 返回的产品进行数据库 GROUP BY 可能还不够。例如,如果产品 A 和 B 具有相同的 UPC,并且某个查询与 A 匹配但与 B 不匹配,那么您将不会在结果集中同时获得 A 和 B。

You need 'result grouping' or 'field collapsing' support to properly handle it.

In Solr, the feature is not available in any release version and is still under development. If you are willing to use an unreleased version of Solr, then get the details here.

Sphinx supports result grouping and I had used it a long time ago in a similar project. You can get more details here.

An alternative strategy could be to preprocess your data so that only a single record per UPC/SKU gets inserted in the index. Each record can have a separate field containing the ids of all the items with the same UPC/SKU.

Doing a database GROUP BY on the products returned by Solr may not be enough. For example, if products A and B have the same UPC and a certain query matches A but not B, then you will not get both A and B in your result set.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文