私はちょっと行き詰っています。xPages を使用して Domino で作業しており、ビューまたはデータ テーブル内のクエリに一致する応答の親ドキュメントを含めて、応答ドキュメントを含むビューを全文検索できるようにしようとしています。現在、ビュー データソースで検索用語を使用し、そのデータソースをビュー コントロールで使用していますが、実行可能なソリューションは大歓迎です。親ドキュメントに追加の検索基準がある場合があります。
何か案は?
私はちょっと行き詰っています。xPages を使用して Domino で作業しており、ビューまたはデータ テーブル内のクエリに一致する応答の親ドキュメントを含めて、応答ドキュメントを含むビューを全文検索できるようにしようとしています。現在、ビュー データソースで検索用語を使用し、そのデータソースをビュー コントロールで使用していますが、実行可能なソリューションは大歓迎です。親ドキュメントに追加の検索基準がある場合があります。
何か案は?
リチャード、ビューをデータソースとして直接使用することはできないため、ビューコントロールは使用しません。データテーブルを使用することも、(完全なレイアウト制御が可能になるため、おそらくより良い)繰り返し制御を使用することもできます。
コード内のビューに対して検索を実行します。
var v = database.getView("yourView")
//var result = database.FTSearch(...)
var result = v.FTSearchSorted(...) // or FTSearch
var datasource = [];
var parent;
for (var doc in result) {
addResult(doc, datasource);
if (doc.isResponseDoc()) {
parent = doc.getParentDocument();
addResult(parent, datasource);
// Careful here - if the parent is part of the resultset on its own
parent.recycle();
}
doc.recycle();
}
try {
result.recycle();
v.recycle();
} catch (e) {
// We suffer silently
}
return datasource;
function addResult(doc, datasource) {
var oneResult = {};
//Adjust that to your needs
oneResult.subject = doc.getItemValueString("Subject");
oneResult.unid = doc.getUniversalId();
datasource.push(oneResult);
}
FTSearchSortedのドキュメントを参照してください。私は頭からコードを入力したので、構文の問題はほとんどないかもしれませんが、ドキュメントやNotesオブジェクトをXPageに返さず、recycle()を賢く使用するという考えが浮かびます。