1
我正在嘗試創建一個簡單的工具,允許用戶通過使用由我定義的同義詞搜索約200個單詞。如何通過使用我定義的同義詞進行搜索來安排查找單詞的數據庫?
例如:該集合中的單詞是「fire」。用戶可以搜索火,火焰,火焰,比賽等(我把這些在)... ...,它會返回「火」。
最初的想法:我立即想到的是僅僅有一個兩列的表格,其中第一列是實際詞,第二列是一個合適的同義詞:
ACTUAL SYNONYM
fire flame
fire flames
fire matches
所以當用戶搜索,我會做一個簡單的選擇:
SELECT actual WHERE synonym = "THE SEARCH TERM"
問:我應該如何設置我的數據庫搜索這些詞並將它們與同義詞相關聯?我建議的解決方案是最好還是最有效的方法?我覺得我應該能夠每個「實際」有一行,並在第二列中放置所有同義詞,但是我不知道如何搜索第二列,或者如果它更有效只是一個清單。
聽起來不錯。我不認爲每個「實際」有超過20個同義詞,所以桌子不會變得非常巨大。我因爲遺漏了FROM並且沒有使用過LIKE而感到很蠢。自從我完成SQL之後,這太久了,哈哈。感謝您的幫助! – Jon
我的榮幸。你沒有指定SQL,所以我不會說這是一個疏忽。我明白你的意思了。 'LIKE'可以減小表格的大小,但是你會增加多次結果的機會。如果你的一個同義詞是'cat',另一個是'scatter',那麼你將通過'LIKE'查詢返回多行。 – John
嗯,好點。多個結果並不是什麼大不了的,但我會亂搞的。享受你的夜晚! – Jon