Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 197688|Απάντηση: 35

[Πηγή] [Πραγματική μάχη]. net/c# Καλέστε την αναζήτηση elasticsearch μέσω NEST [με πηγαίο κώδικα]

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 20/12/2018 5:32:53 μ.μ. | | | |
ElasticSearch:

Το ES είναι μια πλατφόρμα αναζήτησης σχεδόν σε πραγματικό χρόνο που βασίζεται στο Lucene, η οποία παρέχει μια κατανεμημένη μηχανή αναζήτησης πλήρους κειμένου που χρησιμοποιεί το RESTful ως διεπαφή API για την ευρετηρίαση και την αναζήτηση ευρετηρίων και δεδομένων μέσω απλών λειτουργιών Get, Post και άλλων λειτουργιών.


Βασικές γνώσεις:

Εκμάθηση εγκατάστασης και ανάπτυξης του Centos 7 elasticsearch-6.5.2
https://www.itsvse.com/thread-6173-1-1.html
(Πηγή: Architect_Programmer)
Εγκαταστήστε το πρόσθετο elasticsearch-6.5.2 elasticsearch-head
https://www.itsvse.com/thread-6190-1-1.html
(Πηγή: Architect_Programmer)
Οδηγός για την εγκατάσταση του elasticsearch-analysis-ik στο elasticsearch-6.5.2
https://www.itsvse.com/thread-6191-1-1.html
(Πηγή: Architect_Programmer)

Εγκατάσταση:

Το NEST μπορεί να εγκατασταθεί χρησιμοποιώντας το nuget με την ακόλουθη εντολή:



Η έκδοση .NET απαιτεί τουλάχιστον 4.6, η οποία περιγράφεται λεπτομερώς ως εξής:Η σύνδεση με υπερσύνδεσμο είναι ορατή.

Γεια, απορρίψαμε την υποστήριξη .NET 4.5 για .netstandard1.3, το net46 είναι η νέα γραμμή βάσης.

Το κάναμε αυτό για να μπορέσουμε να αρχίσουμε να παρουσιάζουμε το netcoreapp2.1 TFM και να επικεντρωθούμε στο να φέρουμε όλη την εργασία απόδοσης στον πελάτη.

Μπορείτε να μας πείτε για το περιβάλλον σας;

Το .NET 4.5 ξεκίνησε το 2012 και μέχρι το 2014 μόνο το 4.5.2 υποστηρίχθηκε από τη Microsoft. Κάποια στιγμή, πρέπει να πάρουμε τη δύσκολη απόφαση να εγκαταλείψουμε την 4.5.2, ώστε να μπορέσουμε να επικεντρωθούμε περισσότερο στις τρέχουσες και νεότερες εκδόσεις .NET. Όπως ακριβώς τα παρατήσαμε πριν από μερικά χρόνια. NET 3.5, αυτό δεν είναι εύκολο έργο.


Δημιουργήστε ένα ευρετήριο:

Εάν το ευρετήριο δεν υπάρχει, χρησιμοποιήστε την ακόλουθη μέθοδο για να δημιουργήσετε μια αντιστοίχιση ταυτόχρονα με τη δημιουργία του ευρετηρίου

Στείλτε ένα αίτημα τοποθέτησης στη διεπαφή και τα δεδομένα json είναι τα εξής:


Πίσω:

{
"αναγνωρισμένο": αληθές,
"shards_acknowledged": αλήθεια,
"index": "δοκιμή1"
}

Οπως φαίνεται παρακάτω:



Προσθήκη τεκμηρίωσης:

Στην πραγματικότητα, για να προσθέσω δεδομένα, τα οποία είναι ισοδύναμα με τις σειρές της βάσης δεδομένων, συγκέντρωσα περίπου 163 ειδήσεις και πρόσθεσα με επιτυχία συνολικά 45 άρθρα, όπως φαίνεται στο παρακάτω σχήμα:



Δείτε τα προστιθέμενα δεδομένα μέσω της προσθήκης elasticsearch-head.



Προσθέστε χειροκίνητα ένα κομμάτι δεδομένων με κώδικα html, βάλτε το περιεχόμενο ως εξής:



Εισάγουμε ένα κομμάτι δεδομένων με ετικέτες HTML για να δοκιμάσουμε τη λειτουργία επισήμανσης, εάν θα ξεφύγουμε από τον αρχικό κώδικα html και js, διαφορετικά θα προκαλέσει επιθέσεις xss κ.λπ.

Αναζήτηση:

Αναζητήστε λέξεις-κλειδιά όπως "άνθρωπος" και "δοκιμή" μέσω του λογισμικού και θα εμφανιστούν τα σωστά αποτελέσματα αναζήτησης και θα εμφανιστεί το περιεχόμενο αιτήματος της ανάρτησης, το οποίο είναι βολικό για τον εντοπισμό σφαλμάτων, ως εξής:



Αναζητήστε δοκιμαστικές λέξεις-κλειδιά και βρείτε ότι ο κώδικας html που περιέχεται στην εγγραφή έχει διαφύγει με επιτυχία!

Ο πηγαίος κώδικας περιέχει το αρχείο txt ειδήσεων, το Winform καλεί τον πηγαίο κώδικα elasticsearch για λήψη:

Τουρίστες, αν θέλετε να δείτε το κρυφό περιεχόμενο αυτής της ανάρτησης, παρακαλώΑπάντηση





Προηγούμενος:Όταν ήρθα για πρώτη φορά στη ράμπα, μοιράστηκα το σεμινάριο σχεδίου μόδας με όλους
Επόμενος:CodeIgniter, ένα απλό και γρήγορο πλαίσιο PHP MVC
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 24/12/2018 11:03:23 π.μ. |
Δημιουργία κώδικα ευρετηρίου με ένθεση:
Μοντέλο:

Δείτε τη χαρτογράφηση: http://ip:9200/test2/_mapping?pretty



Δημοσιεύτηκε στις 28/12/2021 10:10:50 π.μ. |
Elasticsearch.Net.UnexpectedElasticsearchClientException: Δεν είναι δυνατή η αποσειριοποίηση του τρέχοντος αντικειμένου JSON (π.χ. {"name":"value"}) για να πληκτρολογήσετε 'System. Int64' επειδή ο τύπος απαιτεί βασικές τιμές JSON (π.χ. συμβολοσειρές, αριθμοί, booleans, nulls) για να αποσειριοποιηθούν σωστά. Για να επιλύσετε αυτό το σφάλμα, μπορείτε να αλλάξετε το JSON σε μια βασική τιμή JSON (π.χ. συμβολοσειρά, αριθμός, boolean, null) ή να αλλάξετε τον τύπο αποσειριοποίησης για να το κάνετε κανονικό. Οι τύποι .NET (π.χ. όχι πρωτόγονοι τύποι όπως ακέραιοι, όχι τύποι συλλογής) (π.χ. πίνακες ή λίστες), μπορούν να αποσειριοποιηθούν από αντικείμενα JSON. Μπορείτε επίσης να προσθέσετε ένα JsonObjectAttribute στον τύπο για να τον αναγκάσετε να αποσειριοποιηθεί από ένα αντικείμενο JSON. Διαδρομή "hits.total.value", γραμμή 1, θέση 113.


Είχα το ίδιο πρόβλημα και φαίνεται ότι η βιβλιοθήκη NEST 6.6.0 δεν είναι συμβατή με το Elasticsearch 7.0. Έπρεπε να ενημερώσω το NEST σε 7.0.0 (άλφα σε αυτό το σημείο).


Η αναβάθμιση του NEST λύνει αυτό το ζήτημα
Δημοσιεύτηκε στις 22/7/2019 3:20:56 μ.μ. |
1121695511 Δημοσιεύτηκε στις 2019-7-18 10:27
Χρέωσα ως μέλος, αλλά το κατέβασμα ήταν ακόμα το ίδιο λάθος με την προηγούμενη εφημερίδα. Ωχ. Είναι επίσης ένα σφάλμα ερωτήματος

Για να το διορθώσετε, το πρόγραμμα μπορεί να εκτελεστεί, αλλά προκαλείται από διαφορετική έκδοση από τη λήψη του elasticsearch
Δημοσιεύτηκε στις 21/12/2018 8:45:31 π.μ. |
Καθόλου άσχημα~ Για μένα, η αναζήτηση πλήρους κειμένου είναι πρόβλημα
Δημοσιεύτηκε στις 21/12/2018 12:09:32 μ.μ. |
Σας ευχαριστούμε που μοιραστήκατε, ας ρίξουμε μια ματιά
Δημοσιεύτηκε στις 12/5/2019 5:22:14 μ.μ. |
Ευχαριστώ ιδιοκτήτη. Είναι καλός άνθρωπος
Δημοσιεύτηκε στις 12/5/2019 5:35:00 μ.μ. |
Δεν μπορώ να κατέβω. Γεια. Πόντοι. Κυκλοφορία. Κάθε είδους επιθυμίες
Δημοσιεύτηκε στις 28/5/2019 5:53:48 μ.μ. |
Σας ευχαριστούμε που μοιραστήκατε, μάθατε!
Δημοσιεύτηκε στις 18/6/2019 6:12:40 μ.μ. |
Ευτυχώς, μπορείτε να το δοκιμάσετε.
Δημοσιεύτηκε στις 19/6/2019 5:28:18 μ.μ. |
Ένας καλός άνθρωπος έχει μια ασφαλή ζωή
Δημοσιεύτηκε στις 19/6/2019 6:07:29 μ.μ. |
Σας ευχαριστούμε που μοιραστήκατε, ας ρίξουμε μια ματιά
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com