在多列和谓词上使用CONTAINS进行全文搜索 - AND

 易_拉罐 发布于 2023-02-11 21:28

我有一个搜索表,比如说要搜索的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,并将属性名称放入其中.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有