solrに限った話ではありませんが、
最近緯度・経度を使って、ボックス(四角形の範囲内)検索をする要件が増えています。
方法はいくつかありますが、やりやすい方式を上げてみます。
緯度をbetween検索、かつ、軽度をbeween検索。
この方式が一番汎用性があるかもしれません。
X軸とY軸に対して、四角形になるよう検索するだけです。
例えばディズニーランド latitude=35.632507, longitude=139.88127 、の場合、
(latitude between 35.630 and 35.640) and (longitude between 139.880 and 139.881)
というようなbetween検索を行います。
例えばマウスでドラッグドロップした範囲を検索する場合は、ドラッグ地点とドロップ地点の座標が算出できるのでbetween検索できます。
これは、solrであろうとmysqlであろうとjavaであろうとできる検索方式です。
geohash(ジオハッシュ)検索を行う。
ジオハッシュは、latitude、longitudeをbase32でハッシュ化して文字列に変換します。
文字列が短い程精度が下がります(地図が縮小される。スケールアウト。)
データストア側(DBやsolr)にはhash化した文字列をセットしておき、検索時にhash文字列で前方一致検索します。
メリットは、geohashは前方一致検索なので、前述のbetween検索より更に速い点。
hash化した文字列は文字数が少ないので、solrやmysqlにインデックス化しやすい為、検索効率は高くなりやすい。
デメリットは、base32という事は、1文字削ると32倍スケールアウトする点と、任意のボックスにできない点です。
大まかに2種類の方法がありますが、ボックスの範囲とスケールの要件を握れるならgeohash、
要件を握れないなら緯度経度をbetween検索、等と使い分けるといいかと思います。