Elasticsearchに国土交通省位置参照情報を入れる、その2
大きな流れ
以前にも書いたが以下の2ステップが必要。
- GeoJSONへ変換する
- elasticsearchへ入れる
GeoJSONへ変換する
落としてきたデータが、zipで圧縮されていて、さらに中にあるファイルがShiftJISのcsvなので、これを一気に変換するようなdockerコンテナを作った。
- unzip
- nkf -S -w (入力をShiftJISとして、出力をUTF-8とする)
- テンポラリファイルに書き出す
- テンポラリファイルをGeoJSONに変換して、標準出力へ出す
テンポラリファイルを使わずに、パイプだけでやってみようとしたのだが、もしかするとサイズが大きいのでエラーなのかもしれない。 このあたりは、そのような記事をみかけたので試してみるとよいのかな。
elasticsearchへ入れる
- indexを作る
- データをインポートする
elasticsearchに大量にインポートするときは以下を参照 Bulk API
Written on December 26, 2015