ワイルドカード・フィルタの作成

WildcardFilterクラスは、包含または除外フィルタとしてワイルドカードを指定します。

WildcardFilterは、特定のプロパティにワイルドカードを適用するフィルタです。ワイルドカード・マッチャは、疑問符(?)を使用して単一のワイルドカード文字を表し、アスタリスク(*)を使用して複数のワイルドカード文字を表します。一致では大文字と小文字は区別されません。つまり、構成できません(大文字と小文字の区別が必要な場合は、正規表現の使用を検討してください)。下の例では、フィルタは、Endeca.FileSystem.Nameプロパティに適用されます。

ワイルドカードを作成するには:

  1. SourceConfigおよびCrawlConfigが作成されていることを確認します。
  2. 新しい空のWildcardFilterオブジェクトをインスタンス化します。
    WildcardFilter filter = new WildcardFilter();
  3. setPropertyName()メソッド(Filterクラスから継承)をコールして、適用するフィルタにプロパティの名前を設定します。
    // filter on the file name
    filter.setPropertyName("Endeca.FileSystem.Name");
  4. setWildcard()メソッドを使用して、ワイルドカードを設定します。
    // exclude Word files
    filter.setWildcard("*.doc");
  5. setScope()メソッド(Filterクラスから継承)を使用して、フィルタ・スコープを設定します。ファイル(次の例を参照)またはフォルダ(FilterScope.DIRECTORY)への範囲を設定できます。
    // set the scope of the filter for only files
    filter.setScope(FilterScope.FILE);
  6. Filterオブジェクトのリストを作成し、add()メソッド(Listインタフェースから継承)を使用してワイルドカード・フィルタを追加します。
    List<Filter> filterList = new ArrayList<Filter>();  
    filterList.add(filter);
  7. SourceConfig.setExcludeFilters()メソッドを使用して、SourceConfig構成オブジェクトに移入されたリストを設定します。これが包含フィルタである場合、かわりにSourceConfig.setIncludeFilters()メソッドを使用します。
    // Set the filter in the source configuration.
    sourceConfig.setExcludeFilters(filterList);
  8. CrawlConfig.setSourceConfig()メソッドを使用して、移入されたSourceConfigをメインのCrawlConfig構成オブジェクトに設定します。
    // Set the source config in the crawl configuration.
    crawlConfig.setSourceConfig(sourceConfig);

WildcardFilterクラスには、ワイルドカード値を取得するgetWildcard()メソッドが含まれています。また、SourceConfigクラスには、ソース構成からフィルタを取得するgetExcludeFilters()およびgetIncludeFilters()メソッドが含まれています。