|
|
Δημοσιεύτηκε στις 9/1/2019 10:29:11 π.μ.
|
|
|
|

Αιτία σφάλματος
{ "error": { "root_cause": [
{ "type": "mapper_parsing_exception", "reason": "Δεν υπάρχει δείκτης χειρισμού για τον τύπο [string] που δηλώνεται στο πεδίο [upload_status]"
} ], "type": "mapper_parsing_exception", "reason": "Δεν υπάρχει δείκτης χειρισμού για τον τύπο [string] που δηλώνεται στο πεδίο [upload_status]" }, "κατάσταση": 400
}
Χρησιμοποιώ την έκδοση 6.2.2 του Elasticsearch και όταν δημιουργώ πεδία σύμφωνα με την τεκμηρίωση του σχολείου, χρησιμοποιώ {"type":"string","index":"not_analyzed"}.
Ανάλυση αιτίας
Αφού έλεγξα την ορθογραφία, αποφάσισα να ελέγξω τη νέα έκδοση των δυνατοτήτων του Elasticsearch, επειδή είχα επίσης πατήσει στο λάκκο της μεθόδου εγκατάστασης του πρόσθετου κεφαλής στο παρελθόν, λόγω του προβλήματος έκδοσης. Σίγουρα, το Elasticsearch εισήγαγε κείμενο και λέξη-κλειδί από το 5.X, όπου η λέξη-κλειδί εφαρμόζεται σε πεδία μη τμηματοποίησης και μπορεί να ταιριάξει ακριβώς μόνο κατά την αναζήτηση, οπότε η συμβολοσειρά εξακολουθεί να διατηρείται.
έφτασεΤο 6.X αφαιρεί εντελώς τη συμβολοσειράΤελειώνω.
Εκτός από αυτόΗ τιμή του "index" μπορεί να είναι μόνο μια δυαδική μεταβλητή。
Λύση
{"type":"κείμενο","index":false}
Έτσι, η τροποποίηση json έχει ως εξής:
Υπάρχουν όμως νέα σφάλματα που είναι τα εξής:
{ "error": { "root_cause": [
{ "type": "illegal_argument_exception", "reason": "Απόρριψη ενημέρωσης αντιστοίχισης σε [restraunt] καθώς η τελική αντιστοίχιση θα είχε περισσότερους από 1 τύπους: [εγγραφή, πληροφορίες]"
} ], "type": "illegal_argument_exception", "reason": "Απόρριψη ενημέρωσης αντιστοίχισης σε [restraunt] καθώς η τελική αντιστοίχιση θα είχε περισσότερους από 1 τύπους: [εγγραφή, πληροφορίες]" }, "κατάσταση": 400
} Αυτό οφείλεται:Μια σημαντική αλλαγή στο Elasticsearch 6.x όπου η αντιστοίχιση επιτρέπει μόνο έναν τύπο。 Τα ευρετήρια που δημιουργήθηκαν στην έκδοση 5.x με πολλούς τύπους αντιστοίχισης θα συνεχίσουν να εκτελούνται στο Elasticsearch 6.x όπως πριν. Οι τύποι αντιστοίχισης θα καταργηθούν πλήρως στο Elasticsearch 7.0.0.
Μετά την κυκλοφορία του Elasticsearch 7.x, η παράμετρος στο typeURL είναι προαιρετική. Για παράδειγμα, η δημιουργία ευρετηρίου εγγράφων δεν απαιτεί πλέον τύπο εγγράφου
Πόροι:
https://github.com/sirensolutions/sentinl/issues/257
https://www.elastic.co/guide/en/ ... moval-of-types.html
|
Προηγούμενος:Κρυπτογράφηση MD5Επόμενος:Πώς ο κώδικας C# κάνει τον υπολογιστή σας να τερματίζει, να επανεκκινεί, να αποσυνδέεται, να κλειδώνει, να τερματίζει...
|