Lucene/Solr 3.1 から新たに実装されたSpatial Search について試してみました。 今回、位置情報データに使用したのは 国土数値情報ダウンロードサービス の公共施設データです。 1.データ準備 国土数値情報ダウンロードサービスから公共施設データ47都道府県分のXMLファイルをダウンロード XMLデータをパースしてMySQLに格納 → 直接Solrに格納することも当然できるが、今回はMySQLに一旦格納した 理由としては以下の2点。 公共施設データ本体と緯度経度データがXML中の別のところにあり、XPathで検索もできるが速度的にはMySQLのほうが速そうだった 施設の大分類、小分類、市区町村がコード化されているので、MySQLにマスターデータを持ってJOINしたほうがよさそう ※このプログラムはあまりに汚いので公開しません。。。 概要としては、ざっと以下のような感じ