2

現在、xapian で django haystack を使用しています。xapian で地理空間クエリを実行する方法に関するドキュメントが見つかりませんでした。しかし、Solr には勢いがあるようです。だから私は現在それを実験しています。

私は、spatialSolr をローカルで適切に動作させることができませんでしたが、今のところ、spatial-solr-light で動作しており、問題なく動作しているようです。次のようなクエリを受け入れます

http://127.0.0.1:8080/solr/select/?q=blahblah&spatial= {!radius=1.0%20sort=true}lat:10.0,lng:-10.0

そのようなカスタムクエリを渡すことができる干し草スタックのパッチを教えてください。raw_search() を使用できますが、結果をチェーンできません。いずれにせよ、sqs.spatial(....) のようなことを行うためのよりクリーンな方法を見つけたいと思います。

Google グループ (以下のリンク) で言及されている他の人々からのパッチがいくつかありますが、それらのほとんどは到達できません。

参考文献:

4

4 に答える 4

1

これは、次のサポートを追加する django haystack のフォークです。

https://github.com/sidmitra/django-haystack-spatialsolrplugin

対応するメモはこちら: https://github.com/sidmitra/django-haystack-spatialsolrplugin/wiki/_pages

于 2011-09-28T07:50:34.080 に答える
1

Xapian に縛られていない場合は、Django、Sphinx を見て、距離で検索してください。この質問に出くわしたときに同様の問題が発生しましたが、これで解決するようです。django-sphinx のおかげで、Haystack と同じくらい簡単にセットアップできます。また、Sphinx は柔軟性が高いようです。

于 2010-11-18T23:40:47.717 に答える
0

シドミトラ、ヘイスタック 1.2.X と solr 3.4 を使ってあなたのソリューションを移植しました。率直に言うと、いくつかの制限があります - 現時点ではスキーマ生成はサポートされていません。LatLong 地理タイプのみがサポートされています。距離による並べ替えは完全ではありません (ただし機能します)。

https://github.com/frutik/django-haystack/tree/1.2.X

于 2011-11-25T13:12:43.317 に答える
0

https://github.com/sidmitra/django-haystack-spatialsolrpluginに同意します。

時代遅れのように見えますが、いくつかの作業で形にすることができました。私が抱えていた問題:

  • Java SSP を見つけるのが難しく、見つけたときは間違ったバージョンでした。http://www.dutchworks.nl/en/home/download.htmlは、私にとってはうまくいったリンクでした。

  • ネットで見つけたサンプル xml ファイルのクラスパスはすべて間違っていました。.solrext を削除する必要がありました。それらすべてから。

  • プラグインは、それが存在するディレクトリについて非常にうるさいです。solr/lib に幸せになるまで、他のものと話すことはできませんでした。

  • solr_backend.py には次のパッチが必要でした (505 行目あたり)。

    if self.spatial_query:
        final_query = '{{!spatial circles={lat},{long},{radius} }}{0}'.format(final_query,**self.spatial_query)
    
  • クエリが有効なrspを取得する前にGeoDistanceComponentがロードされないように、solrconfig.xmlを作成する際にさらに問題がありました。

つまり、確かに機能させることはできますが、そこに到達する前に、Python と Java の両方で多数のエラー メッセージを処理できなければなりません。

于 2011-12-06T16:04:47.150 に答える