|
|
Δημοσιεύτηκε στιςΧθες στις 20:20
|
|
|
|

Η αναζήτηση πλήρους κειμένου είναι ένα προαιρετικό στοιχείο του μηχανισμού βάσης δεδομένων του SQL Server. Εάν δεν επιλέξατε αναζήτηση πλήρους κειμένου κατά την εγκατάσταση του SQL Server, εκτελέστε ξανά το πρόγραμμα εγκατάστασης του SQL Server για να το προσθέσετε.
Επισκόπηση
Ένα ευρετήριο πλήρους κειμένου περιλαμβάνει μία ή περισσότερες στήλες που βασίζονται σε χαρακτήρες σε έναν πίνακα. Αυτές οι στήλες μπορούν να έχουν οποιονδήποτε από τους ακόλουθους τύπους δεδομένων: char, varchar, nchar, nvarchar, text, ntext, image, xml ή varbinary(max) και FILESTREAM. Κάθε ευρετήριο πλήρους κειμένου δημιουργεί ένα ευρετήριο για μία ή περισσότερες στήλες στον πίνακα και κάθε στήλη μπορεί να χρησιμοποιεί μια συγκεκριμένη γλώσσα.
Τα ερωτήματα πλήρους κειμένου λειτουργούν σε λέξεις και φράσεις σύμφωνα με τους κανόνες συγκεκριμένων γλωσσών (όπως τα αγγλικά ή τα ιαπωνικά), εκτελώντας έτσι αναζητήσεις γλώσσας με βάση τα δεδομένα κειμένου στο ευρετήριο πλήρους κειμένου. Τα ερωτήματα πλήρους κειμένου μπορεί να περιλαμβάνουν απλές λέξεις και φράσεις ή πολλαπλές μορφές λέξεων ή φράσεων. Ένα ερώτημα πλήρους κειμένου επιστρέφει όλα τα έγγραφα που περιέχουν τουλάχιστον μία αντιστοίχιση (γνωστή και ως "επίσκεψη"). Μια αντιστοίχιση προκύπτει όταν το έγγραφο προορισμού περιέχει όλους τους όρους που καθορίζονται στο ερώτημα πλήρους κειμένου και ταιριάζει με οποιαδήποτε άλλα κριτήρια αναζήτησης (όπως η απόσταση μεταξύ των όρων που ταιριάζουν).
Εγκατάσταση υπηρεσίας αναζήτησης πλήρους κειμένου Linux Docker MSSQL 2022
Οι παραπομπές είναι οι εξής:
Ελέγξτε εάν είναι εγκατεστημένη η δυνατότητα αναζήτησης πλήρους κειμένου του SQL SERVER
Η εντολή είναι η εξής:
Αναζήτηση πλήρους κειμένου του SQL Server, ευρετήριο πλήρους κειμένου
Αρχικά, δημιουργήστε μια νέα βιβλιοθήκη δοκιμών και εισαγάγετε δεδομένα δοκιμής. Το σενάριο έχει ως εξής:
Δημιουργία πίνακα περιεχομένων πλήρους κειμένου
Ένας πίνακας περιεχομένων πλήρους κειμένου χρησιμοποιείται για την αποθήκευση του ευρετηρίου πλήρους κειμένου. Μπορείτε να το δημιουργήσετε απευθείας χρησιμοποιώντας τα ακόλουθα σενάρια:
Δημιουργία ευρετηρίων πλήρους κειμένου για πίνακες βάσεων δεδομένων
Όταν δημιουργείτε ένα ευρετήριο πλήρους κειμένου για έναν πίνακα βάσης δεδομένων, πρέπει να καθορίσετε την αντίστοιχη γλώσσα. Επειδή η τμηματοποίηση λέξεων διαφέρει μεταξύ των γλωσσών, ο SQL Server θα χρησιμοποιήσει την τμηματοποίηση λέξεων της αντίστοιχης γλώσσας για την επεξεργασία των δεδομένων στον πίνακα. Η αναζήτηση πλήρους κειμένου του SQL Server υποστηρίζει περίπου 50 διαφορετικές γλώσσες, επιτρέποντάς σας να προβάλετε όλες τις υποστηριζόμενες γλώσσες υποβάλλοντας ερωτήματα sys.fulltext_languages πίνακες. Εντολή:
Οπως φαίνεται παρακάτω:
Στη συνέχεια, προσθέτουμε ένα ευρετήριο πλήρους κειμένου για τα Απλοποιημένα Κινεζικά στα πεδία Τίτλος και Περιεχόμενο στον πίνακα Ειδήσεις:
Αναζήτηση πλήρους κειμένου για κατηγορήματα και συναρτήσεις
Τα ερωτήματα πλήρους κειμένου χρησιμοποιούν κατηγορήματα πλήρους κειμένου (ΠΕΡΙΕΧΕΙκαιΕΛΕΥΘΕΡΟ ΚΕΙΜΕΝΟ) και συναρτήσεις πλήρους κειμένου (ΠΕΡΙΕΧΕΙΣΤΑΘΕΡΟκαιΠΊΝΑΚΑΣ ΕΛΕΎΘΕΡΟΥ ΚΕΙΜΈΝΟΥ)。 Υποστηρίζουν τη σύνθετη σύνταξη Transact-SQL, η οποία υποστηρίζει διάφορες μορφές όρων ερωτημάτων.
Η διαφορά μεταξύ CONTAINS και FREETEXT
CONTAINS: Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Χρησιμοποιήστε ακριβείς μεθόδους αντιστοίχισης για να βρείτε συγκεκριμένες λέξεις ή φράσεις στο κείμενο. Υποστηρίζει σύνθετες συνθήκες ερωτήματος, όπως αναζήτηση εγγύτητας (για παράδειγμα, οι λέξεις πρέπει να εμφανίζονται η μία κοντά στην άλλη), αναζήτηση προθέματος και πολλά άλλα. Συνήθως χρησιμοποιείται σε περιπτώσεις όπου απαιτείται πιο συγκεκριμένος έλεγχος στα αποτελέσματα αναζήτησης.
FREETEXT: Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Παρέχει μια πιο ευέλικτη και βασισμένη σε φυσική γλώσσα εμπειρία αναζήτησης. Δεν απαιτούνται ειδικά κριτήρια αναζήτησης. Αναλύει αυτόματα το κείμενο εισαγωγής και προσπαθεί να βρει σχετικό περιεχόμενο. Είναι πιο κατάλληλο για χρήστες που θέλουν να πραγματοποιούν απλές αναζητήσεις λέξεων-κλειδιών όπως το Google, χωρίς να ανησυχούν για συγκεκριμένες τοποθεσίες ή μορφές.
Οι εντολές είναι οι εξής:
Οπως φαίνεται παρακάτω:
CONTAINSTABLE και FREETEXTTABLE
Το CONTAINSTABLE επιστρέφει πίνακες που πληρούν τα κριτήρια ερωτήματος. Στις δηλώσεις SQL, μπορούμε να τις αντιμετωπίσουμε ως κανονικούς πίνακες και τα ερωτήματα που χρησιμοποιούν το CONTAINSTABLE επιστρέφουν μια τιμή RANK και ένα KEY για κάθε σειρά. Το RANK χρησιμοποιείται για να υποδείξει τον βαθμό αντιστοίχισης συσχέτισης, με τιμές μεταξύ 0~1000, και το KEY είναι το αναγνωριστικό του κύριου πίνακα. Το FREETEXTTABLE τμηματοποιεί πρώτα τις λέξεις και τις προτάσεις που θα ερωτηθούν και μετά ερωτήματα για αντιστοίχιση. Η εντολή είναι η εξής:
Οπως φαίνεται παρακάτω:
Επιπλέον, μπορείτε να ελέγξετε τα αποτελέσματα τμηματοποίησης ρωτώντας sys.dm_fts_parser:
Οπως φαίνεται παρακάτω:
ζήτημα
Ερώτηση: Το CONTAINS δεν υποστηρίζει ασαφή ερωτήματα από προεπιλογή. Εάν εισαγάγετε CONTAINS(Στήλη, 'μήλο'), θα ταιριάζει με τη ρίζα της λέξης (π.χ. μήλα) αλλά όχι με τον ανανά. Λύση: Εάν χρειάζονται ασαφή ερωτήματα, πρέπει να τοποθετηθούν πριν και μετά τους χαρακτήρες μπαλαντέρΠροσθέστε διπλά εισαγωγικά και έναν αστερίσκο:CONTAINS(Στήλη, '"*μήλο*"')
Αναφορά:
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή. |
Προηγούμενος:Ιστότοπος πλατφόρμας απομακρυσμένης εργασίας, εργασίας και ανεξάρτητης εργασίας
|