问题标签 [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 投票
1 回答
7785 浏览

sql - Why is SQL Server full-text search not matching numbers?

I'm using SQL Server 2014 Express, and have a full-text index setup on a table.

The full-text index only indexes a single column, in this example named foo.

The table has 3 rows in it. The values in the 3 rows, for that full-text indexed column are like so ...

Each new line above is a new row in the table, and that text is literally what is in the full-text indexed column. So, using SQL Server's CONTAINS function, if I perform the following query, I get all rows back as matches, as expected.

But, if I run the following query, I also get all of the rows back as matches, which I am not expecting. In the following query, I only expected one row as a match.

Lastly, simply searching for "3" returns no matching rows, which I also did not expect. I'd expect one matching row from the following query, but get none.

I've read the MSDN pages on CONTAINS and full-text indexing, but I can't figure out this behavior. I must be doing something wrong.

Would anybody be able to explain to me what's happening and how to perform the searches I've described?

0 投票
1 回答
1566 浏览

sql-server - 如何在 CONTAINSTABLE 中使用列名作为搜索条件?

我惊讶地发现既不CONTAINSCONTAINSTABLE似乎不支持如下语法,您在其中为最后一个搜索条件参数传递列名。

上述查询返回“'t' 附近的语法不正确”错误消息。

Terms表包含多行和一FulltextTerm列,如果这些FulltextTerm值中的任何一个在 ArticleBody 中,它应该是匹配的,以便选择特定的文章。这就是我想要达到的目标。

CONTAINS并且CONTAINSTABLE似乎只支持搜索条件参数的字符串文字或变量,这是非常有限的。如果这是唯一的选择,它需要更多的代码,如果我需要Terms使用游标或循环遍历表,它肯定会慢得多。

我是否在这里遗漏了一个技巧,或者有人可以建议的任何解决方法 - 最好是基于集合的解决方案,即避免循环。

0 投票
1 回答
127 浏览

sql - iFTS Free-Text SQL Server 2014 多列多关键字

我从 FTS 开始,但我遇到了一个问题。当我尝试使用 Containstable 在我的表上进行搜索时,我无法弄清楚如何让它在每一列上进行搜索。即使我知道有人使用此名称,它也会返回 0 元素。

前任:

选择 [Id],[LastName], [Firstname] from Employee E
INNER JOIN ContainsTable(Employee, ([LastName], [Firstname]), '"firstname" AND "lastname"') as E1 on E1.[Key] = E.Id
ORDER BY [Rank] desc

它适用于 OR 但不适用于 AND 运算符。

如果我改用 Freetexttable,它会返回太多员工,并且不会考虑操作员的话。

我在 Stackoverflow 上阅读了很多帖子,但无法找出解决方案。我希望通过大量可搜索的信息来扩展表中索引的数据,但目前,我只停留在 2 个字段中。

我期待着你的答案。

0 投票
1 回答
3516 浏览

sql-server - 全文搜索语法错误

我创建了一个带有目录和索引的全文搜索,当我用一个单词运行查询时,包含查询工作正常,如下所示。

它返回“测试礼物”

我的表中只有一行,名称列中的数据如下所示:'test gift'

但是当我用这个语句运行 conaints 查询时:

它抛出一个错误说:全文搜索条件'test gift'中'gift'附近的语法错误。

我认为 contains 可以查询匹配且听起来相似的短语和多个单词?

0 投票
1 回答
277 浏览

sql-server - 使 mssql 全文搜索对最终用户有用

我已经对我们的一种产品实施了全文搜索。我正在使用CONTAINS/CONTAINSTABLE关键字进行搜索。但问题是,由于错误的搜索条件/输入,我经常遇到语法错误。

有没有一种简单的方法可以让全文搜索最终用户友好,或者我必须在执行搜索之前构建自己的预解析器。例如用调车场拆分搜索并构建一个完整的新搜索字符串?

如果有更简单的方法就好了,比如 SAP Sybase SQL Anywhere 提供的(他们有一个很好的、健壮的全文搜索/索引)。

谢谢!

0 投票
1 回答
110 浏览

sql - SQL全文索引包含

我对 SQL FTI 相当陌生,我正在尝试完善对包含数百万个不同产品项目的表的搜索。

如果我通过这样的搜索:

我得到了这些结果:

我希望能够包含实际的 iphone 6 手机,但忽略任何外围设备,例如外壳和屏幕保护膜,但我不知道该怎么做。

任何建议表示赞赏。

谢谢

0 投票
2 回答
245 浏览

html - 如何将sql server的containtable函数用于文本和html

我正在一个应用程序中工作,其中客户端从前端发送关键字以获取简历,并通过使用 containstable 我们在该表的列中搜索该关键字并将结果返回到前端。

在我的应用程序中,我们最初以文本格式保存简历详细信息,之后我们开始添加 html 表单。现在搜索功能对于较旧的简历文本工作正常,但在 Html 的情况下没有得到预期的结果,所以我们可以做些什么来使包含可包含的搜索功能对它们都有效,即文本或 html

0 投票
1 回答
1802 浏览

sql-server - SQL Server ContainsTable 不返回带有术语“inn”的结果

我有一个表hotel,其中包含以下信息:

  • Hotel_Id: 2950
  • Hotel_Name: 公园旅馆
  • Hotel_Number: 01234567
  • Hotel_TypeId: 1

我需要能够搜索名称列包含某些术语的记录。

搜索是:

我没有得到任何结果,但如果我搜索:

我明白了

我认为“旅馆”一词存在一些问题,但如果我搜索:

我得到相同的密钥:2950,排名:176 结果。

“inn”是导致此问题的关键字吗?

0 投票
2 回答
1069 浏览

sql-server - SQL Server Full Text Index Contains search exact match containing "it"

I'm fairly new to Full Text Index in SQL server. It has been working really well for me however, recently someone did an exact match search for "IT Manager" and the "IT" part of the search seems to be ignored.

e.g.

and

return the same results. What am I doing wrong?

0 投票
1 回答
217 浏览

sql - 来自表列的sql全文搜索关键字

我有以下查询

但我收到错误消息:'temp_names' 附近的语法不正确。

因为由于某种原因它看不到表 temp_names。

我尝试使用没有包含的查询,如下所示:

并且它有效,但是当我达到 200 万条及以上的记录时,它变得非常沉重。

如何使用全文搜索并将列名传递给它,就像上面的第一个查询一样?

谢谢你。

编辑

是否找到完全匹配并不重要