LOTUSSCRIPT /COM/OLE のクラス


UnprocessedFTSearchRange メソッド

現在のエージェントが未処理と判断するデータベース内の文書を全文検索します。

メモ このメソッドは R6 で新しく追加されました。

メモ このメソッドは COM では実装されていません。

定義位置

NotesDatabase

構文

Set notesDocumentCollection = notesDatabase.UnprocessedFTSearchRange( query$, maxdocs%, [ sortoptions% ], [ otheroptions% ], [ start&] )

パラメータ

query$


maxdocs%
sortoptions% otheroptions% start&
戻り値

notesDocumentCollection


使用法

このメソッドは、start のパラメータがある以外は UnprocessedFTSearch と同じです。

このメソッドはエージェントスクリプトとビューアクションだけに有効です。また、NotesSession の CurrentDatabase プロパティから取得された NotesDatabase オブジェクトだけに呼び出されることがあります。エージェントまたはビューアクションに含まれないスクリプトでは、このメソッドは文書が 1 つも入っていない NotesDocumentCollection を返します。CurrentDatabase プロパティから取得されていない NotesDatabase オブジェクトで呼び出されたときは、このメソッドはエラーとなります。

動作

このメソッドは次の 2 段階で動作します。


たとえば、ビューのすべての選択文書を対象に実行されるエージェントの場合、UnprocessedFTSearch は選択文書だけを検索して、条件に一致する文書を返します。前回の実行以降に作成または変更された文書を対象とするエージェントの場合、UnprocessedFTSearch は NotesSession の UpdateProcessedDoc メソッドが処理済みのマークを付けていない文書だけを検索して、条件と一致する文書を返します。

返される文書

次の表は UnprocessedFTSearch メソッドが返す文書を示します。エージェントを実行する前に文書が 1 回選択されます。
エージェントの実行対象UnprocessedFTSearch によって返される文書が満たさなければならないすべての条件
データベースのすべての文書[エージェントのプロパティ] インフォボックスで指定された検索条件を満たすこと

このメソッドで指定された全文検索の条件を満たすこと

すべての新規作成または更新された文書このエージェントが UpdateProcessedDoc で処理していないこと

エージェントが最後に実行されてから新規作成または更新されていること

[エージェントのプロパティ] インフォボックスで指定された検索条件を満たすこと

このメソッドで指定された全文検索の条件を満たすこと

ビューのすべての未読文書ビューにある未読文書

[エージェントのプロパティ] インフォボックスで指定された検索条件を満たすこと

このメソッドで指定された全文検索の条件を満たすこと

ビューのすべての文書ビューにある文書

[エージェントのプロパティ] インフォボックスで指定された検索条件を満たすこと

このメソッドで指定された全文検索の条件を満たすこと

選択されたすべての文書

または

ビューアクション

ビューで選択されている文書

[エージェントのプロパティ] インフォボックスで指定された検索条件を満たすこと

このメソッドで指定された全文検索の条件を満たすこと

なし現在の文書のみ
新規に受信したメール文書このエージェントが UpdateProcessedDoc で処理していないこと

エージェントの最終実行後にデータベースに送信されたこと

[エージェントのプロパティ] インフォボックスで指定された検索条件を満たすこと

このメソッドで指定された全文検索の条件を満たすこと

新規に更新された文書このエージェントが UpdateProcessedDoc で処理していないこと

エージェントの最終実行後に更新されたこと

[エージェントのプロパティ] インフォボックスで指定された検索条件を満たすこと

このメソッドで指定された全文検索の条件を満たすこと

追加された文書このエージェントが UpdateProcessedDoc で処理していないこと

エージェントの最終実行後にデータベースに追加されたこと

[エージェントのプロパティ] インフォボックスで指定された検索条件を満たすこと

このメソッドで指定された全文検索の条件を満たすこと


UpdateProcessedDoc の使い方

新規作成および変更された文書、新規に受信したメール文書、新規に追加された文書、新規に変更された文書で実行されるエージェントの場合、NotesSession の UpdateProcessedDoc メソッドを使用して、各文書を「処理済み」にします。「処理済み」にすると、再び変更、メール送信、追加をされないかぎり、エージェントはその文書を処理しません。各文書についてこのメソッドを呼び出さないときは、エージェントは次の実行で同じ文書を処理してしまいます。

UpdateProcessedDoc が処理済みのマークを付けるのは、このメソッドの呼び出し元の特定のエージェントが処理した文書だけです。あるエージェントで UpdateProcessedDoc を使用しても、他のエージェントが処理する文書には影響がありません。

UpdateProcessedDoc は他のすべてのエージェントとビューアクションに影響を与えません。

ビューアクション

ビューアクションで使用されるとき、UnprocessedFTSearch は選択文書で実行されるエージェントの場合と同じ文書を返します。

全文索引

データベースに全文索引が作成されていなくてもこのメソッドは動作しますが、処理効率は低下します。索引があるかどうかを調べるには NotesDatabase の IsFTIndexed プロパティを使用します。全文索引が変更後に更新されていない場合、データベースの内容を完全には反映しません。ローカルデータベース上で索引の作成や更新を行うには、UpdateFTIndex メソッドを使用します。

デフォルトでは、このメソッドは最大 5,000 件の文書を返します。索引付きのデータベースまたは索引は付いていないがクライアントのエージェントで実行されているデータベースの場合は、Notes.ini 変数 FT_MAX_SEARCH_RESULTS でこの制限を変更します。索引が付いておらず、サーバーのエージェントで実行されているデータベースの場合は、Notes.ini 変数 TEMP_INDEX_MAX_DOC も設定する必要があります。絶対的な最大値は 2,147,483,647 となります。

オプション

ソートオプションを何も指定しない場合は、文書は適合スコアでソートされます。コレクションは適合スコアでソートされ、適合性の一番高いものから順に配置されます。コレクションの各文書の適合スコアにアクセスするには、NotesDocument の FTSearchScore を使用します。

日付順のソートを指定すると、適合スコアは取得できません。結果の NotesDocumentCollection を NotesNewsletter オブジェクトへ渡す場合、文書リンクは使用したソートオプションに応じて文書作成日か適合スコアでフォーマットされます。

クエリー構文

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

ワイルドカード、演算子、およびその他のクエリー構文も使用できます。構文規則については、『Lotus Notes ヘルプ』の「特定のテキストを含む文書をデータベースで検索する」を参照してください。

クロスリファレンス

Java AgentContext クラスの unprocessedFTSearchRange メソッド


関連項目