मैं एक छोटी सी समस्या (है कि मैं क्या आशा है) mysql डेटाबेस में पूर्ण पाठ खोज के मेरे खोज परिणाम रैंकिंग के साथ की है। दो तरह से इसे लिखने मैं कोशिश की है:पूर्ण पाठ खोज रैंकिंग
प्राकृतिक तरीके:
SELECT SQL_CALC_FOUND_ROWS *,
MATCH(productname,keywords) AGAINST('$cl_search') AS score
FROM products
WHERE MATCH(productname,keywords) AGAINST('$cl_search')
ORDER BY score DESC,lastupdated DESC;
बूलियन रास्ता:
SELECT SQL_CALC_FOUND_ROWS *,
((MATCH(productname) AGAINST('$cl_search' IN BOOLEAN MODE))+
(MATCH(keywords) AGAINST('\"$cl_search\"' IN BOOLEAN MODE))) AS score
FROM products
WHERE MATCH(productname,keywords) AGAINST('$cl_search')
ORDER BY score DESC,lastupdated DESC;
जब मैं प्राकृतिक भाषा मोड में खोज रहा अनुक्रमण मैं पसंद है, लेकिन मैं कैसे कर यानी "बैग बैग बैग बैग बैग" में प्रवेश करने से किसी को रोकने के रूप में PRODUCTNAME अच्छा खोज परिणाम प्राप्त करने?
तो मैं लेकिन यह तय करने के लिए बूलियन रास्ता 1. ने लिखा कि यह धीमी है और 2. मैं की तरह 'शब्द गणना की तुलना में' अन्य प्रासंगिकता अनुक्रमण नहीं मिलता है।
कैसे दोनों दुनिया का सबसे अच्छा पाने के लिए पर कोई विचार?