2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Elasticsearch (ES) इत्यस्य दैनिकविकासे संचालने च प्रायः एतादृशाः परिदृश्याः सम्मुखीभवन्ति यत्र समानप्रश्नानां बहुधा निष्पादनस्य आवश्यकता भवति । एतेषु प्रश्नेषु व्यावसायिकतर्कस्य जटिलतायाः कारणात् बहुक्षेत्राणि, फ़िल्टर-स्थितयः, समुच्चय-विश्लेषणं च सम्मिलितं भवितुम् अर्हति । एतेषां कार्याणां अनुकूलनार्थं विकासदक्षतां च सुधारयितुम् Elasticsearch अन्वेषणसारूप्यानां कार्यं प्रदाति । अस्मिन् लेखे प्रश्नानां पुनः उपयोगाय, साझेदारी कर्तुं च Elasticsearch’s search templates इत्यस्य उपयोगः कथं करणीयः इति व्याख्यायते ।
दैनिकविकासे, यद्यपि अधिकांशप्रश्नाः तुल्यकालिकरूपेण सरलाः भवेयुः, तथापि केषुचित् जटिलव्यापारपरिदृश्येषु (यथा वित्तं, चिकित्सा इत्यादिषु), अन्वेषणस्य दर्जनशः क्षेत्राणि पारयितुं वा प्रत्यागन्तुं वा आवश्यकं भवितुम् अर्हति, तथा च जटिलछननस्थितयः विश्लेषणं च सम्मिलितं भवति . अस्मिन् क्षणे प्रत्येकं प्रश्नं हस्तचलितरूपेण लेखनं न केवलं अकुशलं भवति, अपितु त्रुटिप्रवणम् अपि भवति । अन्वेषण टेम्पलेट् MySQL मध्ये संगृहीतप्रक्रियाः अथवा कार्याणि इव सन्ति तेषां केवलं एकवारं परिभाषितुं आवश्यकं भवति, तथा च अन्वेषणकार्यं पश्चात् कोडमध्ये टेम्पलेट् आह्वयित्वा पैरामीटर् पारयित्वा सम्पन्नं कर्तुं शक्यते, यत् विकासदक्षतायां प्रश्नलचीलतां च बहुधा सुधारयति
अन्वेषणसाचायाः मूलरूपं प्रश्नशर्ताः युक्तं JSON वस्तु परिभाषितुं पासं च भवति_search/template
एपिआइ आह्वानम्। उदाहरणतया:
GET /index_name/_search/template
{
"source": {
"query": {
"match": {
"remark": "{{kw}}"
}
},
"size": "{{size}}"
},
"params": {
"kw": "真正的数值",
"size": 100
}
}
अस्मिन् उदाहरणे .{{kw}}
तथा{{size}}
टेम्पलेट् मध्ये एकः चरः अस्ति, पारितःparams
वस्तुनि विशिष्टमूल्यानि पारयन्ति ।
toJSON
रूपलक्षणं भवतिsource
परिभाषितुं तारानाम् उपयोगं कुर्वन्तु, पलायनवर्णाः च आवश्यकाः सन्ति । उदाहरणतया:
GET cars/_search/template
{
"source": "{ "query": { "match": {{#toJson}}parameter{{/toJson}} }}",
"params": {
"parameter": {
"remark": "真正的数值"
}
}
}
उपयुञ्जताम्join
विधिः प्रश्नस्थितीनां कृते सरणीस्थानि तत्त्वानि स्ट्रिंग् मध्ये संयोजयितुं शक्नोति । उदाहरणतया:
GET index_name/_search/template
{
"source": {
"query": {
"match": {
"remark": "{{#join delimiter=' '}}kw{{/join delimiter=' '}}"
}
}
},
"params": {
"kw": ["大众", "标致", "奔驰", "宝马"]
}
}
भवान् टेम्पलेट् मध्ये पैरामीटर् कृते पूर्वनिर्धारितमूल्यानि सेट् कर्तुं शक्नोति यदि आह्वानं कुर्वन् पैरामीटर् पारितः न भवति तर्हि पूर्वनिर्धारितमूल्यं उपयुज्यते । उदाहरणतया:
GET index_name/_search/template
{
"source": {
"query": {
"range": {
"price": {
"gte": "{{start}}",
"lte": "{{end}}{{^end}}200000{{/end}}"
}
}
}
},
"params": {
"start": 100000
}
}
टेम्पलेट् इत्यस्य पुनः उपयोगाय वयं Elasticsearch इत्यत्र सेव् कर्तुं शक्नुमः । टेम्पलेट् इत्यस्य नाम निर्दिश्य पश्चात् पुनः पुनः आह्वयितुं सुविधा भवति । उदाहरणतया:
POST _scripts/my_test_template
{
"script": {
"lang": "mustache",
"source": {
"query": {
"match": {
"field_name": "{{kw}}"
}
}
}
}
}
टेम्पलेट् आह्वयति समये, पास कुर्वन्तुid
विशिष्टं टेम्पलेट् निर्दिष्टुं तदनुरूपं मापदण्डं च पारयितुं । उदाहरणतया:
GET index_name/_search/template
{
"id": "my_test_template",
"params": {
"kw": "自定义template的参数值"
}
}
परिभाषितं टेम्पलेट् सूचनां GET अनुरोधानाम् माध्यमेन पृच्छितुं शक्यते, उदाहरणार्थं:
GET _scripts/my_test_template
यदि भवान् परिभाषितं टेम्पलेट् विलोपयितुं इच्छति तर्हि DELETE अनुरोधस्य उपयोगं कर्तुं शक्नोति, उदाहरणार्थं:
DELETE _scripts/my_test_template
Elasticsearch प्रदाति_render/template
टेम्पलेट् प्रमाणीकरणार्थं एपिआइ ।