データベース内で、文書すべての全文検索を実行します。
パラメータ | 説明 |
---|---|
query | フルテキストの照会です。以下の「照会構文」のセクションを参照してください。 |
max | 照会で返される文書の最大数。一致する文書すべてを受け取るには、このパラメータを 0 に設定します。 |
sortopt | 以下のソートオプションがあります。
|
otheropt | 追加の検索オプション。複数のオプションを指定するには、それらを追加します。
|
戻り値 | 説明 |
---|---|
NotesDocumentCollection | フルテキストの照会に一致した文書のコレクション。選択したオプションでソートされています。一致する文書が見つからない場合、コレクションの総数は 0 になります。 |
データベースが全文索引付きでない場合、このメソッドは有効ですが、効率は低下します。索引をテストするには、 isFTIndexed を使用します。 索引を作成するには、createFTIndex または updateFTIndex を使用します。
このメソッドは、デフォルトでは最大 5,000 文書を返します。notes.ini 変数 FT_MAX_SEARCH_RESULTS は、索引付きデータベースについてのこの制限より優先されます。絶対最大値は 2,147,483,647 です。
このメソッドでは、データベース内のすべての文書を検索します。特定のビューにある文書のみを検索するには、NotesView の FTSearch メソッドを使用してください。 特定の文書コレクション内の文書のみを検索するには、NotesDocumentCollection の FTSearch メソッドを使用してください。
ソートオプションを何も指定しないと、関連性スコアでソートされた文書が返されます。日付でのソートを要求すると、関連性スコアは得られません。
データベースにマルチデータベース索引がある場合は、マルチデータベース検索が実行されます。検索結果の文書コレクション内の移動には時間がかかる場合がありますが、そのコレクションからニュースレターを作成できます。NotesNewsletter オブジェクトは、文書コレクションで使用するソートオプションに応じて、文書作成日または関連性スコアのいずれかによって文書リンクレポートをフォーマットします。
語または句を検索するには、その語または句をそのまま入力します。ただし、検索キーワードを引用符で囲む必要があります。リテラル内の引用符は必ずエスケープしてください。
ワイルドカードや演算子などの構文も使用できます。詳細な構文規則については、『IBM Notes ヘルプ』の「演算子を使用して検索条件を絞り込む」を参照してください。Domino® Designer Eclipse のヘルプシステムまたはインフォメーションセンター (http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp など) で「照会構文」について検索してください (どちらも IBM Notes から利用できます)。
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);
}
}