SearchQuery

SearchQuery class

Αντιπροσωπεύει ένα ερώτημα αναζήτησης σε μορφή αντικειμένου.

public abstract class SearchQuery

Ιδιότητες

Ονομα Περιγραφή
virtual ChildCount { get; } Λαμβάνει τον αριθμό των θυγατρικών ερωτημάτων.
virtual FieldName { get; } Λαμβάνει το όνομα του πεδίου.
virtual FirstChild { get; } Λαμβάνει το πρώτο θυγατρικό ερώτημα.
SearchOptions { get; set; } Λαμβάνει ή ορίζει τις επιλογές αναζήτησης αυτού του ερωτήματος αναζήτησης.
virtual SecondChild { get; } Λαμβάνει το δεύτερο θυγατρικό ερώτημα.

Μέθοδοι

Ονομα Περιγραφή
static CreateAndQuery(SearchQuery, SearchQuery) Δημιουργεί ένα συνδυασμένο ερώτημα που θα βρει μόνο έγγραφα που θα βρεθούν για κάθε αρχικό ερώτημα.
static CreateDateRangeQuery(DateTime, DateTime) Δημιουργεί ένα ερώτημα εύρους ημερομηνιών.
static CreateFieldQuery(string, SearchQuery) Προσθέτει ένα πεδίο στο καθορισμένο ερώτημα.
static CreateNotQuery(SearchQuery) Δημιουργεί ένα ανεστραμμένο ερώτημα που θα βρει τα υπόλοιπα έγγραφα σε ένα ευρετήριο έναντι αυτών που θα βρεθούν για το αρχικό ερώτημα.
static CreateNumericRangeQuery(long, long) Δημιουργεί ένα ερώτημα αριθμητικής περιοχής.
static CreateOrQuery(SearchQuery, SearchQuery) Δημιουργεί ένα συνδυασμένο ερώτημα που θα βρει όλα τα έγγραφα που θα βρεθούν τουλάχιστον για ένα από τα αρχικά ερωτήματα.
static CreatePhraseSearchQuery(params SearchQuery[]) Δημιουργεί ένα ερώτημα αναζήτησης φράσης.
static CreateRegexQuery(string) Δημιουργεί ένα ερώτημα τυπικής έκφρασης.
static CreateRegexQuery(string, RegexOptions) Δημιουργεί ένα ερώτημα τυπικής έκφρασης.
static CreateWildcardQuery(int) Δημιουργεί έναν μπαλαντέρ για την αναζήτηση φράσης.
static CreateWildcardQuery(int, int) Δημιουργεί έναν μπαλαντέρ για την αναζήτηση φράσης.
static CreateWordPatternQuery(WordPattern) Δημιουργεί ένα ερώτημα μοτίβου λέξης.
static CreateWordQuery(string) Δημιουργεί ένα απλό ερώτημα λέξης.
abstract GetChild(int) Λαμβάνει ένα θυγατρικό ερώτημα από ένα ευρετήριο.
abstract ToString() Επιστρέφει αString που αντιπροσωπεύει το ρεύμαSearchQuery παράδειγμα.

Παρατηρήσεις

Μάθε περισσότερα

Παραδείγματα

Το παράδειγμα δείχνει μια τυπική χρήση της κλάσης.

string indexFolder = @"c:\MyIndex\";
string documentsFolder = @"c:\MyDocuments\";

Index index = new Index(indexFolder); // Δημιουργία ευρετηρίου στον καθορισμένο φάκελο
index.Add(documentsFolder); // Δημιουργία ευρετηρίου εγγράφων από τον καθορισμένο φάκελο

// Δημιουργία υποερωτήματος αναζήτησης εύρους ημερομηνιών
SearchQuery subquery1 = SearchQuery.CreateDateRangeQuery(new DateTime(2011, 6, 17), new DateTime(2013, 1, 1));

// Δημιουργία υποερωτήματος μπαλαντέρ με αριθμό χαμένων λέξεων από 0 έως 2
SearchQuery subquery2 = SearchQuery.CreateWildcardQuery(0, 2);

// Δημιουργία υποερωτήματος απλής λέξης
SearchQuery subquery3 = SearchQuery.CreateWordQuery("birth");
subquery3.SearchOptions = new SearchOptions(); // Ρύθμιση επιλογών αναζήτησης μόνο για το δευτερεύον ερώτημα 3
subquery3.SearchOptions.FuzzySearch.Enabled = true;
subquery3.SearchOptions.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(1);

// Συνδυασμός υποερωτημάτων σε ένα ερώτημα
SearchQuery query = SearchQuery.CreatePhraseSearchQuery(subquery1, subquery2, subquery3);

// Δημιουργία αντικειμένου επιλογών αναζήτησης με αυξημένη χωρητικότητα εντοπισμένων εμφανίσεων
SearchOptions options = new SearchOptions(); // Συνολικές επιλογές αναζήτησης
options.MaxOccurrenceCountPerTerm = 1000000;
options.MaxTotalOccurrenceCount = 10000000;

SearchResult result = index.Search(query, options); // Αναζήτηση

Δείτε επίσης