2016-10-28 10 views
1

私はsolrで空間を使用し、その場でdist:geodist()パラメータを生成しています。私は上記のクエリを距離すなわちSolrで距離の範囲でグループ化する方法

?group.query=dist[0 To 3]&group.query[3 TO 5] 

の範囲によってIグループの結果試すことができた場合はどのようにそれは私が何の「DIST」フィールドが存在しないように指示します。私がgeodist()で試してみると、それは解析できないと私に伝えます。

+0

「dist:geodist()paramaterをオンザフライで生成する」とはどういう意味ですか?どのようにそれを生成するのですか? – EricLavault

答えて

0

あなたはfunction range queriesを使用することができます:...&group.query={!frange l=0 u=3}geodist()...

あなたは結果のグループに(範囲[0 To 3] and ]3 TO 5]、または[0 To 3[ and [3 TO 5]と同等のもの)を有する重複を防ぐためのパラメータでincl=falseまたはincu=falseを使用する必要があります。あなたはまた、同様に、グループ関数としてgeodist()を使用することができます

q=*:*&spatial=true&pt=0.0,0.0&sfield=geofield&group=true&group.query={!frange l=0 u=3}geodist()&group.query={!frange l=3 u=5 incl=false}geodist() 

group.func=geodist(geofield,0.0,0.0)が、それは(範囲)がより困難粒度を制御するために、このようになるだろう

クエリは次のようになります。

関連する問題