SearchQuery

SearchQuery class

Rappresenta una query di ricerca sotto forma di oggetto.

public abstract class SearchQuery

Proprietà

Nome Descrizione
virtual ChildCount { get; } Ottiene il numero di query secondarie.
virtual FieldName { get; } Ottiene il nome del campo.
virtual FirstChild { get; } Ottiene la prima query figlio.
SearchOptions { get; set; } Ottiene o imposta le opzioni di ricerca di questa query di ricerca.
virtual SecondChild { get; } Ottiene la seconda query figlio.

Metodi

Nome Descrizione
static CreateAndQuery(SearchQuery, SearchQuery) Crea una query combinata che troverà solo i documenti che verranno trovati per ciascuna query originale.
static CreateDateRangeQuery(DateTime, DateTime) Crea una query per intervallo di date.
static CreateFieldQuery(string, SearchQuery) Aggiunge un campo alla query specificata.
static CreateNotQuery(SearchQuery) Crea una query invertita che troverà i documenti rimanenti in un indice rispetto a quelli che verranno trovati per la query originale.
static CreateNumericRangeQuery(long, long) Crea una query di intervallo numerico.
static CreateOrQuery(SearchQuery, SearchQuery) Crea una query combinata che troverà tutti i documenti che verranno trovati almeno per una delle query originali.
static CreatePhraseSearchQuery(params SearchQuery[]) Crea una query di ricerca per frase.
static CreateRegexQuery(string) Crea una query di espressione regolare.
static CreateRegexQuery(string, RegexOptions) Crea una query di espressione regolare.
static CreateWildcardQuery(int) Crea un carattere jolly per la ricerca della frase.
static CreateWildcardQuery(int, int) Crea un carattere jolly per la ricerca della frase.
static CreateWordPatternQuery(WordPattern) Crea una query modello di parola.
static CreateWordQuery(string) Crea una semplice query di parole.
abstract GetChild(int) Ottiene una query figlio da un indice.
abstract ToString() Restituisce aString che rappresenta la correnteSearchQuery istanza.

Osservazioni

Saperne di più

Esempi

L’esempio mostra un utilizzo tipico della classe.

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

Index index = new Index(indexFolder); // Creazione dell'indice nella cartella specificata
index.Add(documentsFolder); // Indicizzazione dei documenti dalla cartella specificata

// Creazione di una sottoquery della ricerca per intervallo di date
SearchQuery subquery1 = SearchQuery.CreateDateRangeQuery(new DateTime(2011, 6, 17), new DateTime(2013, 1, 1));

// Creazione di una sottoquery di caratteri jolly con numero di parole mancanti da 0 a 2
SearchQuery subquery2 = SearchQuery.CreateWildcardQuery(0, 2);

// Creazione di una sottoquery di una parola semplice
SearchQuery subquery3 = SearchQuery.CreateWordQuery("birth");
subquery3.SearchOptions = new SearchOptions(); // Impostazione delle opzioni di ricerca solo per la sottoquery 3
subquery3.SearchOptions.FuzzySearch.Enabled = true;
subquery3.SearchOptions.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(1);

// Combina le sottoquery in un'unica query
SearchQuery query = SearchQuery.CreatePhraseSearchQuery(subquery1, subquery2, subquery3);

// Creazione di un oggetto delle opzioni di ricerca con una maggiore capacità di occorrenze trovate
SearchOptions options = new SearchOptions(); // Opzioni generali di ricerca
options.MaxOccurrenceCountPerTerm = 1000000;
options.MaxTotalOccurrenceCount = 10000000;

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

Guarda anche