我有一个名为TestTable的表,其中包含以下架构。
---------------------------------------------------------
ID(Integer) | Text(nvarchar(450)) | LanguageCode(Integer)
---------------------------------------------------------
其中ID是主键,Text列包含多种语言的文本字符串。
我想在上表中创建一个全文索引。
CREATE FULLTEXT INDEX ON TestTable
(
Text
Language <Should get language code from Language column>,
)
KEY INDEX PK_TestTableID;
GO
我怎样才能做到这一点?
请帮忙。
答案 0 :(得分:3)
目前在单张桌子上做这件事是不可能的。使用SQL Server,您只能使用单一语言索引列。
Microsoft建议使用中性断字符(http://technet.microsoft.com/en-us/library/ms142507.aspx)。
您的查询如下:
SELECT Description
FROM Asset
WHERE FREETEXT(Description, 'Cats', 'de-DE');
这个问题在于你没有明白打破该文本语言的好处。
你可以做的是查看表格和索引的每种文化,并使用特定文化的词语破坏者:
例如TestTableGermanView
答案 1 :(得分:0)
我在SQL文档中偶然发现了这一点。我没有深入挖掘,但它看起来很有趣。
“对于纯文本内容 - 当您的内容是纯文本时,您可以将其转换为xml数据类型,并添加指示与每个特定文档或文档部分对应的语言的语言标记。但是,为此,您可以使用需要在全文索引之前了解语言。“ https://technet.microsoft.com/en-us/library/ms142507.aspx