0

我有一個SP使用FTS(全文搜索)。我希望跨多個字段進行搜索,根據我分配的權重「智能」排列結果。FTS:智能搜索多個領域

考慮搜索從表中獲取數據的視圖:Book,Author和Genre。

現在,我想搜索者能夠做到:「盧德倫小說」,「羅伯特·盧德倫諜影重重」,「諜影重重盧德倫」等

不幸的是,唯一的辦法我已經能夠做到這一點目前是這樣的:http://pastebin.com/fdce11ff

這是非常糟糕的,因爲我手動分解搜索字符串。我知道我這樣做完全是錯誤的方式,但無法找出權利方式在FTS中的多個字段進行搜索。有人可以幫忙嗎?

+0

什麼讓你覺得你現在做的方式是錯誤的? – 2009-12-07 18:20:17

+0

那麼,我不得不自己編寫排名算法,並假設FTS會有更優化的算法?另外,我沒有得到期望的結果。例如,如果你知道我的意思,那麼搜索「Al Pacino」就會得到「Al Author」的結果「Al Something」,而不是「Al Pacino」。這是因爲在書的標題和作者字段中重複了'Al'這個詞。 – 2009-12-07 18:30:23

回答

0

在你的實例上;你的字典是如何設置的?您可能希望將您的作者添加到您的字典中,這可能會解決al pacino問題(也請確保您的作者不是噪音字詞。)

您可能會從使用vector type搜索的深度搜索中獲得更好的結果。我們已經推動我們的用戶(這是內部員工)朝着布爾搜索的方向發展,正如谷歌所要求的。例如Robert Ludlum和伯恩。

+0

嗨,請參閱http://stackoverflow.com/questions/1875237/full-text-search-noise-words-are-being-searched-爲了看到我面臨的這個問題。 我已經爲此打開了另一個問題,因爲我不確定它是否相關。 – 2009-12-09 16:59:55