SearchQuery

SearchQuery class

Representerar en sökfråga i objektform.

public abstract class SearchQuery

Egenskaper

namn Beskrivning
virtual ChildCount { get; } Hämtar antalet underordnade frågor.
virtual FieldName { get; } Hämtar fältnamnet.
virtual FirstChild { get; } Får den första underordnade frågan.
SearchOptions { get; set; } Hämtar eller ställer in sökalternativen för denna sökfråga.
virtual SecondChild { get; } Hämtar den andra underordnade frågan.

Metoder

namn Beskrivning
static CreateAndQuery(SearchQuery, SearchQuery) Skapar en kombinerad fråga som endast hittar dokument som kommer att hittas för varje ursprunglig fråga.
static CreateDateRangeQuery(DateTime, DateTime) Skapar en datumintervallfråga.
static CreateFieldQuery(string, SearchQuery) Lägger till ett fält i den angivna frågan.
static CreateNotQuery(SearchQuery) Skapar en inverterad fråga som hittar resten av dokumenten i ett index mot de som kommer att hittas för den ursprungliga frågan.
static CreateNumericRangeQuery(long, long) Skapar en numerisk intervallfråga.
static CreateOrQuery(SearchQuery, SearchQuery) Skapar en kombinerad fråga som hittar alla dokument som kommer att hittas för åtminstone en av de ursprungliga frågorna.
static CreatePhraseSearchQuery(params SearchQuery[]) Skapar en frassökning.
static CreateRegexQuery(string) Skapar en reguljär uttrycksfråga.
static CreateRegexQuery(string, RegexOptions) Skapar en reguljär uttrycksfråga.
static CreateWildcardQuery(int) Skapar ett jokertecken för frassökningen.
static CreateWildcardQuery(int, int) Skapar ett jokertecken för frassökningen.
static CreateWordPatternQuery(WordPattern) Skapar en ordmönsterfråga.
static CreateWordQuery(string) Skapar en enkel ordfråga.
abstract GetChild(int) Får en underordnad fråga med ett index.
abstract ToString() Returnerar enString som representerar strömmenSearchQuery instans.

Anmärkningar

Läs mer

Exempel

Exemplet visar en typisk användning av klassen.

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

Index index = new Index(indexFolder); // Skapar index i den angivna mappen
index.Add(documentsFolder); // Indexering av dokument från den angivna mappen

// Skapar underfråga till datumintervallsökning
SearchQuery subquery1 = SearchQuery.CreateDateRangeQuery(new DateTime(2011, 6, 17), new DateTime(2013, 1, 1));

// Skapar underfråga av jokertecken med antalet missade ord från 0 till 2
SearchQuery subquery2 = SearchQuery.CreateWildcardQuery(0, 2);

// Skapar underfråga av enkelt ord
SearchQuery subquery3 = SearchQuery.CreateWordQuery("birth");
subquery3.SearchOptions = new SearchOptions(); // Ställ in sökalternativ endast för delfråga 3
subquery3.SearchOptions.FuzzySearch.Enabled = true;
subquery3.SearchOptions.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(1);

// Kombinera delfrågor till en fråga
SearchQuery query = SearchQuery.CreatePhraseSearchQuery(subquery1, subquery2, subquery3);

// Skapar sökalternativsobjekt med ökad kapacitet för hittade förekomster
SearchOptions options = new SearchOptions(); // Övergripande sökalternativ
options.MaxOccurrenceCountPerTerm = 1000000;
options.MaxTotalOccurrenceCount = 10000000;

SearchResult result = index.Search(query, options); // Söker

Se även