2009-08-19 65 views
1

我的工作,這是非常本地化的數據庫,例如緣故全文搜索XML列時可以使用XML查詢嗎?

表:
產品 - 具有非本地化的列(項目編號,創建等)
Product_Local - 已本地化的列(介紹)和一個語言標識符列

我正在使用SQL 2008和全文搜索需要爲其斷字符設置每列的語言。我不能,而且我也不想爲每種語言添加列。

我第一次希望我可以看看行中的另一列來找到LCID或其他東西,並且基於它的突破,但我已經搜索了沒有運氣。但是,XML數據類型可以讓你指定一個標籤,所以我想我會創建一個名爲「SearchContent」的額外列並放入所有本地數據(名稱,描述) - 但是如果我想加權結果,比如稱重產品的名稱高於其他產品的名稱,我可以使用XML查詢來指定我想要搜索的XML文檔的一部分嗎?

我發現這個文檔:http://msdn.microsoft.com/en-us/library/bb522491.aspx讓我更接近,但我想做一些更多的權重,所以我想使用ContainsTable,我真的不想在元素上有完全匹配。

所以我希望我可以指定列和XPath來縮小我的全文搜索範圍。我還可以添加一個額外的XML列來提取名稱並以這種方式完成我的工會,但是如果我可以用一列完成,那很好。

感謝

回答

1

不能使用XML查詢來限制一個給定的XML文檔的部分呈現給全文搜索。您只能在WHERE子句中使用XQuery來限制行。

此外,如果您還不知道,全文查詢將不會讓您搜索XML類型列的XML標籤或屬性名稱 - 只是數據。