3

Solr 4 での空間検索に関するこのドキュメントを読んで理解しようと懸命に努力しています。

http://wiki.apache.org/solr/SolrAdaptersForLuceneSpatial4

しかし、簡単な答えを見つけるのに苦労しています.Solr 4で結果を距離でソートする理想的な方法は何ですか?

ドキュメント セットで使用できる場所フィールドが 2 つあります。

geolocation_rpt次のように定義されたフィールドです。

<fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType"
    geo="true" distErrPct="0.025" maxDistErr="0.000009" units="degrees" />

Andllは、次のように定義された場所フィールドです。

<fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate"/>

上記の参照ドキュメントに表示されている例では、交差する円や、クエリで開始点 (lat/lng) を提供し、距離でソートされた結果のリスト。

更新:受け入れられた回答は、Solr 3 および 4 で機能する優れたソリューションを提供します。その回答に対する David Smiley のコメントは、厳密に「Solr 4」のソート方法を興味のある人に提供します。

4

1 に答える 1

5

Chapter 4 - Query Solr - Sorting Results by a distance by a point in the Apache Solr 4 Cookbookに従ってll、スキーマで定義したフィールドに対して距離でソートするに は、次のようにgeodist()関数を使用します。

あなたが北極 (0.0, 0.0) に立っていると仮定して、あなたに近い会社が結果リストの最初になるように会社を並べ替えたいとします。クエリは次のようになります。

  http://localhost:8983/solr/select?q=company&sort=geodist(ll,0.0,0.0)+asc
于 2013-04-05T02:37:58.453 に答える