gpt4 book ai didi

elasticsearch - 使用Solr或Elasticsearch通过大型OR查询子句进行搜索/检索

转载 作者:行者123 更新时间:2023-12-03 01:47:09 28 4
gpt4 key购买 nike

我有一个汽车模型的搜索数据库:“日产Gtr”,“Huynday Elantra”,“Honda Accord”等。

现在我还有一个用户列表和他们喜欢的汽车类型
user1喜欢:carId:1234,carId:5678等...

给定用户1,我想退回他喜欢的所有汽车,它可以是0甚至是杂项。

在Solr或潜在的另一个“nosql”系统中对此建模的最佳方法是什么,可以解决此问题。

我正在使用Solr,但是如果可以的话,我有机会使用另一个系统。

编辑:
Solr解决方案是减慢Join的速度(也许我们可以尝试嵌套)。并且当前使用联接表的MySQL解决方案有超过20亿行。

最佳答案

因此,您只想在User-> Cars之间存储一个映射,并根据用户检索汽车...听起来很简单:

  • 您的文档是Users:包含ID(已索引)等字段
  • 该字段之一是“carsliked”(多值),其中包含他喜欢的一组汽车ID
  • ,例如,您有关于不同护理中每种护理的详细信息。
  • 给定用户ID的
  • ,您可以检索“carsliked”字段,并通过交叉收集联接获取汽车详细信息
    您还可以使用嵌套对象将每个喜欢的汽车(以及有关它的所有信息)存储在每个用户内部,但是要复杂一些。另外,您不需要查询中的联接。

  • Solr可以让您做更多事情,例如,给定一辆车,哪个用户喜欢呢? Elasticsearch的工作方式完全相同(考虑到用例的简单程度,可能还有许多其他工具)。

    关于elasticsearch - 使用Solr或Elasticsearch通过大型OR查询子句进行搜索/检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43055959/

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