背景 昨今のスマートフォンの普及は目覚ましく、位置情報を利用したサービスも増えてきました。 位置情報サービスを構築するとき、データベースは何を使うでしょうか。 mongoDBには地理空間インデックスが用意されているため、有効な選択肢になり得ます。 位置情報と全文検索を組み合わせて検索したいときはどうでしょうか。 mongoDB + ElasticSearchなどの複数のデータベースという選択肢もありますが、条件の組み合わせ処理が煩雑になってしまいます。 今回はElasticSearchで全文検索と位置情報の両方を扱ってみます。 準備 railsからElasticSearchを利用する準備はrailsから全文検索エンジンelasticsearchを利用するを参考にしてください。 今回作成するサンプルの要点をまとめます。 保存する単位は単一の位置情報を持つ「ピン」とする ピンは「ピンのタイトル