例: FTSearch and clear methods

  1. 次のエージェントは、[Transportation] ビューで「bicycle」という単語を全文検索します。次に、抽出されたビューの文書を [Two-wheeled vehicles] フォルダに置きます。続いて、そのビューをクリアして、抽出の行われていないビューの文書を [Vehicles] フォルダに置きます。

    import lotus.domino.*;
    public class JavaAgent extends AgentBase {
      public void NotesMain() {
        try {
          Session session = getSession();
          AgentContext agentContext = 
            session.getAgentContext();
          // (Your code goes here) 
          Database db = agentContext.getCurrentDatabase();
          View view = db.getView("Transportation");
          db.updateFTIndex(true);
          int count = view.FTSearch("bicycle");
          // View is filtered
          if (count == 0)
            System.out.println("No bicycles found");
          else {
            System.out.println(count + " bicycle(s) found");
            Document tmpdoc;
            Document doc = view.getFirstDocument();
            while (doc != null) {
              doc.putInFolder("Two-wheeled vehicles");
              tmpdoc = view.getNextDocument(doc);
              doc.recycle();
              doc = tmpdoc;
            }
          }
          // Clear the full-text search
          view.clear();
          // View is no longer filtered
          Document doc = view.getFirstDocument();
          while (doc != null) {
            doc.putInFolder("Vehicles");
            tmpdoc = view.getNextDocument(doc);
            doc.recycle();
            doc = tmpdoc;
          }
        } catch(Exception e) {
          e.printStackTrace();
        }
      }
    }
  2. 次のエージェントは、[By Category] ビューでユーザーがエージェントのコメントとして入力した単語 (複数可) を全文検索します。次に、見つかった文書の数と、抽出されたビュー内の各文書の Subject アイテムの値を出力します。

    import lotus.domino.*;
    public class JavaAgent extends AgentBase {
      public void NotesMain() {
        try {
          Session session = getSession();
          AgentContext agentContext = 
            session.getAgentContext();
          // (Your code goes here) 
          Database db = agentContext.getCurrentDatabase();
          Agent agent = agentContext.getCurrentAgent();
          String searchString = agent.getComment();
          View view = db.getView("By Category");
          db.updateFTIndex(true);
          int count = view.FTSearch(searchString, 0);
          if (count == 0)
            System.out.println("Nothing found");
          else {
            System.out.println(count + " found");
            Document tmpdoc;
            Document doc = view.getFirstDocument();
            while (doc != null) {
              System.out.println(doc.getItemValueString("Subject"));
              tmpdoc = view.getNextDocument(doc);
              doc.recycle();
              doc = tmpdoc;
            }
          }
        } catch(Exception e) {
          e.printStackTrace();
        }
      }
    }