1

ローカルビジネスディレクトリを構築します。検索プロバイダーとしてelasticsearchを使用していて、少しジレンマがあります。

私たちが本当にやりたいのは「中心点」検索です。しかし、私が理解しているように、真の「中心点」検索は「バウンディングボックス」検索よりも大幅に遅くなります。その代わりに、ユーザーが検索している一般的な領域の周りで「バウンディングボックス」検索を使用しています。この検索には常に多くの結果があるため、これは「タコス」のような検索に最適です。バウンディングボックス検索は、あまり一般的ではないキーワードを使用した検索や、エリア内にあるがバウンディングボックスの外側にある特定のビジネスの検索ではうまく機能しません。

私が検討したいくつかの解決策ですが、何か良いものがあるかどうかはわかりません。

  • 複数の「バウンディングボックス」検索を実行します。最初の検索では小さなバウンディングボックスを使用します。結果が見つからないか非常に少ない場合は、大きなバウンディングボックスで別の検索を実行します。
  • 速度は遅くなりますが、代わりに「中心点」検索を使用してください。この検索で​​は、中心点からの地理的距離の大まかな順序で結果が返されます(elasticsearchが結果を「優先」する他の方法と組み合わせて)。

Yelp.comのようなウェブサイトではこの問題が処理されているようです。私はそれについて行くための最良の方法が何であるかがわかりません。

HerokuサーバーでDjangoを実行しています。OutElasticSearchプロバイダーが見つかりました。

あなたの入力は大歓迎です!

4

0 に答える 0