1

私はちょっと行き詰っています。xPages を使用して Domino で作業しており、ビューまたはデータ テーブル内のクエリに一致する応答の親ドキュメントを含めて、応答ドキュメントを含むビューを全文検索できるようにしようとしています。現在、ビュー データソースで検索用語を使用し、そのデータソースをビュー コントロールで使用していますが、実行可能なソリューションは大歓迎です。親ドキュメントに追加の検索基準がある場合があります。

何か案は?

4

1 に答える 1

1

リチャード、ビューをデータソースとして直接使用することはできないため、ビューコントロールは使用しません。データテーブルを使用することも、(完全なレイアウト制御が可能になるため、おそらくより良い)繰り返し制御を使用することもできます。

コード内のビューに対して検索を実行します。

   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()を賢く使用するという考えが浮かびます。

于 2013-03-06T01:20:01.857 に答える