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

Άποψη: 20947|Απάντηση: 1

Τα σύνθετα ερωτήματα ElasticSearch πρέπει, πρέπει, must_not χρησιμοποιούν

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 28/12/2018 12:01:09 μ.μ. | | |
Κοινό ερώτημα Bool: πρέπει, πρέπει, must_not

Αν θέλουμε να ζητήσουμε κάτι παρόμοιο με το "περιεχόμενο με BMW, αλλά όχι σε ετικέτα", πρέπει να χρησιμοποιήσουμε bool federated query.

Το κοινό ερώτημα θα χρησιμοποιήσει τρεις λέξεις-κλειδιά: πρέπει, πρέπει, must_not.

Αυτά τα τρία μπορούν να γίνουν κατανοητά με αυτόν τον τρόπο

must: Το έγγραφο πρέπει να ταιριάζει ακριβώς με τις συνθήκες
should: πρέπει να έχει περισσότερες από μία προϋποθέσεις, και εάν πληρούται τουλάχιστον μία προϋπόθεση, το παρόν έγγραφο θα πληροί
must_not:Το έγγραφο δεν πρέπει να πληροί τα κριτήρια

Εισαγωγή επίσημης ιστοσελίδας:https://www.elastic.co/guide/cn/ ... bining-filters.html

Ερώτημα DSL

match_all Ερώτημα

Όλα τα έγγραφα μπορούν να ερωτηθούν και είναι η προεπιλεγμένη δήλωση χωρίς συνθήκες ερωτήματος.


Αυτό το ερώτημα χρησιμοποιείται συχνά για τη συγχώνευση φίλτρων. Για παράδειγμα, πρέπει να ανακτήσετε όλα τα γραμματοκιβώτια και όλη η συνάφεια του εγγράφου είναι η ίδια, επομένως η _score που λαμβάνετε είναι 1.

Ερώτημα αντιστοίχισης

Ένα ερώτημα αντιστοίχισης είναι ένα τυπικό ερώτημα που χρησιμοποιείται βασικά είτε χρειάζεστε ένα ερώτημα πλήρους κειμένου είτε ένα ακριβές ερώτημα.

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



Εάν καθορίσετε μια ακριβή τιμή κάτω από την αντιστοίχιση, θα αναζητήσει τη δεδομένη τιμή σας όταν συναντήσει έναν αριθμό, ημερομηνία, δυαδική τιμή ή συμβολοσειρά not_analyzed:


Συμβουλή: Όταν κάνετε μια αναζήτηση ακριβούς αντιστοίχισης, είναι καλύτερο να χρησιμοποιείτε δηλώσεις φίλτρου, επειδή οι δηλώσεις φίλτρου αποθηκεύουν δεδομένα στην κρυφή μνήμη.

Ένα ερώτημα αντιστοίχισης μπορεί να αναζητήσει μόνο μια ακριβή τιμή που καθορίζει ένα ακριβές πεδίο και το μόνο που έχετε να κάνετε είναι να καθορίσετε το σωστό όνομα πεδίου για να αποφύγετε συντακτικά σφάλματα.

multi_match Ερώτημα

multi_match ερώτημα σάς επιτρέπει να κάνετε αναζήτηση σε πολλά πεδία ταυτόχρονα με βάση ένα ερώτημα αντιστοίχισης και να αναζητήσετε ένα σε πολλά πεδία ταυτόχρονα:


ερώτημα bool

Τα ερωτήματα bool είναι παρόμοια με το φιλτράρισμα bool και χρησιμοποιούνται για τη συγχώνευση πολλών ρητρών ερωτημάτων. Η διαφορά είναι ότι το φίλτρο bool μπορεί να δώσει απευθείας εάν η αντιστοίχιση είναι επιτυχής, ενώ το ερώτημα bool υπολογίζει το _score (βαθμολογία συσχέτισης) κάθε ρήτρας ερωτήματος.

must:: 查询指定文档一定要被包含。
must_not:: Τα έγγραφα που καθορίζονται από το ερώτημα δεν πρέπει να περιλαμβάνονται.
should:: 查询指定文档,有则可以为文档相关性加分。

Το παρακάτω ερώτημα θα διαπιστώσει ότι το πεδίο τίτλου περιέχει "πώς να κερδίσετε εκατομμύρια" και το πεδίο "ετικέτα" δεν έχει επισημανθεί ως ανεπιθύμητο. Εάν έχουν επισημανθεί ως "με αστέρι" ή έχουν ημερομηνία κυκλοφορίας πριν από το 2014, τότε αυτά τα έγγραφα που ταιριάζουν θα είναι σε υψηλότερο επίπεδο από παρόμοιους ιστότοπους:


Συμβουλή: Εάν δεν υπάρχει ρήτρα must κάτω από το ερώτημα bool, θα πρέπει να υπάρχει τουλάχιστον μία ρήτρα should. Αλλά αν υπάρχει ρήτρα must, τότε το ερώτημα μπορεί επίσης να γίνει χωρίς τη ρήτρα ανάγκης.

Ερώτημα χαρακτήρων μπαλαντέρ

Χρήση τυπικών ερωτημάτων μπαλαντέρ κελύφους

Το παρακάτω ερώτημα αντιστοιχεί σε έγγραφα που περιέχουν W1F 7HW και W2F 8HW:


Για παράδειγμα, το ακόλουθο ερώτημα για το όνομα κεντρικού υπολογιστή ταιριάζει με τον ακόλουθο χαρακτήρα μπαλαντέρ κελύφους:


ερώτημα regexp

Ας υποθέσουμε ότι θέλετε να αντιστοιχίσετε μόνο ταχυδρομικούς κώδικες που ξεκινούν με W ακολουθούμενο από αριθμούς. Η χρήση ερωτημάτων regexp σάς επιτρέπει να γράφετε πιο σύνθετα μοτίβα:



Αυτή η κανονική έκφραση καθορίζει ότι η καταχώριση πρέπει να ξεκινά με W, ακολουθούμενη από έναν αριθμό από το 0 έως το 9, ακολουθούμενο από έναν ή περισσότερους άλλους χαρακτήρες.

Το παρακάτω παράδειγμα είναι όλες οι κανονικές εκκινήσεις με wxopen


ερώτημα προθέματος

Με ποιον χαρακτήρα ξεκινά, μπορείτε να χρησιμοποιήσετε το πρόθεμα πιο απλά, όπως στο παρακάτω παράδειγμα:


Αντιστοίχιση φράσης

Όταν πρέπει να βρείτε μερικές λέξεις σε κοντινή απόσταση, χρησιμοποιείτε match_phrase ερώτημα:


Παρόμοια με τα ερωτήματα αντιστοίχισης, match_phrase ερώτημα αναλύει πρώτα τη συμβολοσειρά ερωτήματος για να δημιουργήσει μια λίστα όρων. Θα αναζητήσει όλες τις καταχωρήσεις,
Ωστόσο, διατηρούνται μόνο έγγραφα που περιέχουν όλους τους όρους αναζήτησης και οι θέσεις των όρων πρέπει να είναι γειτονικές. Ένα ερώτημα για τη φράση Quick Fox δεν θα ταιριάζει
οποιαδήποτε από τις τεκμηρίωσή μας, καθώς καμία τεκμηρίωση δεν περιέχει γρήγορες καταχωρήσεις και καταχωρήσεις κουτιού η μία δίπλα στην άλλη.
match_phrase ερώτημα μπορεί επίσης να γραφτεί ως ερώτημα αντιστοίχισης τύπου φράσης:







Προηγούμενος:Αγοράστηκε από το China Accounting Online School στις 18 Δεκεμβρίου (Στρατόπεδο Εκπαίδευσης Εκτελωνισμού Επιπέδου 6 Λογιστικής Πρακτικής)
Επόμενος:Το C# regex παίρνει την τιμή της ετικέτας A href στην HTML
Δημοσιεύτηκε στις 22/11/2022 2:25:30 μ.μ. |
Μάθετε es, ευχαριστώ ιδιοκτήτη
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com