2012-09-11 80 views
0

這是一個新的領域,我不知道這是我在找什麼。 我需要在查詢數據庫時更改約束。這是一個求職網站應用程序的例子。如果用戶正在搜索具有某些特徵的半徑50英里的工作,我需要找到並不完美匹配但與他非常相關的工作。查詢放鬆 - 更改約束

如果用戶的工作幾乎100%匹配,但距離52英里,我還需要將其提取給用戶(考慮到它的相關性,因爲50英里的2英里多隻有4%多)。

這個想法是開發一個新的求職網站的應用程序,並希望它會增長。這些公司在網站上創建他們的工作機會,並由用戶進行搜索。這幾乎是平常的。區別在於搜索機制。這比簡單的數據庫查詢更聰明,這就是爲什麼我需要知道如何獲得更多結果來過濾它們。 如果有一個限制(從薪水> 25000或工資< 26000的工作中選擇*),100%匹配但工資爲24999的工作不會顯示在結果中,儘管它應該是因爲它很接近。 這個想法是讓db中所有關閉的工作(因此我必須放寬對較大值的約束),通過貝葉斯網絡或其他東西,確定它與用戶的相關性。當然,這些條件也適用於其他工作屬性,如位置,經驗,工作區域(comp sci,mechanics等)

因此,我需要一些指針來尋找關於這個問題的更多信息,如何放鬆這些約束來進行更廣泛的搜索,然後通過貝葉斯網絡計算與用戶的相關性並顯示它。

任何人都可以幫助我嗎? 謝謝

+1

您應該首先給我們提供更多關於這個問題的信息:規模是什麼(我們在談論多少工作?)什麼是數據結構? (還是靈活多變)?你是否從非結構化數據索引你的信息? (如文本)?或者它是否結構化? – amit

+0

請檢查我的編輯,並感謝您 –

回答

1

一個一般的方法是做一個快速的第一階段搜索,可能會通過一些垃圾,然後做更詳細的檢查你從中得到什麼。在你的例子中,你可以簡單地將查詢條件單向地改變10%,所以(從薪水> 25000或者工資< 26000的工作中選擇*)變成(從薪水> 22500或者工資< 23400的工作中選擇*) - 順便說一句,或者應該是和?

然後拿出答案,通過第一階段,並按類似於理想值的百分比差異的平方和之類的東西對它們進行排序,並向用戶顯示前N個答案。這很簡單,你可能能夠找到一個涉及正態分佈的論證,將它證明爲貝葉斯計算的某些東西或其他東西。

+0

我一直在尋找更多,這確實是這樣做的方式,因爲在這個問題上沒有任何形式。這就像反覆試驗和常識。謝謝 –