如何为Intenet商店建立正确的过滤器。

例如:
我们有带有名称(iPhone,小米等)和参数(内存,电池容量)的手机。

题:
我有5个内存选项(1gb,2gb,3gb,4gb,5gb)。当我选择任何一个内存选项时,其他过滤器必须以新的计数重建,但内存过滤器不得更改。如果我使用狮身人面像作为
select * from phones where memory='1gb' facet memory facet name
我看到的结果是内存只有1gb的计数,这不好,因为我必须选择1gb和2gb的电话。

最佳答案

可惜狮身人面像无法做到这一点,FACET函数并不那么聪明。

只需通过“手动”查询编组即可。

select * from phones where match('keyword') and memory='1gb';
select memory,count(*) from phones where match('keyword') group by memory;
select name,count(*) from phones where match('keyword') and memory='1gb' group by name;


...即,只需显式地从内存组中删除内存过滤器。这就是所有FACET真正在做的事情,它会自动创建这些额外的GROUP BY查询。

关于php - 带 sphinx 的智能过滤器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57882801/

10-15 18:53