我試圖根據用戶輸入類型文本搜索一個SQL Server 2008表(包含大約700萬條記錄),用於引用和國家。我從用戶那裏得到的搜索字符串可以是任何類似的東西:如何根據用戶搜索查找城市和國家?
「舊金山,美國的酒店」或「紐約,紐約」或「巴黎sddgdfgxx」或「多倫多加拿大」的術語不會被逗號隔開而不是按照特定的順序,並且可能存在無用的數據。
這是我的嘗試:
方法1:FTS有載: 例如:SELECT * FROM其中包含cityNames(城市名, '字詞1和字詞2') - 有和 SELECT * FROM其中包含cityNames (cityname,'word1 or word2') - 與或
這並沒有很好地工作,因爲像'sddgdfgxx'這樣的術語在與'AND'一起使用時不會返回任何內容。方法2:這實際上是一個反向搜索,它的邏輯是搜索用戶是否輸入了字符串包含我桌子上的任何城市或國家。通過這種方式,我肯定會知道'艾克斯普羅旺斯'或'紐約'被搜索到。
例如:從cityCountryNames選擇*,其中「加拿大安大略省,多倫多就像cityCountryNames
筆記:我是不是能夠得到結果兩個字城市和查詢緩慢。
任何幫助表示讚賞。
使用某些地理編碼API具有查詢限制,有些甚至禁止用於商業用途。所以一定要閱讀印刷精美的 – Mikos 2010-09-23 22:46:13
@Mikos - 這當然是一個好主意。如果您要在地圖上顯示地理編碼點,Google允許使用其地理編碼API。看起來Bing可能有更嚴格的使用條款。 – 2010-09-24 17:58:15