மீள் தேடல் மல்டி-கெட்

Mil Tetal Malti Ket



பல JSON ஆவணங்களை அவற்றின் ஐடிகளின் அடிப்படையில் பெறுவதற்கு Elasticsearch மல்டி-கெட் API ஐ எவ்வாறு பயன்படுத்துவது என்பது பற்றி இந்தக் கட்டுரை விவாதிக்கும். கூடுதலாக, ஆவண ஐடிகளை மட்டும் பயன்படுத்தி குறியீடுகளில் இருந்து ஆவணங்களை மீட்டெடுக்க ஒற்றை பெறுதல் வினவலைப் பயன்படுத்த Elasticsearch உங்களை அனுமதிக்கிறது.

ஆராய்வோம்.







தொடரியல் கோரிக்கை

பின்வருபவை Elasticsearch மல்டி-கெட் APIக்கான தொடரியல்:



பெறவும் /_mget
GET / /_mget

மல்டி-கெட் ஏபிஐ பல குறியீடுகளை ஆதரிக்கிறது, இது ஒரே குறியீட்டில் இல்லாவிட்டாலும் ஆவணங்களைப் பெற உங்களை அனுமதிக்கிறது.



கோரிக்கை பின்வரும் பாதை அளவுருக்களை ஆதரிக்கிறது:





  1. - அவற்றின் ஐடிகளால் குறிப்பிடப்பட்ட ஆவணங்களை மீட்டெடுப்பதற்கான குறியீட்டின் பெயர்.

காட்டப்பட்டுள்ளபடி மற்ற வினவல் அளவுருக்களையும் நீங்கள் குறிப்பிடலாம்:

  1. விருப்பம் - விருப்பமான முனை அல்லது ஷார்ட்டை வரையறுக்கிறது.
  2. நிகழ்நேரம் - உண்மை என அமைக்கப்பட்டால், செயல்பாடு நிகழ்நேரத்தில் செய்யப்படுகிறது.
  3. புதுப்பிப்பு - குறிப்பிட்ட ஆவணங்களைப் பெறுவதற்கு முன், இலக்குத் துண்டுகளைப் புதுப்பிக்க செயல்பாட்டை கட்டாயப்படுத்துகிறது.
  4. ரூட்டிங் - செயல்பாடுகளை ஒரு குறிப்பிட்ட துண்டிற்கு மாற்றப் பயன்படும் மதிப்பு.
  5. Store_fields - ஆவணத்தை விட குறியீட்டில் சேமிக்கப்பட்ட ஆவணப் புலங்களை மீட்டெடுக்கிறது.
  6. _ஆதாரம் – கோரிக்கையானது _source புலத்தை வழங்க வேண்டுமா இல்லையா என்பதை வரையறுக்கும் பூலியன் மதிப்பு.

வினவலுக்கு உடல் தேவை, இதில் பின்வரும் மதிப்புகள் உள்ளன:



  1. ஆவணங்கள் - நீங்கள் பெற விரும்பும் ஆவணங்களைக் குறிப்பிடுகிறது. கூடுதலாக, இந்த பிரிவு பின்வரும் பண்புகளை ஆதரிக்கிறது:
    • ஐடி – இலக்கு ஆவணத்தின் தனிப்பட்ட ஐடி.
    • _இன்டெக்ஸ் – இலக்கு ஆவணத்தைக் கொண்டிருக்கும் குறியீடு.
    • ரூட்டிங் – ஆவணத்தின் முதன்மைத் துண்டுக்கான திறவுகோல்.
    • _ஆதாரம் – உண்மை எனில், அது அனைத்து மூலப் புலங்களையும் உள்ளடக்கியது; இல்லையெனில், அது அவர்களை விலக்குகிறது.
    • _சேமிக்கப்பட்ட_வயல்கள் - நீங்கள் சேர்க்க விரும்பும் சேமிக்கப்பட்ட_புலங்கள்.
  2. ஐடிகள் - நீங்கள் பெற விரும்பும் ஆவணங்களின் ஐடிகள்.

எடுத்துக்காட்டு 1: ஒரே குறியீட்டிலிருந்து பல ஆவணங்களைப் பெறவும்

Netflix குறியீட்டிலிருந்து குறிப்பிட்ட ஐடிகளுடன் ஆவணங்களை மீட்டெடுக்க, Elasticsearch மல்டி-கெட் API ஐ எவ்வாறு பயன்படுத்துவது என்பதை பின்வரும் எடுத்துக்காட்டு காட்டுகிறது:

curl -XGET 'http://localhost:9200/netflix/_mget' -H 'kbn-xsrf: அறிக்கையிடல்' -H 'உள்ளடக்கம்-வகை: பயன்பாடு/json' -d'
{
'டாக்ஸ்': [
{
'_id': 'T3wnVoMBck2AEzXPytlJ'
},
{
'_id': 'W3wnVoMBck2AEzXPytlJ'
}
]
}'

கொடுக்கப்பட்ட கோரிக்கையானது Netflix குறியீட்டிலிருந்து குறிப்பிட்ட ஐடிகளுடன் ஆவணங்களைப் பெற வேண்டும். இதன் விளைவாக வெளியீடு காட்டப்பட்டுள்ளது:

{
'டாக்ஸ்': [
{
'_index': 'netflix',
'_id': 'T3wnVoMBck2AEzXPytlJ',
'_பதிப்பு': 1,
'_seq_no': 0,
'_முதன்மை_காலம்': 1,
'கண்டுபிடித்தது': உண்மை,
'_source': {
'காலம்': '90 நிமிடம்',
'listed_in': 'ஆவணப்படங்கள்',
'நாடு': 'அமெரிக்கா',
'date_added': 'செப்டம்பர் 25, 2021',
'show_id': 's1',
'இயக்குனர்': 'கிர்ஸ்டன் ஜான்சன்',
'வெளியீட்டு_ஆண்டு': 2020,
'மதிப்பீடு': 'PG-13',
'விளக்கம்': 'அவரது தந்தை தனது வாழ்நாளின் முடிவை நெருங்குகையில், திரைப்படத் தயாரிப்பாளர் கிர்ஸ்டன் ஜான்சன் அவர்கள் இருவரும் தவிர்க்க முடியாததை எதிர்கொள்ள உதவுவதற்காக அவரது மரணத்தை கண்டுபிடிப்பு மற்றும் நகைச்சுவையான வழிகளில் நடத்துகிறார்.',
'வகை': 'திரைப்படம்',
'தலைப்பு': 'டிக் ஜான்சன் இறந்துவிட்டார்'
}
},
{
'_index': 'netflix',
'_id': 'W3wnVoMBck2AEzXPytlJ',
'_பதிப்பு': 1,
'_seq_no': 12,
'_முதன்மை_காலம்': 1,
'கண்டுபிடித்தது': உண்மை,
'_source': {
'நாடு': 'ஜெர்மனி, செக் குடியரசு',
'show_id': 's13',
'இயக்குனர்': 'கிறிஸ்டியன் ஸ்வோச்சோ',
'வெளியீட்டு_ஆண்டு': 2021,
'மதிப்பீடு': 'டிவி-எம்ஏ',
'விளக்கம்': 'பயங்கரவாத குண்டுவெடிப்பில் அவரது குடும்பத்தில் பெரும்பாலோர் கொல்லப்பட்ட பிறகு, ஒரு இளம் பெண் அறியாமல் அவர்களைக் கொன்ற குழுவில் சேர தூண்டப்படுகிறார்.',
'வகை': 'திரைப்படம்',
'தலைப்பு': 'நான் கார்ல்',
'காலம்': '127 நிமிடம்',
'listed_in': 'நாடகங்கள், சர்வதேச திரைப்படங்கள்',
நடிகர்கள்
'date_added': 'செப்டம்பர் 23, 2021'
}
}
]

}

பின்வருவனவற்றில் காட்டப்பட்டுள்ளபடி ஆவண ஐடிகளை ஒரு எளிய வரிசையில் வைப்பதன் மூலம் கோரிக்கையை எளிதாக்கலாம்:

curl -XGET 'http://localhost:9200/netflix/_mget' -H 'kbn-xsrf: அறிக்கையிடல்' -H 'உள்ளடக்கம்-வகை: பயன்பாடு/json' -d'
{
'ids': ['T3wnVoMBck2AEzXPytlJ', 'W3wnVoMBck2AEzXPytlJ']
}'

முந்தைய கோரிக்கை இதேபோன்ற செயலைச் செய்ய வேண்டும்.

எடுத்துக்காட்டு 2: பல குறியீடுகளிலிருந்து ஆவணங்களைப் பெறவும்

பின்வரும் எடுத்துக்காட்டில், காட்டப்பட்டுள்ளபடி கோரிக்கை பல்வேறு குறியீடுகளிலிருந்து பல ஆவணங்களைப் பெறுகிறது:

curl -XGET 'http://localhost:9200/_mget' -H 'kbn-xsrf: அறிக்கையிடல்' -H 'உள்ளடக்கம்-வகை: பயன்பாடு/json' -d'
{
'டாக்ஸ்': [
{
'_index': 'netflix',
'_id': 'T3wnVoMBck2AEzXPytlJ'
},
{
'_index': 'டிஸ்னி',
'_id': '8j4wWoMB1yF5VqfaKCE4'
}
]
}'

இதன் விளைவாக வெளியீடு காட்டப்பட்டுள்ளது:

எடுத்துக்காட்டு 3: குறிப்பிட்ட புலங்களை விலக்கு

source_include மற்றும் source_exclude அளவுருக்களைப் பயன்படுத்தி கொடுக்கப்பட்ட கோரிக்கையிலிருந்து குறிப்பிட்ட புலங்களை நாம் விலக்கலாம்.

ஒரு எடுத்துக்காட்டு காட்டப்பட்டுள்ளது:

curl -XGET 'http://localhost:9200/_mget' -H 'kbn-xsrf: அறிக்கையிடல்' -H 'உள்ளடக்கம்-வகை: பயன்பாடு/json' -d'
{
'டாக்ஸ்': [
{
'_index': 'netflix',
'_id': 'T3wnVoMBck2AEzXPytlJ',
'_source': false
},
{
'_index': 'netflix',
'_id': 'T3wnVoMBck2AEzXPytlJ',
'_source': {
'include': [ 'listed_in', 'release_year', 'title' ],
'விலக்கு': [ 'விளக்கம்', 'வகை', 'தேதி_சேர்க்கப்பட்டது' ]
}
}
]

}'

கொடுக்கப்பட்ட கோரிக்கையானது, கொடுக்கப்பட்ட ஆவணத்தில் எந்தெந்தப் புலங்களை நீங்கள் மீட்டெடுக்க விரும்புகிறீர்கள் என்பதைக் குறிப்பிடுவதற்கு உள்ளடக்கிய மற்றும் விலக்கப்பட்ட மூலத்தைப் பயன்படுத்துகிறது.

இதன் விளைவாக வெளியீடு காட்டப்பட்டுள்ளது:

முடிவுரை

இந்த இடுகையில், Elasticsearch மல்டி-கெட் API உடன் பணிபுரிவதற்கான அடிப்படைகளை நாங்கள் விவாதித்தோம், இது அவர்களின் ஐடிகளின் அடிப்படையில் பல்வேறு ஆதாரங்களில் இருந்து பல ஆவணங்களைப் பெற உங்களை அனுமதிக்கிறது. மேலும் தகவலுக்கு மற்ற ஆவணங்களை ஆராய தயங்க வேண்டாம்.

மகிழ்ச்சியான குறியீட்டு!