我想要顯示結果,以便行有更多的匹配應該在最上面。Mysql計數匹配的每一行,並顯示按相關性結果順序
一樣,如果我在標題和內容搜索關鍵字「ABC」,然後將其計數「ABC」的總比賽的標題和內容的每一行。
假設它發現
在第一排3場比賽,
在第二排5點的匹配,
2中第三行的匹配
然後導致首先會顯示5個匹配行,3個匹配的是 es行,等等在DESC順序
我用這個查詢,但它沒有排序正確的結果。
SELECT title, MATCH(title, content) AGAINST ('>("abc def") (abc def) <(abc* def*)' IN BOOLEAN MODE) AS relevance
FROM articles_template
WHERE 1=1
AND MATCH(title, content) AGAINST ('>("abc def") (abc def) <(abc* def*)' IN BOOLEAN MODE)
AND date BETWEEN '2015-02-18 00:00:00' AND '2016-02-18 00:00:00'
ORDER BY relevance DESC
LIMIT 0,10
全文seraches不採取occurances的數量考慮進去,但很多其他事情也是如此。但是,如果全文搜索沒有產生預期結果,那麼您需要尋找其他解決方案,例如sphynx來實現您想要的結果。 – Shadow