如何在 SQL Server 中使用前导通配符全文搜索?

2023-11-24

Note: I am使用 SQL 的全文搜索功能、CONTAINS 子句和所有 - * 是全文中的通配符,% 仅适用于 LIKE 子句。

我现在在几个地方读到 MS SQL 不支持“前导通配符”搜索(例如使用“*overflow”来匹配“stackoverflow”)。我正在考虑使用CLR 函数添加正则表达式匹配,但我很好奇人们可能有什么其他解决方案。

更多信息: 您只能在单词或短语的末尾添加星号。- 以及我的经验经验:当匹配“myvalue”时,“my*”有效,但“(星号)value”返回不匹配,当执行如下简单的查询时:

SELECT * FROM TABLENAME WHERE CONTAINS(TextColumn, '"*searchterm"');

因此,我需要一个解决方法。我只在我的网站中的实际搜索页面上使用搜索 - 因此它的工作方式基本上与 Google 的工作方式相同(在 Joe Sixpack 类型的用户看来)。没有那么复杂,但这种匹配确实不应该失败。


仅针对前导通配符的解决方法:

  • 将反转的文本存储在不同的字段中(或物化视图中)
  • 在此列上创建全文索引
  • 找到带 * 的反转文本

    SELECT * 
    FROM TABLENAME 
    WHERE CONTAINS(TextColumnREV, '"mrethcraes*"');
    

当然有很多缺点,只是为了快速解决...

更不用说CONTAINSTABLE了...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 SQL Server 中使用前导通配符全文搜索? 的相关文章

随机推荐

  • Pyomo 无法找到 GLPK 解算器

    我正在尝试将 GLPK 解算器与 Pyomo 一起使用 我有一个已经过测试的工作模型 但不断收到错误消息 提示无法找到 GLPK 警告 无法找到解算器 glpk 所需的 glpsol 可执行文件 我已经成功安装glpk 我还将目录添加到路径
  • 分配给较大宽度整数时的 C 整数溢出行为

    如果我在 C 中执行以下代码 include
  • 为什么我的应用程序无法在 Heroku 上建立 websocket 连接?

    我正在尝试在heroku 上部署我的nodejs 应用程序 我无法建立 websocket 连接 我已经阅读了我能找到的所有内容 尝试了每个示例 但似乎没有一个对我有用 当我尝试打开我的页面 heroku open 时 nodejs 正确地
  • C# 中的 HttpWebRequest 不适用于 .net 4.5

    我正在开发一个 C 项目 该项目将 xml 发送到服务器并接收 xml 作为响应 安装 Net Framework 4 0 后 可以正常工作 安装 Net Framework 4 5 后 它会抛出此异常 System NullReferen
  • 是否可以在 Rails 中创建两个日期之间的月份列表

    我正在尝试创建一个页面来显示每个月的链接列表 按年份分组 月份必须位于 今天 和 首次输入的日期 这两个日期之间 我在砖墙上 我不知道如何创建它 任何帮助将不胜感激 问候 亚当 只需将您想要的内容放入范围循环中并使用 Date MONTHN
  • Flutter:将 Widget 的边缘与第二个 Widget 重叠

    我想将一个小部件的底部边缘与另一个小部件重叠 使其看起来像这样 我正在使用堆栈将箭头按钮放置在卡片上 目前我只是设置了位置 上面有一个看不见的框 问题是这种方法仅适用于确切的分辨率 它应该与屏幕尺寸无关 小部件的必要代码 Stack chi
  • 增加 catalina.bat 文件中堆大小的最佳方法

    我在 windows xp 上有 tomcat 6 服务器 并且我通过控制台启动 tomcat 即使用startup bat AFAIK catalina bat文件适用于 Windows 因此我正在更改 bat 文件以进行内存管理 我没有
  • 如何调用Web服务方法进行测试,例如从浏览器

    有一个 dll webservice 用 Delphi 制作 有一个名为List它返回字符串列表 宽字符串 是否有任何方法可以调用该服务而无需编写客户端应用程序来使用它 Ex http misitio com 8080 miwebservi
  • Emacs 24内置cedet功能亮点

    我想去掉上面的下划线功能 例如 如上面 void 的屏幕截图所示 http cedet sourceforge net img gen semantic ia complete menu png 我在文档中找不到任何明显的内容 但哎呀 我什
  • 将行替换为空格,将反斜杠替换为包含空格的字符串

    我想替换以下行 memory 20g with memory 100g 实际上它应该替换之后的任何数字 memory 以下是我所拥有的 但无法获得预期的结果 sed i E s b memory memroy 100g g a txt 您不
  • 如何在代码外部(即 XML 文件中)定义 AutoMapper 映射,或使用不同的方法来实现完全可配置的对象映射?

    EDIT 最初我打算使用 AutoMapper 来实现我的目标 但我必须知道 AutoMapper 并不是这样工作的 它使您可以创建配置文件 但在我的情况下 完全可配置 我需要为每个参数组合一个配置文件 所以我想出了一种自己的方法 请参阅答
  • AngularJS - jQuery UI - 绑定问题

    我目前正在将一个大型应用程序移植到一个基于 HTML5 的 Web 应用程序 我已经开始在 AngularJS 中构建该应用程序并享受 AngularJS 框架的强大功能 目前我遇到一个问题 我有一个指令为我提供了 jQuery Datep
  • 如何让 Python / PostgreSQL 更快?

    现在我有一个日志解析器读取 515mb 的纯文本文件 过去 4 年里每天的一个文件 我的代码目前是这样的 http gist github com 12978 我已经使用了 psyco 如代码中所示 并且我也在编译它并使用编译后的版本 它每
  • 如何将 tail -f 通过管道传输到 awk 中

    我正在尝试设置一个脚本 当日志文件中出现某个字符串时 会生成警报 已有的解决方案每分钟一次 grep 整个日志文件 并计算字符串出现的频率 使用日志行的时间戳仅计算前一分钟的出现次数 我认为用尾巴来做这件事会更有效 所以我尝试了以下方法作为
  • ASP.NET中如何在Web表单之间传递信息

    如何在asp net中将一些信息从一个Web表单发送到另一个Web表单 第一个网页表单是HumanList aspx显示a中的人类列表GridView成分 当用户单击编辑链接时 我想传递 humanID 人类记录 ID 的值 HumanLi
  • Google 自动完成教程为 swift 放置 api

    我想要一个自动完成文本字段 可以像 Android 一样自动完成位置 https developers google com places training autocomplete android 有谁知道我在哪里可以找到这方面的教程或示
  • 使用 youtube 播放器 api 在后台播放 Youtube 视频

    我已经使用成功播放了 YouTube 视频youtube player api 但我需要在按下后退按钮时在后台运行它 我用谷歌搜索了很多 但没有找到任何结果请帮助我实现这一目标 提前致谢 这是我的代码 public class Fullsc
  • 传递 null 时选择哪个构造函数?

    在下面的示例中 我有 2 个构造函数 一个采用 String 另一个采用自定义对象 在此自定义对象上存在一个方法 getId 该方法返回一个字符串 public class ConstructorTest private String pr
  • Ruby 中什么时候需要 do 关键字?

    例如 是否存在do下面的代码对程序的行为有什么影响 while true do puts Hi break end while true puts Hi break end 根据Ruby 编程语言本书第 5 2 1 节 The do中的关键
  • 如何在 SQL Server 中使用前导通配符全文搜索?

    Note I am使用 SQL 的全文搜索功能 CONTAINS 子句和所有 是全文中的通配符 仅适用于 LIKE 子句 我现在在几个地方读到 MS SQL 不支持 前导通配符 搜索 例如使用 overflow 来匹配 stackoverf