LOTUSSCRIPT /COM/OLE のクラス
現在のエージェントが未処理と判断するデータベース内の文書を全文検索します。
メモ このメソッドは R6 で新しく追加されました。
メモ このメソッドは COM では実装されていません。
定義位置
NotesDatabase
構文
Set notesDocumentCollection = notesDatabase.UnprocessedFTSearchRange( query$, maxdocs%, [ sortoptions% ], [ otheroptions% ], [ start&] )
パラメータ
query$
notesDocumentCollection
このメソッドは、start のパラメータがある以外は UnprocessedFTSearch と同じです。
このメソッドはエージェントスクリプトとビューアクションだけに有効です。また、NotesSession の CurrentDatabase プロパティから取得された NotesDatabase オブジェクトだけに呼び出されることがあります。エージェントまたはビューアクションに含まれないスクリプトでは、このメソッドは文書が 1 つも入っていない NotesDocumentCollection を返します。CurrentDatabase プロパティから取得されていない NotesDatabase オブジェクトで呼び出されたときは、このメソッドはエラーとなります。
動作
このメソッドは次の 2 段階で動作します。
返される文書
次の表は UnprocessedFTSearch メソッドが返す文書を示します。エージェントを実行する前に文書が 1 回選択されます。
このメソッドで指定された全文検索の条件を満たすこと
エージェントが最後に実行されてから新規作成または更新されていること
[エージェントのプロパティ] インフォボックスで指定された検索条件を満たすこと
または
ビューアクション
エージェントの最終実行後にデータベースに送信されたこと
エージェントの最終実行後に更新されたこと
エージェントの最終実行後にデータベースに追加されたこと
新規作成および変更された文書、新規に受信したメール文書、新規に追加された文書、新規に変更された文書で実行されるエージェントの場合、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 メソッド
例 関連項目