परिणाम MySQL में मैं की तरह कुछ कर सकते हैं:लचीला खोजें सीमा
SELECT id FROM table WHERE field = 'foo' LIMIT 5
मेज, 10,000 पंक्तियां हैं तो इस प्रश्न के रास्ते रास्ते से अगर मैं सीमा हिस्सा बाहर छोड़ दिया तेजी है।
{
"query":{
"fuzzy_like_this_field":{
"body":{
"like_text":"REALLY LONG (snip) TEXT HERE",
"max_query_terms":1,
"min_similarity":0.95,
"ignore_tf":true
}
}
}
}
जब मैं यह खोज चलाने के लिए, यह एक कुछ सेकंड लेता है, जबकि mysql दूर में एक ही क्वेरी के लिए परिणाम वापस कर सकते हैं, अब तक कम समय:
ElasticSearch में, मैं निम्नलिखित मिल गया है।
यदि मैं आकार पैरामीटर (1 पर सेट) में पास करता हूं, तो यह सफलतापूर्वक केवल 1 परिणाम देता है, लेकिन अगर मैं आकार को असीमित सेट करता हूं और सभी परिणामों को वापस कर देता हूं तो क्वेरी स्वयं तेज़ी से नहीं होती है। मुझे संदेह है कि क्वेरी पूरी तरह से चल रही है और पूछताछ के बाद केवल 1 परिणाम लौटाया जा रहा है। इसका मतलब है कि "आकार" विशेषता मेरे उद्देश्यों के लिए बेकार है।
क्या कोई खोज प्राप्त करने से पहले इंडेक्स में प्रत्येक रिकॉर्ड को संसाधित करने के बजाय, एक खोज रिकॉर्ड से मेल खाने के लिए कोई भी तरीका है, जैसे ही यह एक खोज रिकॉर्ड से मेल खाता है? क्या मैं इस बारे में कुछ और मौलिक समझ रहा हूं?
अग्रिम धन्यवाद।