Elasticsearch הסר שדה

Elasticsearch Hsr Sdh



'בעבודה עם מדדי Elasticearch, אתה עלול להיתקל במקרה שבו עליך להסיר שדה ממסמך קיים. למרבה הצער, Elasticsearch לא מספקת בקשה מקורית שאנו יכולים להשתמש בה כדי לבצע את הפעולה האמורה.

עם זאת, אנו יכולים להשתמש ב-API של עדכון המסמכים ולהעביר סקריפט המאפשר לנו להסיר שדה על סמך שמו.'







הערה : תהליך זה דורש ממך ידע בסיסי בסקריפטים של Elasticsearch וב-API של עדכון המסמכים. אל תהסס לחקור את המסמכים או את ההדרכות שלנו בנושא כדי ללמוד עוד.



בואו נצלול פנימה.



בדוק אם קיים מסמך

לפני הסרת שדה ממסמך ספציפי, כדאי לוודא שמסמך היעד קיים באינדקס.





אנו יכולים להשתמש ב-API של החיפוש כדי להביא את מסמך היעד.

לדוגמה, נניח שיש לנו את האינדקס kibana_sample_logs_data. נוכל לחפש באינדקס מסמך המכיל IP ספציפי.



הערה : הדוגמה לעיל משמשת להמחשה בלבד. אתה יכול להשתמש בשיטות שונות כדי לוודא אם מסמך מסוים זמין באינדקס.

curl -XGET 'http://localhost:9200/kibana_sample_data_logs/_search' -H 'kbn-xsrf: reporting' -H 'Content-Type: application/json' -d'
{
'גודל': 0,
'query': {'match': {
'ip': '171.24.97.162'
}}
}'

הפלט המתקבל:

{
'לקח': 3,
'פסק זמן': false,
'_שברים': {
'סה'כ': 1,
'מוצלח': 1,
'דילג': 0,
'נכשל': 0
},
'hits': {
'סך הכל': {
'ערך': 17,
'relation': 'eq'
},
'max_score': null,
'להיטים': []
}

}

לאחר מכן, סקריפט פשוט יכול להסיר שדה יעד מהמסמך. התחל על ידי כניסה למסוף Kibana שלך והפעל את הפקודה:

curl -XPOST 'http://localhost:9200/kibana_sample_data_logs/_update/5pA49IIBkTjaZ6TtsiB5' -H 'kbn-xsrf: דיווח' -H 'Content-Type: application/json' -d'
{
'script': 'ctx._source.remove('\''ip'\'')'
}'

הבקשה שלעיל משתמשת בסקריפט הקשר ללא כאבים כדי לעדכן את המסמך ולהסיר את השדה 'ip' עם המזהה שצוין.

תְפוּקָה:

{
'_index': 'kibana_sample_data_logs',
'_id': '5pA49IIBkTjaZ6TtsiB5',
'_גרסה 2,
'result': 'מעודכן',
'_שברים': {
'סה'כ': 2,
'מוצלח': 2,
'נכשל': 0
},
'_seq_no': 14074,
'_primary_term': 1
}

לאחר עדכון המסמך, תוכל לאמת על ידי הפעלת השאילתה.:

curl -XGET 'http://localhost:9200/kibana_sample_data_logs/_doc/5pA49IIBkTjaZ6TtsiB5' -H 'kbn-xsrf: דיווח'

הבקשה לעיל צריכה להחזיר את הנתונים המאוחסנים במסמך עם המזהה שצוין.

אנו יכולים לוודא ששדה ה-IP כבר אינו במסמך.

סיכום

במאמר זה למדת כיצד להשתמש ביכולות הסקריפט של Elasticsearch כדי להסיר שדה ממסמך קיים.

תודה שקראת!!