我正在查询一个表(大约 150,000 行并且还在增长),其中包含一个无法索引的大 varchar 字段(大小为 2000)(即使可以也没有意义)。我正在使用 Sql Server 2008。到目前为止,我使用的查询是:
从tbl_name中选择 *其中field_name像"%bla bla%"
("bla bla"是根据用户搜索的内容)
为了提高性能,我想开始使用全文搜索功能(已经在此字段上定义了目录和文本索引)。我对我读到的有关使用此选项进行查询的内容有点困惑。我应该使用什么查询才能获得与以前使用的查询完全相同的结果?
- 评论:
- 我想得到不
- 区分大小写的结果,因为它以前有效(这意味着如果用户搜索"LG",他也会得到包含"Lg"的结果)。
- 如果用户输入"Sams",他也会得到"Samsung"。
谢谢!伊兰。
CONTAINS()
将为您提供所需的 LIKE() 功能,但有一个例外 - 我在评论中注意到您还想匹配第二个条目 - "hhhEranttt"。不幸的是,由于缺乏后缀搜索,目前无法做到这一点。
对于其他条目,您可以运行前缀搜索 - CONTAINS(field_name, '"eran*"')
与所有其他条目匹配,因为全文搜索不区分大小写。
呵。