2009-02-14 176 views
4

我有一個電影名稱表,我希望能夠在該表中搜索電影。但我希望能夠搜索部分標題,並仍然返回結果。例如,如果有一個名爲「安慰的量子」的唱片,那麼我希望能夠搜索「量子安慰」,甚至「007:量子安慰」,我想找到那個唱片。有沒有辦法做到這一點?mysql關鍵字搜索

編輯 我該如何根據比賽來排序?也就是說,最匹配的行應該先返回。

回答

5

以布爾模式使用MySQL Full Text Search。 如果您在搜索'007:量子安慰'時這樣做,因爲它在列中至少包含一個匹配結果,它將顯示,您可以通過相關性進行排序。

SELECT *, MATCH(title) AGAINST ('quantum solace' IN BOOLEAN MODE) AS rank 
FROM films 
WHERE MATCH(title) AGAINST ('quantum solace' IN BOOLEAN MODE) ORDER BY rank DESC