2015-06-01 73 views
1

我的問題在於,我想創建一個簡單的搜索引擎。 我已經通過使用2個查詢得到它的工作。第一個搜索完整的搜索詞,第二個搜索所有匹配的單詞。 例如,如果您搜索"The long lasting i don't know",則它將搜索"The long lasting i don't know",然後查找"The",然後搜索"long",依此類推。MYSQL - 選擇行數超過1 LIKE

但我想使用分頁和它會搞亂結果,所以我需要它在1查詢。 運營商IN可以實現嗎?

我希望我可以理解,你可以幫助我。

問候, Yoplenk

+0

您是否在列上使用了全文索引? –

+0

也許我沒有得到你想要的東西,但我認爲這是這樣的問題:http://stackoverflow.com/questions/4172195/mysql-like-multiple-values? –

+0

@Rowland Shaw不,我應該使用它嗎? – Yoplenk

回答

1

你必須使用單獨的像OR值如下

select * from tablename where field like "%The long lasting i don't know%" or field like "%The%" or field like "%long%" or field like "%lasting%" or field like "%i%" or field like "%don't%" or field like "%know%" 

參考此鏈接Using SQL LIKE and IN together

1

我的回答可能無法在性能方面最優的,但這裏的我得到的想法。

您只能使用單詞一詞(像'%The%'這樣的列或像'%long%等等'這樣的列)進行搜索。你一定會得到包含整個句子的結果。

然後,您可以用的情況下,責令其

Order By Case When Column Like "The long lasting i don't know%" Then 1 Other 2 End