我们使用SQL Server 2008的全文搜索让客户使用FREETEXTTABLE()
查询检索记录。
给出如下搜索:
SELECT * FROM FREETEXTTABLE(SomeTable, SomeValueColumn, 'Kunde')
或者:
SELECT * FROM FREETEXTTABLE(SomeTable, SomeValueColumn, 'Leser')
(分别为'customer'和'reader'的德语单词。)
,我希望这些词的女性形式的结果也是如此。但是,只有在我明确搜索“Kundin”或“Leserin”时才会出现这些结果。
服务器的默认全文语言为1031
(即德语)。语言组件为NaturalLanguage6.dll
,版本为6.0.6001.18000
。
According to a book, this should work:
SQL Server iFTS自动包含词干逻辑,适用于其他语言的性别规则[..]
这应该有效吗?如果没有,我可以通过A)安装附加/不同的语言组件,或B)使用不同的全文引擎(例如,Lucene.NET)来使其工作吗?
答案 0 :(得分:0)
我猜测,这种差异是因为上面的第一个链接是在SQL 2008发布之前编写的。第二个链接是为SQL 2008明确编写的一本书。
重新阅读SQL 2008 FTS手册中的完整章节,因为为了使其工作,您必须采取几个步骤。即,识别查询中的语言。
请注意本书第116页的代码块(以德语为例):
WHERE FREETEXT
(
*, N'gift', LANGUAGE 1031
)
这是BOOKS ONLINE链接(注意Langugage论点):