SearchQuery

SearchQuery class

Représente une requête de recherche sous forme d’objet.

public abstract class SearchQuery

Propriétés

Nom La description
virtual ChildCount { get; } Obtient le nombre de requêtes enfants.
virtual FieldName { get; } Obtient le nom du champ.
virtual FirstChild { get; } Obtient la première requête enfant.
SearchOptions { get; set; } Obtient ou définit les options de recherche de cette requête de recherche.
virtual SecondChild { get; } Obtient la deuxième requête enfant.

Méthodes

Nom La description
static CreateAndQuery(SearchQuery, SearchQuery) Crée une requête combinée qui ne trouvera que les documents qui seront trouvés pour chaque requête d’origine.
static CreateDateRangeQuery(DateTime, DateTime) Crée une requête de plage de dates.
static CreateFieldQuery(string, SearchQuery) Ajoute un champ à la requête spécifiée.
static CreateNotQuery(SearchQuery) Crée une requête inversée qui trouvera les autres documents dans un index par rapport à ceux qui seront trouvés pour la requête d’origine.
static CreateNumericRangeQuery(long, long) Crée une requête de plage numérique.
static CreateOrQuery(SearchQuery, SearchQuery) Crée une requête combinée qui trouvera tous les documents qui seront trouvés au moins pour une des requêtes d’origine.
static CreatePhraseSearchQuery(params SearchQuery[]) Crée une requête de recherche d’expression.
static CreateRegexQuery(string) Crée une requête d’expression régulière.
static CreateRegexQuery(string, RegexOptions) Crée une requête d’expression régulière.
static CreateWildcardQuery(int) Crée un caractère générique pour la recherche d’expression.
static CreateWildcardQuery(int, int) Crée un caractère générique pour la recherche d’expression.
static CreateWordPatternQuery(WordPattern) Crée une requête de modèle de mot.
static CreateWordQuery(string) Crée une requête de mot simple.
abstract GetChild(int) Obtient une requête enfant par un index.
abstract ToString() Renvoie unString qui représente le courantSearchQuery instance.

Remarques

Apprendre encore plus

Exemples

L’exemple montre une utilisation typique de la classe.

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

Index index = new Index(indexFolder); // Création d'un index dans le dossier spécifié
index.Add(documentsFolder); // Indexation des documents du dossier spécifié

// Création d'une sous-requête de recherche par plage de dates
SearchQuery subquery1 = SearchQuery.CreateDateRangeQuery(new DateTime(2011, 6, 17), new DateTime(2013, 1, 1));

// Création d'une sous-requête de caractère générique avec un nombre de mots manqués de 0 à 2
SearchQuery subquery2 = SearchQuery.CreateWildcardQuery(0, 2);

// Création d'une sous-requête de mot simple
SearchQuery subquery3 = SearchQuery.CreateWordQuery("birth");
subquery3.SearchOptions = new SearchOptions(); // Définition des options de recherche uniquement pour la sous-requête 3
subquery3.SearchOptions.FuzzySearch.Enabled = true;
subquery3.SearchOptions.FuzzySearch.FuzzyAlgorithm = new TableDiscreteFunction(1);

// Combinaison de sous-requêtes en une seule requête
SearchQuery query = SearchQuery.CreatePhraseSearchQuery(subquery1, subquery2, subquery3);

// Création d'un objet d'options de recherche avec une capacité accrue d'occurrences trouvées
SearchOptions options = new SearchOptions(); // Options de recherche globales
options.MaxOccurrenceCountPerTerm = 1000000;
options.MaxTotalOccurrenceCount = 10000000;

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

Voir également