我有一个搜索表,比如说要搜索的4列文本数据.
我做这样的事情:
SELECT * FROM dbo.SearchTable WHERE CONTAINS((co1, col2, col3, col4), 'term1 AND term2')
如果term1和term2在同一列中,则看起来Contains仅返回true.有没有办法指定所有列都应包含在AND中?
如果没有,我的想法是JSON所有搜索列并将它们合并为一个.这样我就可以全文搜索它们,但仍然可以轻松地在.NET中提取单个列.我假设索引器不会出现问题,并且会省去JSON字符和引号.它是否正确?
谢谢
编辑
考虑到JSON的想法,抓取工具还会为属性名称编制索引,因此我必须将{name},{details},{long_details}重命名为{x1},{x2},{x3}以确保它们' d不在搜索中挑选.希望如果他们这么短,他们就不会被编入索引.
EDIT2
我可以根据系统Stoplist 创建一个Stoplist,并将属性名称放入其中.