为什么我的全文搜索没有结果?
Why doesn't my Full text search yields results?
我有一个简单的 View
:
让我们 select 前 5 行:(视图没有 top 5
- 这只是为了清楚起见)
SELECT TOP 5 [CustomerId]
,[EngLastFirst]
,[EngFirstLast]
,[LocalLastFirst]
,[LocalFirstLast]
FROM [WebERP].[dbo].[View_CustomersNames]
结果:
让我们创建一个全文索引(右键单击 view
):
好的。所以现在我们还有一个 catalog
:
右键单击 catalog
- 查看属性:
所有属性都是default
:
让我们在 catalog
上单击 rebuild
:
很棒
让我们运行一个简单的CONTAINS
查询:
SELECT * FROM View_CustomersNames vcn
where CONTAINS( vcn.*, '"aerSwy*"')
正如您从之前的代码中看到的那样 - 记录确实存在:
但是它returns 没有结果
虽然 like
执行 return 结果:
SELECT * FROM View_CustomersNames vcn
where vcn.engLAstFirst LIKE '%aerSwy%'
问题:
为什么我没有得到这个查询的结果?
SELECT * FROM View_CustomersNames vcn
where CONTAINS( vcn.*, '"aerSwy*"')
注意 - 我可能遗漏了一些非常基本的东西(全文搜索的新手)
编辑
在生产环境中 - 它确实有效。在我的本地环境中 - 它没有
您应该从您的视图中删除 TOP 5。我认为这在 SQL 中行不通。按照 Keith 的说法,按您需要的方式订购您的结果。这是一些 SQL 基本示例的 link。 http://www.w3schools.com/sql/sql_quickref.asp 在重建您的陈述时,尝试使用其中一些作为参考。这些应该有助于指导您操纵 sql 来执行您需要的操作。另外,我认为您在 SQL 语句中引用 table 名称后不需要输入数据库名称。
发现问题 — 是权限问题
此处:
现在 CONTAINS
有效:
我有一个简单的 View
:
让我们 select 前 5 行:(视图没有 top 5
- 这只是为了清楚起见)
SELECT TOP 5 [CustomerId]
,[EngLastFirst]
,[EngFirstLast]
,[LocalLastFirst]
,[LocalFirstLast]
FROM [WebERP].[dbo].[View_CustomersNames]
结果:
让我们创建一个全文索引(右键单击 view
):
好的。所以现在我们还有一个 catalog
:
右键单击 catalog
- 查看属性:
所有属性都是default
:
让我们在 catalog
上单击 rebuild
:
很棒
让我们运行一个简单的CONTAINS
查询:
SELECT * FROM View_CustomersNames vcn
where CONTAINS( vcn.*, '"aerSwy*"')
正如您从之前的代码中看到的那样 - 记录确实存在:
但是它returns 没有结果
虽然 like
执行 return 结果:
SELECT * FROM View_CustomersNames vcn
where vcn.engLAstFirst LIKE '%aerSwy%'
问题:
为什么我没有得到这个查询的结果?
SELECT * FROM View_CustomersNames vcn
where CONTAINS( vcn.*, '"aerSwy*"')
注意 - 我可能遗漏了一些非常基本的东西(全文搜索的新手)
编辑
在生产环境中 - 它确实有效。在我的本地环境中 - 它没有
您应该从您的视图中删除 TOP 5。我认为这在 SQL 中行不通。按照 Keith 的说法,按您需要的方式订购您的结果。这是一些 SQL 基本示例的 link。 http://www.w3schools.com/sql/sql_quickref.asp 在重建您的陈述时,尝试使用其中一些作为参考。这些应该有助于指导您操纵 sql 来执行您需要的操作。另外,我认为您在 SQL 语句中引用 table 名称后不需要输入数据库名称。
发现问题 — 是权限问题
此处:
现在 CONTAINS
有效: