在我的配置文件中..
sql_query = select pr.id, pr.sf_skus, pr.name, pr.description, pr.sf_vendors,
pr.sf_product_kw, \
pr.sf_family_kw, pr.sf_class_kw, pr.sf_group_kw, pr.sf_category_kw, \
pr.sf_sku_descriptions, \
pc.item_category_id, pc.item_group_id, pc.item_class_id, \
pc.item_family_id \
from products as pr \
left join product_cats as pc on pc.product_id = pr.id
sql_attr_uint = item_category_id
sql_attr_uint = item_group_id
sql_attr_uint = item_class_id
sql_attr_uint = item_family_id
我跑的时候......
search --filter item_family_id 12
我总共找到了26份文件。
我运行时在数据库上的(完全相同的查询(我认为))...
select pr.id, pr.sf_skus, pr.name, pr.description, pr.sf_vendors, pr.sf_product_kw,
pr.sf_family_kw, pr.sf_class_kw, pr.sf_group_kw, pr.sf_category_kw,
pr.sf_sku_descriptions,
pc.item_category_id, pc.item_group_id, pc.item_class_id,
pc.item_family_id
from products as pr
join product_cats as pc on pc.product_id = pr.id
where pc.item_family_id = 12
我得到41个结果。
这两个不应该相同吗?我究竟做错了什么。 TIA
答案 0 :(得分:0)
首先,您使用不同的连接(第一个查询中为LEFT JOIN,第二个中为JOIN)。其次,您可以使用以下命令运行mysql
客户端并关注索引内容:
SELECT * FROM your_index LIMIT 100;
您对sphinx
的查询可能只返回部分结果。