我实现了一个多对多标签系统,现在我想执行全文搜索。问题是 AND 不起作用。如果我使用 search terms 搜索项目,tag1 AND tag2 AND tag3
即使我的记录被所有三个标签标记,我也不会得到任何行。
为了解决这个问题,我尝试了一个标量函数来连接我的标签并将其包装在一个视图中。但是,这失败并出现以下错误:
无法在视图“视图”上创建索引,因为视图引用的函数“dbo.GetTags”执行用户或系统数据访问。
我已将搜索限制为仅 OR,但我现在有另一个多对多关系,该关系在join
表中包含我也想搜索的附加信息,并且需要 AND。
我能想到的唯一选择是unioning
一堆inner joins
或使用触发器。
有没有人有解决这个问题的经验或建议?