SearchQuery

SearchQuery class

検索クエリをオブジェクト形式で表します。

public abstract class SearchQuery

プロパティ

名前 説明
virtual ChildCount { get; } 子クエリの数を取得します。
virtual FieldName { get; } フィールド名を取得します。
virtual FirstChild { get; } 最初の子クエリを取得します。
SearchOptions { get; set; } この検索クエリの検索オプションを取得または設定します。
virtual SecondChild { get; } 2 番目の子クエリを取得します。

メソッド

名前 説明
static CreateAndQuery(SearchQuery, SearchQuery) 元のクエリごとに検索されるドキュメントのみを検索する複合クエリを作成します。
static CreateDateRangeQuery(DateTime, DateTime) 日付範囲クエリを作成します。
static CreateFieldQuery(string, SearchQuery) 指定したクエリにフィールドを追加します。
static CreateNotQuery(SearchQuery) 元のクエリで見つかったドキュメントに対してインデックス内の残りのドキュメントを検索する逆クエリを作成します。
static CreateNumericRangeQuery(long, long) 数値範囲クエリを作成します。
static CreateOrQuery(SearchQuery, SearchQuery) 元のクエリの少なくとも 1 つで見つかったすべてのドキュメントを検索する複合クエリを作成します。
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);

// サブクエリを 1 つのクエリに結合
SearchQuery query = SearchQuery.CreatePhraseSearchQuery(subquery1, subquery2, subquery3);

// 見つかったオカレンスの容量を増やした検索オプション オブジェクトを作成する
SearchOptions options = new SearchOptions(); // 全体的な検索オプション
options.MaxOccurrenceCountPerTerm = 1000000;
options.MaxTotalOccurrenceCount = 10000000;

SearchResult result = index.Search(query, options); // 検索中

関連項目