一千萬個為什麽

搜索

在低搜索中,這種復雜的類別過濾是否可行?

我有一個產品系列/渠道,每個產品屬於多個類別。我有兩個類別組: productcollection 。示例 product 類別包括“襯衫”和“帽子”。示例 collection 類別包括“blue”和“on sale”。 collection 類別可以被認為是 product 類別的子類,但在EE後端,它們的類別組是兄弟姐妹。

我有一個表單,允許您輸入要搜索的關鍵字,然後是 productcollection 類別的樹。

我有一個偽查詢我需要完成的事情:

SELECT
  products
WHERE
  keyword = 'foo'
AND 
(
  ( product_cat = 'shirt' AND ( collection_cat = 'blue' OR collection_cat = 'on sale' ) )
  OR 
  ( product_cat = 'hat' AND ( collection_cat = 'blue' ) )
)

我知道您可以通過發送類別ID數組來搜索多個類別,但在這種情況下,我需要有一個父子類別關系。

這可能嗎?

最佳答案

這個具體的例子是不可能的,但你可以非常接近,盡管不能解釋你定義的類別組之間的準關系。

使用低搜索,您可以執行以下操作:

SELECT * FROM entries
WHERE keyword = 'foo'
AND (product_cat = 'shirt' OR product_cat = 'hat')
AND (collection_cat = 'blue' OR collection_cat = 'on sale')

..它是一樣的:

SELECT * FROM entries
WHERE keyword = 'foo'
AND product_cat IN ('shirt', 'hat')
AND collection_cat IN ('blue', 'on sale')

...因此也在尋找出售的帽子。

轉載註明原文: 在低搜索中,這種復雜的類別過濾是否可行?