使 SQL Server 索引较小

2023-11-24

我们在一个项目中使用 SQL Server 2005。系统的用户能够使用“关键字”搜索某些对象。我们实现这一点的方法是为每个表中可能包含这些“关键字”的重要列创建一个全文目录,然后使用 CONTAINS 搜索用户在该索引的搜索框中输入的关键字。

因此,举例来说,假设您有 Movie 对象,并且您想让用户在文章的标题和正文中搜索关键字,那么我们将为 Title 和 Plot 列建立索引,然后执行以下操作:

SELECT * FROM Movies WHERE CONTAINS(Title, keywords) OR CONTAINS(Plot, keywords)

(实际上比这更高级,但没有什么特别复杂的)

一些用户在搜索中添加数字,例如他们想要查找“终结者 2”。这里的问题是,据我所知,默认情况下 SQL Server 不会索引短词,因此执行如下搜索:

SELECT * FROM Movies WHERE CONTAINS(Title, '"Terminator 2"')

实际上相当于这样做:

SELECT * FROM Movies WHERE CONTAINS(Title, '"Terminator"') <-- notice the missing '2'

我们得到了大量虚假结果。

有没有办法强制 SQL Server 对小词建立索引?最好,我宁愿只索引numbers像 1、2、21 等。我不知道在哪里定义索引标准,或者即使有可能如此具体。


好吧,我这样做了,从列表中删除了“噪音词”,现在的行为有点不同,但仍然不是你所期望的。

搜索不会搜索“终结者 2”(我只是编造的,如果我透露我们正在做的事情,我的雇主可能不会很高兴......无论如何,术语有点不同,但原理是相同的) ,我不明白anything,但我知道有些对象包含这两个单词。

也许我做错了什么?我从 ENG、ENU 和 NEU(中性)的噪声配置中删除了所有数字 1 ... 9,重新生成索引,并尝试搜索。


这些“小词”被全文索引视为“噪音词”。您可以自定义干扰词列表。这博客文章提供更多详细信息。更改干扰词文件时,您需要重新填充全文索引。

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

使 SQL Server 索引较小 的相关文章

  • SQL Server Express(或任何版本)可以在 RPi 上运行吗?

    我注意到完整版的 Windows 10 可以在 RPI 3 上运行 我想知道 SQL Server Express 或任何其他版本 是否可用于 ARM 版本的 Windows 我在任何地方都看不到它 所以我怀疑答案是否定的 但想检查一下我是
  • 对存储过程内容的只读访问

    是否可以设置 SQL Server 来为开发人员提供对生产数据库上存储过程内容的只读访问权限 您可以授予他们VIEW DEFINITION这些进程的特权 See here http msdn microsoft com en us libr
  • SQL 几何 VS 小数(8,6) 纬度、经度性能

    我正在研究选择与给定坐标一定距离内的最近点的性能 选项是以太使用两个decimal 8 6 纬度 长列或单列geography列并与之合作 我只感兴趣哪个更快 TL DR地理大约快 10 倍 好的 我已经设置了测试 几张桌子 一张id la
  • 在 SQL Server 中创建层次结构

    我有以下格式的数据 Table 1 e id e name e type 1 CBC 2 2 ABC 3 3 N2 1 4 CBC1 3 5 ABC1 3 6 N1 1 Table 2 N ID N Name 3 N2 6 N1 Table
  • 将表值参数传递给参数化 SQL 语句时出现“必须声明标量变量”错误

    在 C 中 我尝试将 DataTable 作为参数传递给 SQL 语句 我的代码如下 protected virtual void DoDeleteRecords List
  • SQL Server 连接池不检测关闭的连接?

    多年来 我在所有连接到 SQL 服务器的 Web 应用程序上都遇到了非常奇怪的问题 问题是 如果数据库服务器发生问题 服务器重新启动或其他问题 de web 应用程序将从那时起停止工作 即使数据库服务器处于活动状态并且之后运行良好 发生的情
  • SQL Server:将数据从一列复制到另一列?

    我有两个具有相同列的表anomaly id 我想复制该行anomaly id使用此代码从第一个表到第二个表 UPDATE amb anamoly log update SET anamoly id t2 anomaly id FROM am
  • Informatica:工作流映射引用的 odbc.ini 文件错误

    我正在尝试从 Informatica Workflow 中执行工作流映射 来源是MSSQL Server和目标Oracle DB 该映射与其他所有映射类似 似乎都指的是系统的 etc odbc ini文件而不是坐在里面的人 INFA HOM
  • 如何使用 REST API 导出 SSRS 2017 报告

    我已经设置了 SSRS 2017 我需要使用他们的新 REST API 导出 SSRS 报告 我一直在查看 API 规范here https app swaggerhub com apis microsoft rs SSRS 2 0但我在
  • 在 T-SQL 中解析 JSON 数组

    在我们的 SQL Server 表中 我们有一个存储有字符串数组的 json 对象 我想以编程方式将该字符串拆分为几列 但是 我似乎无法让它发挥作用 或者即使有可能 是否可以在WITH子句中创建多个列 或者在select语句中创建多个列是更
  • 如何处理用户界面中的数据库约束违规?

    我们使用存储过程在数据库中实现大部分业务规则 我永远无法决定如何最好地将数据约束违规错误从数据库传递回用户界面 我所说的约束更多地与业务规则相关 而不是与数据完整性相关 例如 诸如 无法插入重复的键行 之类的数据库错误与业务规则 不能有多个
  • 将单个列连接到逗号分隔的列表中[重复]

    这个问题在这里已经有答案了 我已经看到了人们将单个列滚动到逗号分隔列表中的多个示例 但我需要更多 这是我需要的数据和结果的示例 DECLARE SalesPerson table SalesPersonID int SalesPersonN
  • Id 或 [TableName]Id 作为主键/实体标识符

    是否首选使用 Id 作为主键的列名或 TableName Id 作为命名约定 表 账户主键 ID 相对 表 账户主键 AccountId 在我见过的实现中 它似乎分为 50 50 左右 每种方法的优点和缺点是什么 跟进 在我的数据库中使用一
  • SQL Server freetexttable 部分单词

    我第一次使用 SQL 自由文本搜索 我有点困惑为什么它会这样 我有一个联系人表 用户可以搜索并且我正在使用 SELECT Contacts Rank FROM FREETEXTTABLE Contacts O Roarty AS Conta
  • 如何授予所有表的 REFERENCES 权限

    我必须授予REFERENCES登录权限说sql login 我可以给予资助REFERENCES对单个表的权限 例如 GRANT REFERENCES ON Mytable TO sql login 有什么办法可以授予REFERENCES允许
  • 将大量实体插入 SQL Server 2012 [重复]

    这个问题在这里已经有答案了 我正在进行一个使用 Entity Framework 5 和 SQL Server 2012 的项目 我们需要一次插入大量行 100k 个实体的顺序 基本上 我们有一个物理程序 它输出大量二进制数据 然后我们需要
  • SQL Server 用分隔符分割字符串

    我有一个输入字符串 100 2 3 101 2 1 103 2 3 我想解析它并将其添加到具有 3 列的表中 因此它应该是 f x col1 col2 col3 100 2 3 类似的其他数据以逗号分隔作为记录和 作为列 Thanks ni
  • SQL服务器事务

    我需要了解sql server事务 我浏览了谷歌上的一些文章 但我什么也没理解 谁能帮我 您可以通过写入显式启动事务BEGIN TRANSACTION 您可以通过运行来结束事务COMMIT TRANSACTION 之前COMMIT运行时 受
  • 在 SQL Server 中处理日期

    我正在开发一个 ASP NET 网站 我从网页获取日期 然后根据用户输入我想从 SQL Server 数据库获取结果 使用存储过程 问题是我只能从用户界面获取这种格式的日期2016 10 08这是字符串类型 但在数据库中 我有一个类型为da
  • 在 Sql Server 中转换为日期时间 MM/dd/yyyy HH:mm:ss

    如何将给定的日期格式转换为MM dd yyyy HH mm ss 我尝试了下面这个但没有实现 谁能帮我 SELECT CONVERT VARCHAR 20 GETDATE 120 SQL Server 2005及以上版本支持 SELECT

随机推荐

  • C++ 按常量引用传递并按常量引用返回

    我想了解退货是否有任何好处const参考 我有一个阶乘函数 通常如下所示 unsigned long factorial unsigned long n return n 0 1 n factorial n 1 我假设当我们经过时性能会有所
  • swift/ios 在后台刷新应用程序数据

    我正在编写一个 iOS Swift 应用程序 它每 X 分钟从 REST 服务读取数据并相应地更新 UI 现在我希望当应用程序置于后台时 会以 X 分钟的间隔调用一个任务 从 REST 服务读取数据 并且如果刚刚读取的数据满足给定条件 则显
  • 我应该将实体框架视为非托管资源吗?

    我正在使用一个在其构造函数中使用 EF 引用的类 我已经实施了IDisposable 但我不确定是否需要析构函数 因为我不确定是否可以将 EF 分类为非托管资源 如果 EF 是托管资源 那么我不需要析构函数 所以我认为这是一个合适的示例 p
  • 动画过渡在横向方向上无法正常工作

    我的应用程序仅支持横向右方向 我正在尝试转换到视图控制器的视图 但是当它执行过渡动画 例如卷曲 时 视图旋转 90 度 因此 模拟器仍处于横向右方向 但视图显示为旋转 90 度 过渡完成后 它会旋转到正确的方向 我的代码如下 IBActio
  • MATLAB 中的广义特征向量?

    有没有一种方法可以在特征值多重性高的情况下使用单个或至少很少的命令来获取广义特征向量 如果每个特征值的重数为 1 我可以使用 V D eig A 但此命令不适用于多个特征值 根据 Matlab 文档 V D eig A B 生成广义特征值的
  • 为什么使用 RelayCommand 或 DelegateCommand 而不是仅仅实现 ICommand?

    我刚刚学习 WPF 中的 MVVM 我对 WPF 和 MVVM 都是全新的 我了解它是如何工作的 但从未使用过它 我在网上找到的每一篇教程 文章都使用 RelayCommand 或 DelegateCommand 在我看来 这些模式迫使虚拟
  • Fstream 无法创建新文件

    我在一个项目中使用文件管理器 这样读写对我来说就不那么麻烦了 或者说 如果我没有花这么多时间调试它的话 所以 这个舒适舱实际上给我带来了压力和时间 惊人的 问题似乎是fstream 在继续之前 先介绍一下 FileManager 类的结构
  • 检测android webview

    我有一个html javascript页面 我需要检测它何时在网络视图上打开 例如在 facebook webview twitter webview 等内部 以及如果它是一个 webview 显示另一个内容 Note 我不控制第三方 An
  • 错误:pandoc 文档转换失败,错误 43 Windows 7 R studio

    我在论坛中搜索了答案 但似乎不起作用 我正在 Rstudio 中使用 knit 包编织一个 pdf 文档 我使用的是 Windows 7 和 Rstudio pandoc exe Error producing PDF from TeX s
  • 整数除法大量用于什么?

    分析https ridiculousfish com blog posts benchmarking libdivide m1 avx512 html发现新的 Apple CPU 花费了大量资源来使整数除法速度大大加快 这是一件令人惊讶的事
  • 如何以编程方式向 UILabel 添加约束

    有没有一种方法可以快速获得标签并以编程方式对其进行约束 例如 在所有设备上 固定到顶部 或 固定到右侧 以便在所有设备上它只固定到正在使用的任何设备 这是因为我以编程方式创建了一个标签 所以我想对其进行约束 如果您需要更多信息 请告诉我 谢
  • d3 - 查看特定 x,y 位置有什么

    我正在尝试在 d3 树中实现一些拖放功能 其中当拖动节点时 如果它直接到节点左侧 50 像素 我想绘制一个虚线连接器来指示如果释放该节点应该是小时候搬到这里 为了做到这一点 我的想法是检查左侧 50 像素的元素 有没有办法查看 d3 中特定
  • 为什么无法通过新的 Azure 门户配置 Azure 诊断以使用 Azure 表存储?

    我正在开发一个将托管在 Azure 中的 Web api 我想使用 Azure 诊断将错误记录到 Azure 表存储中 在经典门户中 我可以将日志配置为转到 Azure 表存储 经典门户诊断设置 然而 在新的 Azure 门户中 我唯一的存
  • 在Windows Azure中使用Redis实现进程外缓存

    我一直在开发一个网页 该网页显示我在天蓝色云中的数据库中的表格 为了减少直接调用数据库以提高性能我想为页面构建一个缓存 目前 我拥有一个内存缓存 进程内 reads表的 现在我想创建一个进程外缓存 应该从什么时候更新writes进行 意味着
  • 使用 caret 包应用 k 折交叉验证模型

    首先我要说的是 我读过很多关于交叉验证的帖子 但似乎存在很多混乱 我的理解很简单 执行 k 倍交叉验证 即 10 倍 以了解 10 倍的平均误差 如果可以接受 则在完整的数据集上训练模型 我正在尝试使用构建决策树rpart在 R 中并利用c
  • JQuery:元素处于视图中时触发操作

    在我网站的页脚中 我使用 counUp js 链接 http inorganik github io countUp js 来计算三个数字 我在网站底部添加了这段代码
  • Primefaces 使用 CSS 样式化组件类

    如何使用 CSS 更改组件的属性 假设我有两个按钮
  • 取同一天 pandas 内数据的平均值

    我有一个数据框df包含测量日期和测量值 duration km df Out 20 Date duration km 0 2015 03 28 09 07 00 800001 0 0 1 2015 03 28 09 36 01 819998
  • OLEDB 连接字符串中的 IMEX 是什么?

    Provider Microsoft Jet OLEDB 4 0 Data Source localhost Extended Properties Excel 8 0 HDR Yes IMEX 2 目的是什么IMEX 2在上面的连接字符串
  • 使 SQL Server 索引较小

    我们在一个项目中使用 SQL Server 2005 系统的用户能够使用 关键字 搜索某些对象 我们实现这一点的方法是为每个表中可能包含这些 关键字 的重要列创建一个全文目录 然后使用 CONTAINS 搜索用户在该索引的搜索框中输入的关键