पर मैच चाहिए यह संभव है इसन्यूनतम क्वेरी फ़िल्टर किया
"query": {
"filtered": {
"filter": {
"terms": {
"names": [
"Anna",
"Mark",
"Joe"
],
"execution" : "and"
}
}
}
}
"minimum_should_match": "2"
बयान के साथ
की तरह एक प्रश्न के लिए?
मुझे पता है कि मैं एक साधारण क्वेरी का उपयोग कर सकता हूं (मैंने कोशिश की है, यह काम करता है) लेकिन मुझे गणना करने के लिए स्कोर की आवश्यकता नहीं है। मेरा लक्ष्य सिर्फ उन दस्तावेजों को फ़िल्टर करना है जिनमें मूल्यों में से 2 शामिल हैं।
क्या स्कोर आमतौर पर दस्तावेज़ को पुनर्प्राप्त करने के लिए आवश्यक समय पर भारी प्रभाव डालता है?
इस क्वेरी का उपयोग करना:
"query": {
"filtered": {
"filter": {
"terms": {
"names": [
"Anna",
"Mark",
"Joe"
],
"execution" : "and",
"minimum_should_match": "2"
}
}
}
}
मैं यह त्रुटि आई:
QueryParsingException[[my_db] [terms] filter does not support [minimum_should_match]]
यदि मैं आपका प्रश्न समझता हूं, तो आप नाम फ़ील्ड में 'अन्ना', 'मार्क' और 'जो' के साथ सभी दस्तावेज ढूंढ रहे हैं, 10% समानता देते हैं या लेते हैं? क्या होता है यदि हमारे पास 'कैथरीन' और 'विल्हेल्मिना' जैसे लंबे नाम हैं जो ठीक से मेल खाते हैं, और आखिरी नाम 'जो' 10% की वजह से पूरी तरह से त्याग दिया गया है? – IanGabes
क्षमा करें शायद मेरा प्रश्न इतना स्पष्ट नहीं था :) मैंने सूची का सबसेट निर्दिष्ट करने के लिए 90% का उपयोग किया है। मैं 2. के साथ संपादन कर रहा हूं, यही है, अन्ना, मार्क और कैथरीन के साथ एक दस्तावेज़ मिलान किया जाना चाहिए। अन्ना, कैथरीन और विल्हेल्मिना के साथ एक दस्तावेज़ मिलान नहीं किया जाना चाहिए। मुख्य मुद्दा यह है कि यदि मैं न्यूनतम उपयोग करता हूं तो फ़िल्टर किए गए प्रश्न के अंदर मेल खाना चाहिए, तो मुझे 'QueryParsingException [[my_db] [terms] फ़िल्टर [minimal_should_match]] का समर्थन नहीं करता है;' – betto86