我正在开发一个非常本地化的数据库,例如:
表:
产品 - 具有非本地化列(项目编号,已创建等)
Product_Local - 具有本地化列(描述)和语言标识符列
我正在使用SQL 2008并且全文搜索要求我使用每个列设置语言的断字符。我不能,而且我不想为每种语言添加列。
我首先希望我可以查看该行中的另一列以找到LCID或其他东西并以此为基础但我没有找到运气。
但是,XML数据类型确实允许您使用标记指定,所以我想我会创建一个名为“SearchContent”的额外列并放入所有本地数据(名称,描述) - 但是如果我想对结果进行加权,比如说产品名称与其他产品的名称相匹配,我可以使用XML查询来指定我想要搜索的XML文档的一部分吗?
我找到了这个文档:http://msdn.microsoft.com/en-us/library/bb522491.aspx让我更接近,但我想做更多的权重,所以我想使用ContainsTable,我真的不想在元素上有完全匹配。
所以我希望我可以指定列和XPath来缩小我的全文搜索范围。我还可以添加一个额外的XML列来提取名称并以这种方式完成我的工会,但如果我能用一列完成,那就太好了。
由于
答案 0 :(得分:1)
您无法使用XML查询来限制给定XML文档的哪些部分呈现为全文搜索。您只能在WHERE子句中使用XQuery来限制行。
此外,如果您还不知道,全文查询将不允许您搜索XML类型列的XML标记或属性名称 - 只是数据。