我是SQL FTI的新手,我正在努力完善对包含数百万种不同产品的表的搜索。
如果我通过了这样的搜索:
select top 100 * from OMG_ProductFeeds.dbo.tbl_products
where CONTAINS(ProductName,'"apple iphone 6"')
我得到了这些结果:
Acm Rich Leather Soft Carry Case For Apple Iphone 6 Mobile Handpouch Holder Cover - Black
Apple iPhone 6 - 16 GB
Apple iPhone 6 Plus - 64 GB
Apple iPhone 6 - 64 GB
Apple iPhone 6 Plus - 16 GB
Chevron Set Of 3 Ultra Clear Screen Guard + 3 Matte Finish Screen Guard For Apple Iphone 6 - Combo Offer
Softy Back Cover Case For Apple Iphone 6 - Golden
Chevron Ultra Clear Hd Finish Screen Guard Protector For Apple Iphone 6 (pack Of 5)
我希望能够包含实际的iphone 6手机但忽略任何外围设备,例如外壳和屏幕保护膜,但我不知道该怎么做。
感谢任何建议。
由于
答案 0 :(得分:2)
您可以考虑使用额外的表格tbl_product_categories
重新设计数据库结构。
在tbl_products
中,我们可以添加一个外键列,以引用tbl_product_categories
中的相应类别。因此,您只能使用特定关键字过滤特定类别。
SELECT TOP 100 *
FROM OMG_PRODUCTFEEDS.DBO.TBL_PRODUCTS
WHERE CONTAINS(PRODUCTNAME,'"APPLE IPHONE 6"')
AND product_category_id = 1;