2017-03-22 14 views
0

これは空間検索の逆の概念で、候補者は彼がどの距離まで作業できるかを決定します。各文書内の2点間の距離とマイルフィールド未満の距離

私は候補者c1が彼の所在地から20マイル、C2が彼の所在地から10マイル離れていると答えています。私の検索場所が両方の候補者から10マイル離れている場合、私の結果は候補者を距離とともに並べ替え、距離で並べ替えるべきです。

私の考えは、検索ポイントから候補ポイントまでの距離を取得し、その距離が各候補によって設定されたマイルを満たすかどうかを確認しました。

私はq = {!func} geodist()とsort = score ascを使用しましたが、ドキュメントで設定されているマイルに基づいてフィルタリングする必要があります。 スコア< =マイルはフィルタとして適用する必要があります。

あなたは私にそれを解決するのに役立つことができます、それは私にとって大きな助けになるでしょう。ありがとう。

答えて

0

候補をポイントではなくサークルでインデックスする必要があります(中心はその位置、半径は移動したい距離です)。

次に、いずれかの円と交差する点をfqします。 Solr spatial search using an indexed field for radius?

+0

しかし、数学的に最も簡単な解決策は、2点間の距離を求め、距離が構成候補の距離ライトよりも小さいかどうかをチェックすることですか?このソリューションのパフォーマンスは低いですか?私は知りたいと思っていたsolrに新しいです。 –

+0

私は投票に十分な評判を持っていません、私の投票としてこのコメントを受け入れてください、私を助けてくれてありがとう...: ) –

+0

誰が近くにいるのかを知る方法を知っていますか?私たちは最も近い場所に基づいて関連性を得ることができます。 –