问题标签 [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.
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 排名出现一些奇怪的行为?
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
是不同的。
有人可以帮我吗?谢谢。
sql - SQL ContainsTable 为精确匹配返回低排名
对于名为“带有升级赛车框架的红色自行车”的产品,包含表搜索返回以下内容:
我的问题是:
- 为什么第二次搜索返回 255 而不是 1000 - 我应该使用不是 containstable 的东西吗?
- 有没有更好的方法来实现我的最终结果?
我正在寻找的最终结果是一种快速搜索产品名称的方法。我选择使用 containstable 是因为我的测试表明它比执行 'tbl.col.field = "" 或 tbl.col.field like '%%'' 快得多,还因为我希望能够进行全文搜索除了部分和完全匹配搜索。
产品名称结果正在与其他结果聚合 - 例如,当用户运行搜索时,产品名称和产品描述都被搜索并组合结果。出于这个原因,我希望确切的产品名称匹配排名最高,但目前,正在发生的情况是,有时描述全文匹配会超过确切的产品名称匹配。
我试图避免为每种搜索类型和硬编码排名值编写多个查询。
sql - 在 MS SQL Server 中使用 containstable 时搜索与号 (&)
我在自动完成下拉列表中使用存储过程来检索客户端列表。一些客户的名称中有一个“&”(和号)符号,例如“H&M”、“Marks & Spencers”,用户希望在“&”符号上进行搜索。
当我直接使用 & 符号时,它会将其用作分词器,并且不会选择具有 '&' 符号的列表。
有什么方法可以使用“&”搜索表并检索具有“&”符号的值。
希望我已经解释了我需要做什么。
感谢你的帮助!
sql - 结果不适用于 SQL Server 中的全文索引
我正在使用 CONTAINS 在名称表结构上具有 FULL-TEXT INDEX 的表上搜索字符串:
上面的查询结果是有“173 057”的项目数,但我实际上搜索的是“173 57”。
如何限制“173 057”的结果。它甚至在字符串“173 57”中获得了 0 的结果,例如“173 057”。
sql-server-2008-r2 - SQL Server CONTAINSTABLE 运行良好但在表上失败
我在 SQL Server 2008 R2 上遇到全文搜索问题。基本上我使用CONTAINSTABLE
并且一切都适用于我的表,但由于某种原因无法返回我正在搜索的表之一上的行。
我尝试重新创建目录,甚至重新创建表格,但没有运气。这可能是损坏的目录或数据库吗?
sql - CONTAINSTABLE 添加 'of*' 不会返回任何结果
我在 SQL Server 2008 上有一个可包含的查询:
这会按预期返回 1 个结果,但是如果用户在其搜索条件中输入了“of”,则查询不会返回任何结果:
联系记录的全称是“工作和养老金部门”。
如果用户在搜索中包含“and”,也会发生同样的情况。为什么这些词会破坏查询,有没有办法解决它,还是我必须在执行搜索之前去掉这些词?
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
sql-server - 尝试选择顶级记录时,Sql Server ContainsTable 返回零结果
我们已经ContainsTable
在 SQL Server 中实现了。问题是当我们按以下方式运行查询时
这将返回大约 1200 条记录。
但我只想选择前 1000 名,这里的查询如下
此查询将返回零记录。
我已经重建全文索引,将跟踪更改为自动。但仍然显示零结果。
如果我遗漏了一些要点,请提出建议。提前致谢
sql - 包含和可包含之间的区别?
我有以下在技术上应该是等效的查询:
第一的
第二
第一个返回正确的结果,而另一个不返回。
我在这里有什么遗漏吗?
谢谢!