问题标签 [freetexttable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
840 浏览

sql-server-2005 - 交叉应用 FREETEXTTABLE

MS SQL Server 2005:table1 有一个全文索引。我想在一个查询中针对它运行多个 freetexttable 搜索,但是我的两次尝试都失败了。任何帮助将不胜感激,谢谢!ps 如果能解决这个问题,我愿意升级到 sql 2008 :)

0 投票
1 回答
430 浏览

sql - 在 SQL 2005 中使用全文搜索搜索数字字符串

我正在使用 SQL 全文搜索,并且有一个使用 FREETEXTTABLE 函数的存储过程。

这一切都很好,但是,我注意到,如果我搜索诸如“第 19 章”之类的内容,则 19 似乎被丢弃了,并且搜索仅搜索“第 19 章”。

此外,如果我只搜索“19”,我不会得到任何结果。我知道我索引的列在多行中包含一个“19”。

这是预期的行为吗?不索引数字?

如果是这样,那么我想我将不得不忍受它,但如果不是这样,如果有人认为我做错了什么,我会很乐意发布任何 T-SQL。

谢谢。

PS我已经用谷歌搜索了这个并且没有发现任何关于搜索数字将全文搜索的内容。

0 投票
1 回答
967 浏览

sql-server - SQL 服务器搜索,使用 FREETEXTTABLE (Transact-SQL)

提前致谢。

我正在将 FREETEXTTABLE 实施到搜索表单中。我想知道以下查询的行为方式以及返回的结果。另外,想知道括号是否构成查询的有效部分。

那么,如果我搜索“滥用 AND(程序或立法)”,这是否是 FREETEXTTABLE 的有效搜索查询?或者我是否需要通过“滥用和程序或立法”。

我担心的是,如果我通过“滥用和程序或立法”,当我想要具有“滥用”和“程序或立法”的结果时,它会找到“滥用和程序”或“立法”的结果。

在此先感谢您的帮助。

0 投票
2 回答
690 浏览

sql-server - SQL Server Query Some time take too much time with freetexttable - 看起来索引问题

以下是我的查询,它需要大约 1 分钟的时间,有时会在一秒钟内给出结果,特别是我在一段时间后执行查询,或者在查询中添加了一些新关键字。看起来像一些索引问题,当我执行执行计划时,RID 查找成本为 60%。源表有大约 2-5 个 Lacs 数据,每天将添加大约 10,000-20,000 行。请给我提意见。谢谢

执行计划

SQL 执行计划

0 投票
1 回答
311 浏览

sql - SQL Server 2005 - FREETEXTTABLE 忽略单个字符

我正在运行的查询有问题。基本上它是在书的桌子上搜索。下面的查询使用FREETEXTTABLE命令对作者的搜索进行排名:

我得到的结果令人困惑......返回的第一行是由一个叫做的作者lewis lewislewis c s排名低于这个!

现在我已经编辑了我的noiseENG.txt,删除了单个字母并重建了我的全文目录,但我发现我的结果没有任何变化。我知道更改此文件是有效的,因为我已添加lewis到列表中,并且它过滤掉lewis了作者列中的所有搜索。

注意:如果我只搜索 'c s' 我没有得到任何结果,所以看起来单个字母被一起忽略了!此外,索引的字段都设置为British English.

有谁知道为什么该FREETEXTTABLE命令仍会过滤掉单个字母?

0 投票
1 回答
309 浏览

sql - SQL Server 中 FREETEXTTABLE 中的术语顺序

从文档来看,SQL Server 的 FREETEXTTABLE 似乎应该将包含多个单词的搜索查询视为词袋。

如果我运行:

我得到的结果是“墨盒”这个词紧跟“黑色”这个词,例如:

没有结果有单词在其他顺序。

相反,如果我跑

我得到一组不同的结果:

在这两组结果中,我都找不到“黑色墨盒”。

有没有办法让 SQL Server 忽略单词的顺序?

0 投票
0 回答
142 浏览

sql-server - 使用 FREETEXTTABLE 将两个查询和权重组合到一列?

我有这两个查询给了我想要的东西:

1)

2)

它们基本上是相同的查询。一个搜索标题,另一个搜索描述。我想将它们结合起来,并赋予标题更多的权重。

有任何想法吗?TIA。

0 投票
1 回答
160 浏览

sql - 使用 FREETEXTTABLE 处理来自多表的搜索结果相关性

我正在开发一个应用程序,它允许用户通过关键字搜索(使用 SQL 2008 全文索引表的 FREETEXTTABLE 功能)查找产品引用。这些参考是从两个可靠的不同数据库中提取的。但是,当我按等级排序时,它们不会给出相同的结果。我使用如下请求:

现在我想根据他们对 BOTH 请求的排名找到最相关的参考。

我想知道添加排名是否更好:例如,第一个表的排名为 115,第二个表的排名为 95,总排名为 210。或者,如果最好将它们相乘(100, 100 参考将变为 10 000 参考),因此 105,95 参考会更少,因为即使加法得分相同,结果也不相同。

任何提高这种情况下结果相关性的建议将不胜感激

0 投票
2 回答
2465 浏览

sql-server - 跨多个列的全文搜索分数

我在 SQL Server 数据库上使用全文搜索来返回多个表的结果。最简单的情况是搜索人名字段和描述字段。我用来执行此操作的代码如下所示:

正如上面(希望)清楚的那样,我试图在项目描述字段中对一个人的名字匹配而不是匹配。如果我搜索“john”之类的内容,那么所有以 john 为名的项目都会得到很大的权重(如预期的那样)。我遇到的问题是搜索有人提供了像“约翰史密斯”这样的全名。在这种情况下,名称的匹配度要弱得多,因为(我认为)每个firstname/lastname列中只有一半的搜索词匹配。在许多情况下,这意味着与输入的姓名完全匹配的人不一定会在搜索结果顶部附近返回。

我已经能够通过分别搜索每个firstname/lastname字段并将它们的分数加在一起来纠正这个问题,因此我的新查询如下所示:

我的问题:

这是我应该采用的方法,还是有某种方法可以让全文搜索对列列表进行操作,就好像它是一团文本一样:即将firstnamelastname列视为单个name列,从而获得更高的分数匹配包括人名和姓氏的字符串?

0 投票
2 回答
3109 浏览

sql-server - 如何优化 SQL Server 全文搜索

我想将全文搜索用于自动完成服务,这意味着我需要它快速工作!最多两秒。

搜索结果来自不同的表,因此我创建了一个将它们连接在一起的视图。我使用的 SQL 函数是 FREETEXTTABLE()。

查询运行非常缓慢,有时长达 40 秒。

为了优化查询执行时间,我确保基表有一个聚集索引列,它是整数数据类型(而不是 GUID)

我有两个问题:首先,关于如何使全文搜索更快的任何其他想法?(不包括升级硬件...)其次,为什么每次我重建全文目录后,搜索查询都非常快(不到一秒),但仅适用于第一次运行。我第二次运行查询需要几秒钟的时间,而且一切都从那里开始下降......知道为什么会发生这种情况吗?