RgmUpdator

Rのインストール
Rをソースコードからインストール

環境変数、ディレクトリの調整
Rが$HOME/local/bin以下のものが呼ばれるように、PATHを設定.

以下のように、data/RGM2の下にR_src, libraryなるシンボリックリンクとcran_contrib, executeというディレクトリを作る.

データアップデートの手順
前提
 * Rがソースコードからインストールされていること
 * rgm2データベースが存在していること.


 * その後、~/www/RGM2/information.inc.phpを手で編集する.

google site index
Googleウェブマスタツールで、googleにインデックスしてもらう.
 * https://www.google.com/webmasters/tools/dashboard?hl=ja

= データ更新処理の内部仕様 =

データ更新処理は以下のステップからなる、と考えることができる.
 * 1) クラス毎の処理
 * 2) オブジェクトIDの特定
 * 3) オブジェクトの母集団の特定
 * 4) オブジェクトの分類
 * 5) 各オブジェクトに対する処理
 * 6) 複数のクラスが関係する後処理
 * 7) big-tableの作成と全文検索インデックス作成

RGM2に於いては、以下のクラスがある.
 * 1) tarball
 * 2) package
 * 3) rd_file
 * 4) * function
 * 5) * dataset
 * 6) image
 * 7) cran task view

tarballオブジェクトのIDの振り方
tarballのファイル名で識別される.

tarballに対する処理
ダウンロード作業と、解凍作業以下は別個のプログラムで行う. 解凍作業以下のやり直しが多いため.

前提

 * CranDownloadDirディレクトリ (default.conf中に$HOME/data/RGM2/cran_contrib/と定義されている）があること.
 * MySQLのrgm2データベースがあること.

出力
DBに以下のテーブルが作られる.

動作チェック

 * 所定のテーブルが存在していること.
 * 各テーブルのkeyの数が上記条件に合っていること. ... 未実装
 * いずれのテーブルもkeyの重複がないこと. ... 未実装

packageのIDの振り方
全てのパッケージは、DESCRIPTIONファイルを持っている.

DESCRIPTIONファイルの直上の親ディレクトリ名でpackageを識別する.

したがって、例えば上記の例では、~/data/RGM2/cran_contrib/中のclusterGenerationパッケージと、~/data/RGM2/library/中のclusterGenerationパッケージは同一のパッケージである、と判定される.

前提

 * CranDownloadDir,LibraryInstalledDirが存在していること.
 * CranDownloadDir中にtarballが解凍されていること.

RdファイルのIDの振り方
rd_idは 「パッケージ名」:「Rdファイル名」という形とする.

Rdファイルに対する処理

 * Rdファイルのフルパスを取得
 * Rdファイルの中身をDBに保存
 * Rdファイルからalias, keyword情報を取り出す. (htmlには書かれなくなった！）
 * Rdファイルをhtmlに変換
 * htmlファイルの中身をDBに保存
 * htmlファイルから、title, descriptionの情報を取り出す.
 * exampleを(Rd, htmlのいずれかから)取り出す.
 * Referenceを(Rd, htmlのいずれかから）とりだす. <= Rdのパーサーが要る？
 * exampleを実行する.

RdファイルをHTML, exampleに変換するには、Rの関数であるRd2HTML, Rd2exを使う.

imageのIDの付け方
まず、imageにはsmall, med, bigの３種類がある.

rd_idに何かつけたものをimageのIDにしたいんですけどね.

Solr インデックス
java -Durl='http://localhost:8983/solr/images/update' -jar post.jar b_images.xml