Sql server 2008 使用全文搜索而不是“Like“%”查询

Sql server 2008 使用全文搜索而不是“Like“%”查询,sql-server-2008,full-text-search,sql-server-2008-r2,sql-like,Sql Server 2008,Full Text Search,Sql Server 2008 R2,Sql Like,我正在查询一个大约150000行的表,它的varchar字段大小为2000,无法编制索引,即使可以也没有意义。我使用的是Sql Server 2008。 到目前为止,我使用的查询是: 从tbl_名称中选择* 其中字段名为“%bla bla%” bla bla是根据用户搜索的内容 为了提高性能,我想开始使用全文搜索功能,该功能已经在此字段上定义了目录和文本索引。 从我读到的关于使用此选项进行查询的内容中,我有点困惑。 为了获得与以前使用的查询完全相同的结果,我应该使用什么查询 评论: 我想得到的结

我正在查询一个大约150000行的表,它的varchar字段大小为2000,无法编制索引,即使可以也没有意义。我使用的是Sql Server 2008。 到目前为止,我使用的查询是:

从tbl_名称中选择* 其中字段名为“%bla bla%”

bla bla是根据用户搜索的内容

为了提高性能,我想开始使用全文搜索功能,该功能已经在此字段上定义了目录和文本索引。 从我读到的关于使用此选项进行查询的内容中,我有点困惑。 为了获得与以前使用的查询完全相同的结果,我应该使用什么查询

评论: 我想得到的结果不是大小写敏感,因为它以前的工作,这意味着如果用户搜索LG,他也会得到结果,其中包含LG。 如果用户输入Sams,他也将获得三星。 谢谢! Eran。

将为您提供与您所寻求的功能相似的功能,但有一个例外-我在评论中注意到,您还希望匹配第二个条目-hhhEranttt。不幸的是,由于缺少后缀搜索,这目前不可能实现

对于其他条目,您可以运行前缀搜索-CONTAINSfield_name“eran*”,它匹配所有其他条目,因为全文搜索不区分大小写


HTH.

从tbl_name中全选*是什么意思?其中字段\u name='users text???users text只是一个示例-我通过用户放入搜索框中的字符串进行查询Martin-你的意思是Accent sensative=false吗?我想通过用户输入的整个字符串作为一个短语进行查询。CONTAINS查询不返回re我甚至需要一个单词的结果。假设我在DB中有5行:1.ggg Eran fff 2.hhhEranttt 3.erangg 4.hhhh Eran 5.rrrggg Eran FFFhh,我通过以下方式查询:SELECT*FROM tbl_name,其中包含字段名称,'Eran';我只得到第1、4、5行作为结果,但我需要全部得到。因此,没有办法使用自由文本索引代替按WHERE字段\u名称(如“%[search\u text]”)进行查询?