6

新しい Solr 4 地理空間検索で遊んでいます。http://wiki.apache.org/solr/SolrAdaptersForLuceneSpatial4の例のように、次のような結果を取得しようとしています。

http://localhost:8983/solr/allopenhours/select?  
&q=foobar  
&fq=geo:%22Intersects(Circle(54.729696,-98.525391%20d=0.08992))%22  
&q={!%20score=distance}  
&fl=*,score 

しかし、うまくいきません。結果セットで距離フィールドとスコア フィールドを取得するにはどうすればよいですか?

4

2 に答える 2

8

参照空間検索-距離を返すと、次のいずれかを実行するようにフィールドパラメータを編集できます。

  • &fl=*,score,geodist()
  • &fl=*,score,_dist_:geodist()-これはエイリアスで距離を返します_dist_
于 2013-01-18T18:08:30.017 に答える
4

ペイジの答えは正しい。ただし、指定したクエリによってはエラーが表示されます。

Error parsing fieldname: geodist - not enough parameters:[]

geodist にはsfield(ドキュメント内の位置を保持するフィールド) とpt(円の中心点) が必要です。これらのいずれも見つからない場合は、示されているエラーがスローされます。

これら2つをURLに追加するか

&pt=52.373,4.899&sfield=store&fl=_dist_:geodist()

または、2 つ (実際には 3:ptと) を関数呼び出しlatに追加します。longeodist()

&fl:_dist_:geodist(store,52.373,4.899)

geofilt最初のケースで、クエリに追加の地理関数 ( など) がある場合、ptsfieldがそのためにも使用されることに注意してください (ローカルでオーバーライドされない限り) 。

于 2014-06-30T10:28:34.630 に答える