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); // Идет поиск

Смотрите также