FTSearchRange (NotesDatabase - JavaScript™)

データベース内で、文書すべての全文検索を実行します。

定義場所

NotesDatabase

構文

FTSearchRange(query:string, max:int, sortopt:int, otheropt:int, start:int) : NotesDocumentCollection
パラメータ 説明
query フルテキストの照会です。以下の「照会構文」のセクションを参照してください。
max 照会で返される文書の最大数。一致する文書すべてを受け取るには、このパラメータを 0 に設定します。
sortopt 以下のソートオプションがあります。
  • NotesDatabase.FT_SCORES 8 (デフォルト) とすると、関連性スコアでソートされます。コレクションを関連性でソートすると、最も関連性の高い文書が先頭に表示されます。 コレクション内の各文書の関連性スコアにアクセスするには、NotesDocumentFTSearchScore プロパティを使用します。
  • NotesDatabase.FFT_DATECREATED_DES 1542 を使用すると、文書の作成日を基準にして降順にソートされます。
  • NotesDatabase.FT_DATECREATED_ASC 1543 を使用すると、文書の作成日を基準にして昇順にソートされます。
  • NotesDatabase.FT_DATE_DES 32 を使用すると、文書の日付を基準にして降順にソートされます。
  • NotesDatabase.FT_DATE_ASC 64 を使用すると、文書の日付を基準にして昇順にソートされます。
otheropt 追加の検索オプション。複数のオプションを指定するには、それらを追加します。
  • NotesDatabase.FT_FUZZY 16384 とすると、あいまい検索が実行されます。
  • NotesDatabase.FT_STEMS 512 では、検索の基準として語幹語句が使用されます。
戻り値 説明
NotesDocumentCollection フルテキストの照会に一致した文書のコレクション。選択したオプションでソートされています。一致する文書が見つからない場合、コレクションの総数は 0 になります。

使用法

このメソッドは、FTSearch に start パラメータを追加したものと同じです。

データベースが全文索引付きでない場合、このメソッドは有効ですが、効率は低下します。索引をテストするには、 isFTIndexed を使用します。 索引を作成するには、createFTIndex または updateFTIndex を使用します。

このメソッドは、デフォルトでは最大 5,000 文書を返します。notes.ini 変数 FT_MAX_SEARCH_RESULTS は、索引付きデータベースについてのこの制限より優先されます。絶対最大値は 2,147,483,647 です。

このメソッドでは、データベース内のすべての文書を検索します。特定のビューにある文書のみを検索するには、NotesView の FTSearch メソッドを使用してください。 特定の文書コレクション内の文書のみを検索するには、NotesDocumentCollection の FTSearch メソッドを使用してください。

ソートオプションを何も指定しないと、関連性スコアでソートされた文書が返されます。日付でのソートを要求すると、関連性スコアは得られません。

データベースにマルチデータベース索引がある場合は、マルチデータベース検索が実行されます。検索結果の文書コレクション内の移動には時間がかかる場合がありますが、そのコレクションからニュースレターを作成できます。NotesNewsletter オブジェクトは、文書コレクションで使用するソートオプションに応じて、文書作成日または関連性スコアのいずれかによって文書リンクレポートをフォーマットします。

照会構文

語または句を検索するには、その語または句をそのまま入力します。ただし、検索キーワードを引用符で囲む必要があります。リテラル内の引用符は必ずエスケープしてください。

ワイルドカードや演算子などの構文も使用できます。詳細な構文規則については、『IBM Notes ヘルプ』の「演算子を使用して検索条件を絞り込む」を参照してください。IBM Domino Designer Eclipse ヘルプシステムで「照会構文」について検索することもできます。

以下のボタンは、現在のデータベース内にある文書のうち、ユーザー指定の文字列を含むすべての文書を 8 つずつのグループで返します。
database.updateFTIndex(true);
var query:string = requestScope.query;
if (!query.isEmpty()) {
	query = "¥"" + query + "¥"";
	var start:int = 1;
	// Get the first 8 documents that match the query
	var dc:NotesDocumentCollection = database.FTSearchRange(query, 8,
	NotesDatabase.FT_SCORES, NotesDatabase.FT_STEMS, start);
	if (dc.getCount() == 0) {
		requestScope.status = "No matches";
		return;
	}
	requestScope.status = "";
	while (dc.getCount() > 0) {
		// Display subject for documents matching query
		requestScope.status = requestScope.status + "¥nSearch results "
		+ start + " - " + (start - 1 + dc.getCount());
		var doc:NotesDocument = dc.getFirstDocument();
		while (doc != null) {
			requestScope.status = requestScope.status + "¥n¥t" + doc.getItemValueString("Subject");
			var tmpdoc = dc.getNextDocument();
			doc.recycle();
			doc = tmpdoc;
		}
		// Get next 8 documents that match the query
		start = start + 8;
		dc = database.FTSearchRange(query, 8,
	NotesDatabase.FT_SCORES, NotesDatabase.FT_STEMS, start);
	}
}

言語間の参照

LotusScript® NotesDatabase クラスの FTSearchRange メソッド

Java Database クラスの FTSearchRange メソッド