@ थोक एपीआई को देखने के लिए जावन्ना के सुझाव से आपको निश्चित दिशा में निश्चित रूप से नेतृत्व किया जाएगा। यदि आप एनईईटी का उपयोग कर रहे हैं, तो आप अपनी सभी ऑब्जेक्ट्स को उस सूची में स्टोर कर सकते हैं, जिसे आप सामग्री को अनुक्रमणित करने के लिए JSON ऑब्जेक्ट्स को क्रमबद्ध कर सकते हैं।
विशेष रूप से, यदि आप इंडेक्सिंग और सामग्री को संग्रहीत करने से पहले एचटीएमएल टैग को पट्टी करना चाहते हैं, तो आप मैपर अटैचमेंट प्लगइन का उपयोग कर सकते हैं - जिसमें मैपिंग को परिभाषित करते समय, आप content_type को "html" के रूप में वर्गीकृत कर सकते हैं । "
मैपर अटैचमेंट कई चीजों के लिए उपयोगी है, खासकर यदि आप कई दस्तावेज़ प्रकारों को संभालने में कामयाब रहे हैं, लेकिन सबसे विशेष रूप से - मुझे विश्वास है कि एचटीएमएल टैग को अलग करने के उद्देश्य से इसका उपयोग पर्याप्त है (जो आप html_strip के साथ नहीं कर सकते चार फिल्टर)।
हालांकि एक चेतावनी हालांकि - HTML टैग में से कोई भी संग्रहीत नहीं किया जाएगा। इसलिए यदि आपको किसी टैग को किसी भी तरह की ज़रूरत है, तो मैं मूल सामग्री को संग्रहीत करने के लिए किसी अन्य फ़ील्ड को परिभाषित करने का सुझाव दूंगा। एक और नोट: आप मैपर अटैचमेंट दस्तावेज़ों के लिए मल्टीफाइल्ड निर्दिष्ट नहीं कर सकते हैं, इसलिए आपको उस मैपर अटैचमेंट दस्तावेज़ के बाहर स्टोर करना होगा। नीचे मेरा कामकाजी उदाहरण देखें।
आप इस मानचित्रण में परिणाम की आवश्यकता होगी:
{
"html5-es" : {
"aliases" : { },
"mappings" : {
"document" : {
"properties" : {
"delete" : {
"type" : "boolean"
},
"file" : {
"type" : "attachment",
"fields" : {
"content" : {
"type" : "string",
"store" : true,
"term_vector" : "with_positions_offsets",
"analyzer" : "autocomplete"
},
"author" : {
"type" : "string",
"store" : true,
"term_vector" : "with_positions_offsets"
},
"title" : {
"type" : "string",
"store" : true,
"term_vector" : "with_positions_offsets",
"analyzer" : "autocomplete"
},
"name" : {
"type" : "string"
},
"date" : {
"type" : "date",
"format" : "strict_date_optional_time||epoch_millis"
},
"keywords" : {
"type" : "string"
},
"content_type" : {
"type" : "string"
},
"content_length" : {
"type" : "integer"
},
"language" : {
"type" : "string"
}
}
},
"hash_id" : {
"type" : "string"
},
"path" : {
"type" : "string"
},
"raw_content" : {
"type" : "string",
"store" : true,
"term_vector" : "with_positions_offsets",
"analyzer" : "raw"
},
"title" : {
"type" : "string"
}
}
}
},
"settings" : { //insert your own settings here },
"warmers" : { }
}
}
इस तरह की है कि घोंसला में, मैं इस तरह के रूप में सामग्री इकट्ठा होगा:
Attachment attachment = new Attachment();
attachment.Content = Convert.ToBase64String(File.ReadAllBytes("path/to/document"));
attachment.ContentType = "html";
Document document = new Document();
document.File = attachment;
document.RawContent = InsertRawContentFromString(originalText);
मैं सेन्स में यह परीक्षण किया है - परिणाम हैं निम्नानुसार है:
"file": {
"_content": "PGh0bWwgeG1sbnM6TWFkQ2FwPSJodHRwOi8vd3d3Lm1hZGNhcHNvZnR3YXJlLmNvbS9TY2hlbWFzL01hZENhcC54c2QiPg0KICA8aGVhZCAvPg0KICA8Ym9keT4NCiAgICA8aDE+VG9waWMxMDwvaDE+DQogICAgPHA+RGVsZXRlIHRoaXMgdGV4dCBhbmQgcmVwbGFjZSBpdCB3aXRoIHlvdXIgb3duIGNvbnRlbnQuIENoZWNrIHlvdXIgbWFpbGJveC48L3A+DQogICAgPHA+wqA8L3A+DQogICAgPHA+YXNkZjwvcD4NCiAgICA8cD7CoDwvcD4NCiAgICA8cD4xMDwvcD4NCiAgICA8cD7CoDwvcD4NCiAgICA8cD5MYXZlbmRlci48L3A+DQogICAgPHA+wqA8L3A+DQogICAgPHA+MTAvNiAxMjowMzwvcD4NCiAgICA8cD7CoDwvcD4NCiAgICA8cD41IDA5PC9wPg0KICAgIDxwPsKgPC9wPg0KICAgIDxwPjExIDQ3PC9wPg0KICAgIDxwPsKgPC9wPg0KICAgIDxwPkhhbGxvd2VlbiBpcyBpbiBPY3RvYmVyLjwvcD4NCiAgICA8cD7CoDwvcD4NCiAgICA8cD5qb2c8L3A+DQogIDwvYm9keT4NCjwvaHRtbD4=",
"_content_length": 0,
"_content_type": "html",
"_date": "0001-01-01T00:00:00",
"_title": "Topic10"
},
"delete": false,
"raw_content": "<h1>Topic10</h1><p>Delete this text and replace it with your own content. Check your mailbox.</p><p> </p><p>asdf</p><p> </p><p>10</p><p> </p><p>Lavender.</p><p> </p><p>10/6 12:03</p><p> </p><p>5 09</p><p> </p><p>11 47</p><p> </p><p>Halloween is in October.</p><p> </p><p>jog</p>"
},
"highlight": {
"file.content": [
"\n <em>Topic10</em>\n\n Delete this text and replace it with your own content. Check your mailbox.\n\n \n\n asdf\n\n \n\n 10\n\n \n\n Lavender.\n\n \n\n 10/6 12:03\n\n \n\n 5 09\n\n \n\n 11 47\n\n \n\n Halloween is in October.\n\n \n\n jog\n\n "
]
}