首页 > 解决方案 > 优化 SQL 文本搜索的技巧

问题描述

我正在构建一个 SQL 查询,它将在 [Subject] 和 [Body] 两个字段上搜索一个表(电子邮件数据)。我需要找到详细说明下班后发生的事件的记录。电子邮件通常会包含关键词“发布”和“终止”,以表明与我的搜索相关的记录。这些关键词可能出现在组合在一起的短语中,但也可能以不同的方式书写。(终止后,任期后,....)。这些组合可能会显示在 [Subject] 或 [Body] 字段中,有时会同时显示。

我的问题是误报。我收到一堆不相关的记录。

到目前为止,我的查询是这样的......

 WHERE [Subject] like '%post%' and [Subject] like '%termination%'

或者

   [Body] like '%post%' and [Body] like '%termination%'

我为上面列出的组合添加了更多行。

关于平衡我的查询的任何提示,以便我最大限度地检索相关记录,同时最大限度地减少误报的数量?任何帮助将非常感激!干杯。

标签: sql-server

解决方案


可能是(如果你的话总是按相同的顺序):

WHERE [Subject] like '%post%term%' OR [Body] like '%post%term%'

推荐阅读