के साथ मल्टीफ़ील्ड पर लोचदार खोज पूरा करने वाला सुझाव आंशिक शब्द मिलान प्रश्नों की अनुमति देने के लिए मैं Elasticsearch में पूर्ण Suggester का उपयोग कर रहा हूं। मेरी अनुक्रमणिका (products_index) में, मैं product_name फ़ील्ड और ब्रांड फ़ील्ड दोनों से पूछताछ करने में सक्षम होना चाहता हूं। यहाँ मेरी मैपिंग हैं:विभिन्न भारोत्तोलन
POST /product_index
mappings: {
products: {
properties: {
brand: {
type: "string",
analyzer: "english"
},
product_name: {
type: "string",
analyzer: "english"
},
id: {
type: "long"
},
lookup_count: {
type: "long"
},
suggest: {
type: "completion",
analyzer: "simple",
payloads: true,
preserve_separators: true,
preserve_position_increments: true,
max_input_length: 50
},
upc: {
type: "string"
}
}
}
}
यहाँ मेरी डेटा है: यहाँ
POST /product_index/products/2
{
id: 2,
brand: "Coca-Cola",
product_name: "Classic Coke",
suggest: {
input: [
"Classic Coke",
"Coca-Cola"
],
output: "Classic Coke - Coca-Cola",
payload: {
id: 2,
product_name: "Classic Coke",
brand: "Coca-Cola",
popularity: 10
},
weight: 0
}
}
और मेरी क्वेरी है:
POST /product_index/_search
"suggest": {
"product_suggest": {
"text": 'coca-co',
"completion": {
"field": 'suggest'
}
}
}
यह सिवाय इसके कि अच्छा काम करता है मैं देना चाहते हैं product_nameब्रांड फ़ील्ड से अधिक भारोत्तोलन क्षेत्र। क्या मैं इसे हासिल कर सकता हूं? मैंने को बूल प्रश्नों का उपयोग करने पर देखा है, लेकिन मैं Elasticsearch के लिए काफी नया हूं और यह सुनिश्चित नहीं करता कि मैं इसे पूरा करने वाले सुझावकर्ता के मामले में कैसे लागू कर सकता हूं।
बहुत बहुत धन्यवाद!
मेरे प्रश्न का उत्तर देने के लिए बहुत बहुत धन्यवाद!मैंने आपके कदमों का पालन किया लेकिन मुझे त्रुटि मिल रही है - "ElasticsearchException [फ़ील्ड [उत्पाद-सुझाव] एक पूरा करने का सुझाव फ़ील्ड नहीं है"। मैंने यह निर्दिष्ट किया कि उत्पाद-सुझाव और ब्रांड-सुझाव फ़ील्ड दोनों प्रकार के "समापन" हैं। क्या आपको पता है कि यह त्रुटि क्यों होती है? –
अजीब @harry, यह मेरे सेंस और Elasticsearch उदाहरण पर काम करता है। क्या आप इंडेक्स हटा सकते हैं और मेरे प्रश्नों को आजमा सकते हैं? मैंने उन्हें सेंस में काम करने के लिए संपादित किया है यदि आप उन्हें कॉपी-पेस्ट करते हैं ... – Heschoon
यह इस बार मेरे लिए काम करता था। ऐसा लगता है कि एकमात्र अंतर यह था कि मैंने "विश्लेषक": "सरल" पैरामीटर शामिल किया था। आपकी मदद के लिए बहुत धन्यवाद! –