2010-02-26 31 views
4

我在我的網站上使用SQL Server 2008的全文搜索引擎。我有一個搜索SP,它顯示根據排名排序的結果。SQL Server FTS:排名有點奇怪

我分手的搜索字符串,並將其傳遞給FTS查詢引擎,像這樣(搜索字符串是「測試搜索」:

("*test*" ~ "*search*") OR ("*test*" OR "*search*"). 

如果結果行有行「測試搜索」,和其他有'測試別的'後者排名較高

我不明白這是怎麼回事 - 顯然'測試搜索'這個短語更接近匹配,我認爲它與方式有關我將測試字符串傳遞給FTS。任何見解?建議?

+0

可以顯示更多的SP? – iain

+0

請提供完成搜索的SP和表架構。 – Shivkant

回答

2

A那麼搜索OR值的術語具有相同的權重。爲了增加短語「測試近似搜索」的等級,您必須指定更大的權重。

SELECT 
    Srch.* 
FROM 
    CONTAINSTABLE 
    (
    MyTable, 
    SearchColumn, 
    -- must specify a weight if one phrase is more important 
    'ISABOUT(test ~ search weight(.7), test weight(.1), search weight(.2))', 
    LANGUAGE 1033, -- english 
    100   -- TOP N RANK 
) Srch