मैंने कुछ articles और issues पढ़ा है, लेकिन एक संतोषजनक समाधान नहीं मिला। जब उपयोगकर्ता किसी फॉर्म में भरता है तो मैं डेटाबेस से संबंधित रिकॉर्ड चुनना चाहता हूं; वैसे ही जब आप एक प्रश्न पूछते हैं तो कार्यक्षमता इस साइट पर काम करती है।शब्द सीमाओं के साथ MySQL पूर्ण टेक्स्ट खोज
स्तंभ subject
+---+---------------------------------------------------+
| 1 | Pagina aanmaken en beter doorzoekbaar maken |
+---+---------------------------------------------------+
| 2 | Sorteerfunctie uitbreiden in zoek-en-boek functie |
+---+---------------------------------------------------+
| 3 | Zoek de verschillen tussen de pagina's |
+---+---------------------------------------------------+
में निम्नलिखित तीन रिकॉर्ड के साथ एक डेटाबेस तालिका पर विचार करें मैं शब्द zoek
साथ अपनी खोज क्वेरी शुरू तो मैं अवधि zoek
पर डेटाबेस से सबसे अधिक प्रासंगिक परिणाम क्वेरी करना चाहते हैं।
SELECT
id,
subject,
MATCH(
subject
)
AGAINST(
'zoek*'
IN BOOLEAN MODE
)
AS
score
FROM
Issues
WHERE
MATCH(
subject
)
AGAINST(
'zoek*'
IN BOOLEAN MODE
)
जब मैं इस क्वेरी मैं सभी रिकॉर्ड दिखाने के लिए और करने के लिए उम्मीद थी चलाने (शायद, मैं नहीं जानता कि कैसे विशिष्टता MySQL में काम करता है) आईडी 3 शीर्ष पर प्रदर्शित करने के लिए: मैं निम्न क्वेरी के साथ आया था (क्योंकि सटीक शब्द मिलान)।
इसके बजाय क्वेरी के परिणाम केवल उसी स्कोर (0.031008131802082062) के साथ पंक्ति 2
और 3
थे।
उचित रिकॉर्ड से मेल खाने के लिए मुझे अपनी क्वेरी में बदलने की क्या ज़रूरत है? यह भी मानते हैं कि उपयोगकर्ता कीवर्ड या वाक्यों में टाइप कर सकते हैं।
तुम क्यों परिणाम में सभी रिकॉर्ड को देखने के लिए उम्मीद की थी? 1-सेंट रिकॉर्ड में शब्द 'ज़ोके' –
@ आर-कोस्टा का उत्तर नीचे सही नहीं है। साथ ही, आप http://dev.mysql.com/doc/refman/5.7/en/fulltext-boolean.html पर "प्रासंगिकता रैंकिंग की गणना कैसे की जाती है" पर देखना चाह सकते हैं। MySQL ऐसा कर रहा है जो इसे यहां करना है। यदि आपको अधिक पूरी तरह से फीचर्ड टेक्स्ट खोज की आवश्यकता है, तो आपको शायद लुसीन आधारित (सोलर, लोचदार खोज, आदि) का उपयोग करने की आवश्यकता है। – evanv