不知道把顺序换下可以不 contains(title,'not "宝盒" and "珠宝"') 这个情况估计不好解决,因为冲突,牵扯到分词问题
contains(title,'"珠宝" and not "宝盒" and not "珠宝盒"')
要精确匹配,如果数据量不大,就用like查询
CREATE TABLE #temp ( [value] NVARCHAR(100) ) INSERT #temp SELECT N'我有一个珠宝盒子' GO --SQL: SELECT * FROM #temp WHERE [value] LIKE N'%珠宝%' AND REPLACE([value], N'珠宝', '') NOT LIKE N'%宝盒%'
这个情况估计不好解决,因为冲突,牵扯到分词问题
(
[value] NVARCHAR(100)
)
INSERT #temp
SELECT N'我有一个珠宝盒子'
GO
--SQL:
SELECT * FROM #temp
WHERE [value] LIKE N'%珠宝%'
AND REPLACE([value], N'珠宝', '') NOT LIKE N'%宝盒%'
几百万的数据,like查询速度太慢。
知道这个原理,在页面查询,在not处多输入个“珠宝盒”,否则没法解决这类问题