问题标签 [containstable]

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 投票
2 回答
7281 浏览

sql - SQL Server、ISABOUT、加权项

我试图弄清楚加权术语在 SQL SERVER 中的 ISABOUT 查询中是如何工作的。

这是我目前所在的位置:

每个查询都返回以下行:

QUERY 1(权重1): 初始排名

QUERY 2(权重 0.8): 排名增加,保留初始顺序

QUERY 3(权重 0.2): 排名增加,保留初始顺序

QUERY 4(权重 0.17): 排名下降,最佳匹配现在排在最后,这些术语的反向行为从 0.17 开始

QUERY 5(权重 0.16): 排名上升,最佳匹配现在排名第二

QUERY 6(权重 0.01): 排名下降,最佳匹配再次排在最后

权重 1 的最佳匹配排名为 249,当权重下降到 0.2 时,最佳匹配排名增加到 998。从 0.2 到 0.17 排名下降,从 0.16 开始,结果倒置(再现此行为的权重值取决于术语,可能在搜索的列上...

似乎有一点重量意味着相反,例如“不包括这个词”。你对这种行为有什么解释吗?为什么体重减少时排名会增加?为什么在某个点之后排名会下降,直到结果反转,您如何预测这一点?

当用户搜索创建以下查询的内容时,我使用自定义“断字器”:

我会期待 0.1 字的大排名吗?
以下查询是否与上述相同,我是否期望 0.1 排名出现一些奇怪的行为?

0 投票
1 回答
871 浏览

sql-server-2008 - SQL Server 2008 和 2012 中 CONTAINSTABLE 的不同结果

我在 SQL Server 2008 和 2012 中有 2 个相同的数据库,它们具有相同的全文索引设置。但是当我执行时CONTAINSTABLE,我得到了非常不同的结果。

似乎 2012 年和 2008 年CONTAINSTABLE会以不同的方式计算排名。因为来自两个数据库的结果具有非常不同的排名,因此记录的顺序非常不同。

事实是,在属性“full_desc”中,我有值为“children”或“children's”的记录,我猜这可能是原因。

但我也尝试在文本'"children*"' 上进行匹配,但 2008 年和 2012 年的结果仍然有很大不同。再次,返回的排名值CONTAINSTABLE是不同的。

有人可以帮我吗?谢谢。

0 投票
1 回答
836 浏览

sql - SQL ContainsTable 为精确匹配返回低排名

对于名为“带有升级赛车框架的红色自行车”的产品,包含表搜索返回以下内容:

我的问题是:

  • 为什么第二次搜索返回 255 而不是 1000 - 我应该使用不是 containstable 的东西吗?
  • 有没有更好的方法来实现我的最终结果?

我正在寻找的最终结果是一种快速搜索产品名称的方法。我选择使用 containstable 是因为我的测试表明它比执行 'tbl.col.field = "" 或 tbl.col.field like '%%'' 快得多,还因为我希望能够进行全文搜索除了部分和完全匹配搜索。

产品名称结果正在与其他结果聚合 - 例如,当用户运行搜索时,产品名称和产品描述都被搜索并组合结果。出于这个原因,我希望确切的产品名称匹配排名最高,但目前,正在发生的情况是,有时描述全文匹配会超过确切的产品名称匹配。

我试图避免为每种搜索类型和硬编码排名值编写多个查询。

0 投票
2 回答
2011 浏览

sql - 在 MS SQL Server 中使用 containstable 时搜索与号 (&)

我在自动完成下拉列表中使用存储过程来检索客户端列表。一些客户的名称中有一个“&”(和号)符号,例如“H&M”、“Marks & Spencers”,用户希望在“&”符号上进行搜索。

当我直接使用 & 符号时,它会将其用作分词器,并且不会选择具有 '&' 符号的列表。

有什么方法可以使用“&”搜索表并检索具有“&”符号的值。

希望我已经解释了我需要做什么。

感谢你的帮助!

0 投票
1 回答
79 浏览

sql - 结果不适用于 SQL Server 中的全文索引

我正在使用 CONTAINS 在名称表结构上具有 FULL-TEXT INDEX 的表上搜索字符串:

上面的查询结果是有“173 057”的项目数,但我实际上搜索的是“173 57”。

如何限制“173 057”的结果。它甚至在字符串“173 57”中获得了 0 的结果,例如“173 057”。

0 投票
1 回答
113 浏览

sql-server-2008-r2 - SQL Server CONTAINSTABLE 运行良好但在表上失败

我在 SQL Server 2008 R2 上遇到全文搜索问题。基本上我使用CONTAINSTABLE并且一切都适用于我的表,但由于某种原因无法返回我正在搜索的表之一上的行。

我尝试重新创建目录,甚至重新创建表格,但没有运气。这可能是损坏的目录或数据库吗?

0 投票
1 回答
246 浏览

sql - CONTAINSTABLE 添加 'of*' 不会返回任何结果

我在 SQL Server 2008 上有一个可包含的查询:

这会按预期返回 1 个结果,但是如果用户在其搜索条件中输入了“of”,则查询不会返回任何结果:

联系记录的全称是“工作和养老金部门”。

如果用户在搜索中包含“and”,也会发生同样的情况。为什么这些词会破坏查询,有没有办法解决它,还是我必须在执行搜索之前去掉这些词?

0 投票
2 回答
5271 浏览

sql - How to search double quotes in fulltext search in sql

I have double quotes in my Keyword. How can I search this in my fulltext search query. I have this query

It works fine but when i have double quotes in my keyword like

it gives this error

0 投票
2 回答
1108 浏览

sql-server - 尝试选择顶级记录时,Sql Server ContainsTable 返回零结果

我们已经ContainsTable在 SQL Server 中实现了。问题是当我们按以下方式运行查询时

这将返回大约 1200 条记录。

但我只想选择前 1000 名,这里的查询如下

此查询将返回零记录。

我已经重建全文索引,将跟踪更改为自动。但仍然显示零结果。

如果我遗漏了一些要点,请提出建议。提前致谢

0 投票
1 回答
264 浏览

sql - 包含和可包含之间的区别?

我有以下在技术上应该是等效的查询:

第一的

第二

第一个返回正确的结果,而另一个不返回。

我在这里有什么遗漏吗?

谢谢!