【发布时间】:2021-05-17 09:22:33
【问题描述】:
我正在尝试进行灵活搜索来检索产品和他的叶子类别。叶类别是没有其他子类别的最后一个类别,类别必须是“category”和“productTypeCategory”类型。我尝试进行一些连接,但失败了。感谢您的帮助!
【问题讨论】:
-
我认为使用 FlexibleSearch 没有简单的方法可以做到这一点。使用 Java/Groovy 可能更容易。
我正在尝试进行灵活搜索来检索产品和他的叶子类别。叶类别是没有其他子类别的最后一个类别,类别必须是“category”和“productTypeCategory”类型。我尝试进行一些连接,但失败了。感谢您的帮助!
【问题讨论】:
我会建议这样的事情:
SELECT {c.code}, {c.itemtype}, {ccr.source} FROM
{Category as c LEFT JOIN CategoryCategoryRelation as ccr ON {c.pk}={ccr.source}
JOIN ComposedType as ct ON {c.itemtype} = {ct.pk}}
WHERE {ccr.source} IS NULL AND {ct.code} = 'Category'
至少,这应该是一个开始。它将返回 Category 类型的 LEAF 猫。
剩下的是加入产品并可能考虑目录版本。根据您未提供的具体用例,最好向 Solr 询问最终结果,然后使用我的查询的类别结果传递给 solr 查询,而不是实现额外的 JOIN,但这取决于如果您在店面,或者您需要后台/cronjob 等信息。
【讨论】: