0

我们使用 SQL Server 2008 的全文搜索让客户使用FREETEXTTABLE()查询检索记录。

给定如下搜索:

SELECT * FROM FREETEXTTABLE(SomeTable, SomeValueColumn, 'Kunde')

或者:

SELECT * FROM FREETEXTTABLE(SomeTable, SomeValueColumn, 'Leser')

(德语中分别表示“客户”和“读者”。)

,我希望这些词的女性形式也有结果。但是,只有当我明确搜索“Kundin”或“Leserin”时,才会出现这些结果。

服务器的默认全文语言是1031(即德语)。语言组件是NaturalLanguage6.dllversion 6.0.6001.18000

根据一本书,这应该有效:

SQL Server iFTS 自动包含可适应其他语言的性别规则的词干逻辑 [..]

这应该工作吗?如果不是,我可以通过 A) 安装附加/不同的语言组件,或 B) 使用不同的全文引擎(例如,Lucene.NET)使其工作吗?

4

1 回答 1

0

我猜测差异是由于您上面的第一个链接是在 SQL 2008 发布之前编写的。第二个链接是专门为 SQL 2008 编写的书。

重新阅读 SQL 2008 FTS 书中的完整章节,因为您必须采取几个步骤才能使其正常工作。即,识别查询中的语言。

请注意本书第 116 页的代码块(以德语为例):

WHERE FREETEXT
(
  *, N'gift', LANGUAGE 1031
)

这是在线图书链接(注意语言参数):

http://msdn.microsoft.com/en-us/library/ms176078.aspx

于 2011-05-23T20:14:19.350 回答