我有一个nvarchar列,其中包含英语和日语文本。我想在此列上进行全文搜索。在配置全文搜索时,我们需要为分词系统指定语言选项(例如,使用英语分词系统或使用日语分词系统)。我想知道在这种情况下应该分配哪种语言?我不确定日语工作中断程序是否也适用于英语。
我正在使用SQL Server 2008 Enterprise。
提前致谢,
乔治
最佳答案
如果您有一列包含不同语言(特别是西方和非西方语言)的列,则应选择中性断词。
还有其他一些选择,例如
这是有关创建全文索引时选择语言的最佳实践的article。
在评论后添加
可以根据您的用例以多种方式查询多列。最简单的方法是使用CONTAINS谓词通过指定要搜索的列列表来查询多列,如下所示;
SELECT Name, Color FROM Production.Product
WHERE CONTAINS((Name, Color), 'Red');
另一种解决方案可能是使用可在CASE / IF语句中使用的语言指示符列,该列可帮助您有条件地按语言划分查询。您也可以使用DATALENGTH()TSQL函数检查它是否为空,并决定选择哪一列。
关于sql - 关于SQL中的全文查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3957949/