தேடல் வினவலைச் செய்யும்போது, எலாஸ்டிக் தேடல் ஒரு ஆவணத்தில் உள்ள எல்லாப் புலங்களையும் இயல்புநிலையாக வழங்கும். இது _source அளவுருவால் வரையறுக்கப்படுகிறது, இது அட்டவணைப்படுத்தலின் போது பதிவில் சேமிக்கப்பட்ட அனைத்து தரவையும் கொண்டுள்ளது.
curl -XGET 'http://localhost:9200/netflix/_doc/HXYz_IIBLbuC0z3qKeN2?pretty' -H 'kbn-xsrf: அறிக்கையிடல்'வெளியீடு:
இருப்பினும், கொடுக்கப்பட்ட ஆவணத்திலிருந்து அனைத்து புலங்களையும் மீட்டெடுக்க நீங்கள் விரும்பாமல் இருக்கலாம். இந்த டுடோரியலில், ஒரு ஆவணத்திலிருந்து குறிப்பிட்ட புலங்களை எவ்வாறு தேர்ந்தெடுப்பது என்பதை நீங்கள் கற்றுக் கொள்வீர்கள்.
மீள் தேடல் புலங்கள் விருப்பம்
புலங்கள் அளவுரு ஒரு தேடல் கோரிக்கையில் குறிப்பிட்ட புலங்களை மீட்டெடுக்க அனுமதிக்கிறது. கூடுதலாக, புல அளவுரு ஒற்றை அல்லது பல புலங்களைப் பெற எங்களுக்கு உதவும். புலங்கள் அளவுருவைப் பயன்படுத்தி தேதிகள் மற்றும் இடஞ்சார்ந்த தரவு வகைகளையும் நீங்கள் வடிவமைக்கலாம்.
எடுத்துக்காட்டாக, Netflix குறியீட்டிலிருந்து பட்டியலிடப்பட்ட அட்டவணை, ஐடி, தலைப்பு, வெளியீடு_ஆண்டு, கால அளவு மற்றும் தரவரிசைப் புலங்களை மீட்டெடுக்க விரும்புகிறோம் என வைத்துக்கொள்வோம், கீழே காட்டப்பட்டுள்ளபடி வினவலை இயக்கலாம்:
curl -XGET 'http://localhost/netflix/_search' -H 'kbn-xsrf: அறிக்கையிடல்' -H 'உள்ளடக்கம்-வகை: பயன்பாடு/json' -d'
{
'கேள்வி': {
'பொருத்துக': {
'_id': 'HXYz_IIBLbuC0z3qKeN2'
}
},
'புலங்கள்': [
'குறியீடு',
'ஐடி',
'தலைப்பு',
'வெளியீட்டு_ஆண்டு',
'பட்டியலிடப்பட்ட_இன்',
'காலம்',
'மதிப்பீடு'
],
'_source': பொய்
}'
மேலே உள்ள கோரிக்கையில், மேட்ச் அளவுருவில் குறிப்பிட்ட ஐடியுடன் ஆவணத்தைத் தேட தேடல் API ஐப் பயன்படுத்துகிறோம்.
இலக்கு ஆவணத்திலிருந்து குறிப்பிட்ட புலங்களைப் பெற புலங்கள் அளவுருவைப் பயன்படுத்துகிறோம்.
Elasticsearch ஆனது அனைத்து ஆவணப் புலங்களையும் கொண்ட _source அளவுருவை இயல்புநிலையில் உள்ளடக்கும் என்பதை நினைவில் கொள்ளவும். குறிப்பிட்ட புலங்களை மட்டுமே பெறுவதை உறுதிசெய்ய, _source அளவுருவை அணைக்கிறோம்:
மேலே உள்ள கோரிக்கையானது காட்டப்பட்டுள்ளபடி ஒரு பதிலை அளிக்க வேண்டும்:
{'எடுத்தது': 1,
'timeed_out': false,
'_துண்டுகள்': {
'மொத்தம்': 1,
'வெற்றிகரமானது': 1,
'தவிர்த்தது': 0,
'தோல்வியுற்றது': 0
},
'வெற்றிகள்': {
'மொத்தம்': {
'மதிப்பு': 1,
'உறவு': 'eq'
},
'அதிகபட்ச_மதிப்பெண்': 1,
'வெற்றிகள்': [
{
'_index': 'netflix',
'_id': 'HXYz_IIBLbuC0z3qKeN2',
'_ஸ்கோர்': 1,
'புலங்கள்': {
'பட்டியலிடப்பட்ட_இன்': [
'ஆவணப்படங்கள்'
],
'காலம்': [
'90 நிமிடம்'
],
'வெளியீட்டு_ஆண்டு': [
2020
],
'மதிப்பீடு': [
'PG-13'
],
'தலைப்பு': [
'டிக் ஜான்சன் இறந்துவிட்டார்'
]
}
}
]
}
}
தேடல் வினவலில் இருந்து எந்த புலங்கள் திரும்ப வேண்டும் என்பதை வரையறுக்க _source அளவுருவைப் பயன்படுத்தலாம். ஒரு எடுத்துக்காட்டு கீழே காட்டப்பட்டுள்ளது:
curl -XGET 'http://localhost:9200/netflix/_search' -H 'kbn-xsrf: அறிக்கையிடல்' -H 'உள்ளடக்கம்-வகை: பயன்பாடு/json' -d'{
'_source': ['தலைப்பு', 'வெளியீட்டு_ஆண்டு', 'மதிப்பீடு', 'காலம்'],
'கேள்வி': {
'காலம்': {
'_id': {
'மதிப்பு': 'HXYz_IIBLbuC0z3qKeN2'
}
}
}
}'
இந்த வழக்கில், நாம் மீட்டெடுக்க விரும்பும் புலங்களை மூல அளவுருவில் அணிவரிசையாகக் குறிப்பிடுகிறோம். மேலே உள்ள கோரிக்கையானது காட்டப்பட்டுள்ளபடி பதிலை அளிக்க வேண்டும்:
{'எடுத்தது': 0,
'timeed_out': false,
'_துண்டுகள்': {
'மொத்தம்': 1,
'வெற்றிகரமானது': 1,
'தவிர்த்தது': 0,
'தோல்வியுற்றது': 0
},
'வெற்றிகள்': {
'மொத்தம்': {
'மதிப்பு': 1,
'உறவு': 'eq'
},
'அதிகபட்ச_மதிப்பெண்': 1,
'வெற்றிகள்': [
{
'_index': 'netflix',
'_id': 'HXYz_IIBLbuC0z3qKeN2',
'_ஸ்கோர்': 1,
'_source': {
'காலம்': '90 நிமிடம்',
'வெளியீட்டு_ஆண்டு': 2020,
'மதிப்பீடு': 'PG-13',
'தலைப்பு': 'டிக் ஜான்சன் இறந்துவிட்டார்'
}
}
]
}
}
முடிவுரை
இந்தக் கட்டுரையில், புலங்கள் மற்றும் _source அளவுருக்களைப் பயன்படுத்தி தேடல் கோரிக்கையிலிருந்து குறிப்பிட்ட புலங்களை எவ்வாறு பெறுவது என்பதை நீங்கள் கற்றுக்கொண்டீர்கள்.
Elasticsearch மற்றும் அதன் திறன்களைப் பற்றி மேலும் அறிய, தலைப்பில் எங்கள் பயிற்சிகளைப் பார்க்கவும். பயனுள்ள ஒன்றைக் கண்டுபிடிப்பது உங்களுக்கு உத்தரவாதம்.
படித்ததற்கு நன்றி & அடுத்ததில் உங்களைப் பிடி!!