我计划构建类似pricegrabber.com/google产品搜索的内容。
假设我已经在巨大的表格中提供了数据。我计划将此全部提交给索尔。这解决了搜索问题。但是我不确定如何进行比较。我可以通过查询(在UPC / SKU上)为DB上的Solr返回的产品进行分组。但是,我不想那样做。我想以某种方式将产品比较数据与Solr本身的搜索一起返回给我。
您认为我的架构应如何?你认为这个用例可以通过Solr / Sphinx解决吗?
答案 0 :(得分:1)
您需要'结果分组'或'字段折叠'支持才能正确处理它。
在 Solr 中,该功能在任何发行版中都不可用,并且仍处于开发阶段。如果您愿意使用未发布的Solr版本,请获取详细信息here。
Sphinx 支持结果分组,很久以前我在类似的项目中使用过它。您可以获得更多详细信息here。
另一种策略可能是预处理您的数据,以便每个UPC / SKU只有一条记录插入索引中。每条记录都可以有一个单独的字段,其中包含具有相同UPC / SKU的所有项目的ID。
对Solr返回的产品执行数据库GROUP BY可能还不够。例如,如果产品A和B具有相同的UPC且某个查询与A匹配但不匹配B,那么您将不会在结果集中同时获得A和B.