7月 132012
 

FileStore→LocationDB→ResourceIndexと言った具合にマージされる。

Wayback – Resource Store Configuration

デフォルトではResourceIndexにはBarkleyDB Java Edition(BDB)を利用している。
これを編集するのはやや骨が折れる。

WaybackのAPI(libフォルダ内jar)を利用する事で削除可能。

  1. ArcIndexerを使用してarcファイルからCaptureSerchResultを抽出
  2. CaptureSerchResultをBDBRecourdに変換し、Keyを取得
  3. BDBRecordSetを使用し、Indexを削除
BDBRecordSet rs = new BDBRecordSet();
try{
    rs.initializeDB("D:\\DL\\wct\\bdb", "DB1");
    //System.out.println(rs.get("example.com/css/disastercenter.css 20111108054107 1314431 20111108054041-00000.ver1.arc"));

    CloseableIterator<CaptureSearchResult> itr = new ArcIndexer().iterator("D:\\DL\\wct\\20111128074440-00000.ver1.arc");
    UrlCanonicalizer canonicalizer = new AggressiveUrlCanonicalizer();
    SearchResultToBDBRecordAdapter adapter = new SearchResultToBDBRecordAdapter(canonicalizer);
    while(itr.hasNext()){
        CaptureSearchResult result = itr.next();
        BDBRecord r = adapter.adapt(result);
        System.out.println(BDBRecordSet.bytesToString(r.getKey().getData()));

        rs.delete(BDBRecordSet.bytesToString(r.getKey().getData()));
    }
}catch(Throwable t){
    t.printStackTrace();
}finally{
    rs.shutdownDB();
}