SearchQuery

SearchQuery class

Stellt eine Suchanfrage in Objektform dar.

public abstract class SearchQuery

Eigenschaften

Name Beschreibung
virtual ChildCount { get; } Ruft die Anzahl der untergeordneten Abfragen ab.
virtual FieldName { get; } Ruft den Feldnamen ab.
virtual FirstChild { get; } Ruft die erste untergeordnete Abfrage ab.
SearchOptions { get; set; } Ruft die Suchoptionen dieser Suchanfrage ab oder setzt sie.
virtual SecondChild { get; } Ruft die zweite untergeordnete Abfrage ab.

Methoden

Name Beschreibung
static CreateAndQuery(SearchQuery, SearchQuery) Erstellt eine kombinierte Abfrage, die nur Dokumente findet, die für jede ursprüngliche Abfrage gefunden werden.
static CreateDateRangeQuery(DateTime, DateTime) Erstellt eine Datumsbereichsabfrage.
static CreateFieldQuery(string, SearchQuery) Fügt der angegebenen Abfrage ein Feld hinzu.
static CreateNotQuery(SearchQuery) Erstellt eine invertierte Abfrage, die die restlichen Dokumente in einem Index gegen diejenigen findet, die für die ursprüngliche Abfrage gefunden werden.
static CreateNumericRangeQuery(long, long) Erstellt eine numerische Bereichsabfrage.
static CreateOrQuery(SearchQuery, SearchQuery) Erstellt eine kombinierte Abfrage, die alle Dokumente findet, die mindestens für eine der ursprünglichen Abfragen gefunden werden.
static CreatePhraseSearchQuery(params SearchQuery[]) Erstellt eine Wortgruppensuchabfrage.
static CreateRegexQuery(string) Erstellt eine Abfrage mit regulären Ausdrücken.
static CreateRegexQuery(string, RegexOptions) Erstellt eine Abfrage mit regulären Ausdrücken.
static CreateWildcardQuery(int) Erstellt einen Platzhalter für die Phrasensuche.
static CreateWildcardQuery(int, int) Erstellt einen Platzhalter für die Phrasensuche.
static CreateWordPatternQuery(WordPattern) Erstellt eine Wortmusterabfrage.
static CreateWordQuery(string) Erstellt eine einfache Wortabfrage.
abstract GetChild(int) Ruft eine untergeordnete Abfrage durch einen Index ab.
abstract ToString() Gibt a zurückString das repräsentiert den StromSearchQuery Instanz.

Bemerkungen

Erfahren Sie mehr

Beispiele

Das Beispiel zeigt eine typische Verwendung der Klasse.

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

Index index = new Index(indexFolder); // Index im angegebenen Ordner erstellen
index.Add(documentsFolder); // Indizierung von Dokumenten aus dem angegebenen Ordner

// Unterabfrage der Datumsbereichssuche erstellen
SearchQuery subquery1 = SearchQuery.CreateDateRangeQuery(new DateTime(2011, 6, 17), new DateTime(2013, 1, 1));

// Erstellen einer Unterabfrage des Platzhalters mit der Anzahl der fehlenden Wörter von 0 bis 2
SearchQuery subquery2 = SearchQuery.CreateWildcardQuery(0, 2);

// Unterabfrage eines einfachen Wortes erstellen
SearchQuery subquery3 = SearchQuery.CreateWordQuery("birth");
subquery3.SearchOptions = new SearchOptions(); // Suchoptionen nur für Unterabfrage 3 setzen
subquery3.SearchOptions.FuzzySearch.Enabled = true;
subquery3.SearchOptions.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(1);

// Kombinieren von Unterabfragen zu einer Abfrage
SearchQuery query = SearchQuery.CreatePhraseSearchQuery(subquery1, subquery2, subquery3);

// Suchoptionsobjekt mit erhöhter Kapazität gefundener Vorkommen erstellen
SearchOptions options = new SearchOptions(); // Allgemeine Suchoptionen
options.MaxOccurrenceCountPerTerm = 1000000;
options.MaxTotalOccurrenceCount = 10000000;

SearchResult result = index.Search(query, options); // Suchen

Siehe auch