为什么我的全文搜索没有结果?

时间:2015-05-27 13:08:34

标签: sql-server sql-server-2008-r2 full-text-search

我有一个简单的View

http://i.imgur.com/fb0OKx0.png

让我们选择前5行:(视图没有top 5 - 这只是为了清晰起见)

SELECT TOP 5 [CustomerId]
      ,[EngLastFirst]
      ,[EngFirstLast]
      ,[LocalLastFirst]
      ,[LocalFirstLast]
  FROM [WebERP].[dbo].[View_CustomersNames]

结果:

enter image description here

让我们创建一个全文索引(右键单击view ):

enter image description here

行。所以现在我们还有一个catalog

右键点击catalog - 查看属性:

enter image description here

所有属性都是default

enter image description here

让我们点击rebuild上的catalog

enter image description here

让我们运行一个简单的CONTAINS查询:

SELECT * FROM View_CustomersNames vcn 
        where CONTAINS( vcn.*, '"aerSwy*"') 

从前面的代码中可以看出 - 记录确实存在:

enter image description here

会返回结果

虽然like确实会返回结果:

SELECT * FROM View_CustomersNames vcn 
        where  vcn.engLAstFirst LIKE '%aerSwy%'   

enter image description here

问题:

为什么我没有收到此查询的结果?

SELECT * FROM View_CustomersNames vcn 
        where CONTAINS( vcn.*, '"aerSwy*"')

注意 - 我可能会遗漏非常基本的东西(全文检索的新内容)

修改

在生产环境中 - 它确实有效。在我的本地环境中 - 它没有

enter image description here

2 个答案:

答案 0 :(得分:3)

发现问题 - 这是权限

这里:

enter image description here

现在CONTAINS有效:

enter image description here

答案 1 :(得分:-1)

您应该从视图中删除TOP 5。我不相信这会在SQL中起作用。订购你的结果,但你需要喜欢Keith说。这是一些基本SQL示例的链接。 http://www.w3schools.com/sql/sql_quickref.asp在重构语句时尝试使用其中一些作为参考。这些应该有助于指导您操纵您的SQL以执行您需要的操作。此外,在您在SQL语句中引用表名后,我认为您不需要输入数据库的名称。