質問

検索機能が必要な Django プロジェクトを構築していますが、 django.contrib.search, 検索アプリを選ばなければなりません。では、どれが一番良いのでしょうか?「最高」というのは…

  • インストール/セットアップが簡単
  • Django または少なくとも Python フレンドリーな API を備えている
  • かなり複雑な検索を実行できる

私が聞いたことのあるアプリをいくつか紹介します。ご存知の場合は、他のアプリをお勧めください。

また、インデックスを作成したいデータの一部はサイト メンバー専用であり、公開すべきではないため、サードパーティの検索エンジン (Google SiteSearch など) の使用も避けたいと考えています。

役に立ちましたか?

解決

チェックアウト 干し草の山の検索 - 現在サポートされている新しいモデルベースの検索抽象化レイヤー ザピアン, ソルル そして シューッという音. 。十分にサポートされ、文書化されているようです。

他のヒント

ジャスティン、やってみます ジャンゴサーチ 初め:Jacob Kaplan-Moss (Django の主任開発者) がこれに取り組んでいます。

潜在的な危険:

  • ホームページでは、API が完全に安定していない可能性があると警告しています

潜在的な利点:

  • 「長期的な目標は、これが django.contrib.search.”

他の多くの人たちと同じように、私も同じものを探しています。それを願いましょう django.contrib.search すぐに追加されます。

そんな中、こんなものを見つけました。

私にとって、そのほとんどは非常に複雑に見え、率直に言って、実装するのは少し気が遠くなります。これらについてあなたがどう思うか知りたいです。

全文検索と集計には Sphinx をお勧めしますが、運用環境での使用には django-sphinx で十分です。Sphinx はドキュメントのインデックス作成と検索を行うための最もリソースの消費が少なく、最速の方法であり、django-sphinx は Sphinx クライアント上の優れたラッパーであることがわかりました。

集計によるグループ化は、たとえば、検索に一致した特定のタグまたは特定の作成者 (あるいはその両方) を持つドキュメントの数を表示したい場合に特に便利です。メモリ内属性の更新も便利で、特に削除された記事をすぐに削除する場合に便利でした。

のGoogleコードページ ジャンゴサーチ は、現在は開発が活発に行われていないことを示し、 干し草の山 または ソランゴ.

ありがとうガース。djangosearch が公式の Django 検索になりたがっていることは知っていましたが、ドキュメントが見つからなかったため、使用することをためらっていました。幸いなことに、 Subversion の README これはこれまで見たことがなかったもので、API が非常にクールに見えます。

# set up the model
class Event(models.Model):
    title = models.CharField(max_length=255)
    date = models.DateField()
    is_outdoors = models.BooleanField()

    index = djangosearch.ModelIndex(text=['title'], 
                                    additional=['date', 'is_outdoors'])

# run a search
results = Event.index.search("django conference")

ただ必要だったのは とても早い 社内アプリにとっては手間のかからないソリューションです。

記事を見つけました Django に検索を簡単に追加する, 、それは私にとっては素晴らしかったです!

明らかに、Haystack のような実際のプロジェクトのスピード、スケーラビリティ、機能には欠けていますが、こちらの方がセットアップが簡単で、キーワード AND 検索以外には何も必要ありません。

Build your own Search Service (BOSS) を使用して、面倒な作業をすべて Yahoo に任せることを検討してもよいでしょう。プロセスを説明した素晴らしいブログ投稿は次のとおりです。http://www.peterkrantz.com/2008/yahoo-search-in-django/

ここにいる全員が見逃したようです ジャンゴ-xappy

Django の既存の検索アドオンをすべて簡単に評価した結果、これが最も柔軟で使いやすいことがわかりました。荒削りな部分もいくつかありますが、それでも力を最大限に活用する最良の方法です。 ザピアン Django プロジェクト内の検索エンジン。

見てみるのもいいかもしれません Django Solr 検索 (別名「Solango」) には、開始するための優れたドキュメントが付属しています...

インデックスを作成するデータが大量にある場合、または高トラフィックが予想される場合は、次のような外部検索エンジンを使用することをお勧めします。 ソルル. 。こうすれば、維持できます 何も共有しない にアプローチし、サイトのコンポーネントを独立して拡張できるようになります。

ジャピアンに声を大にして言わなければいけないと思う。

それは盤石です...ソースディストリビューションをプルダウンして中を覗くだけです。一流のコードですが、コメントはそれほど多くありません。

これはまだ若いソフトウェア プロジェクトですが、Django コミュニティはこのプロジェクトに力を注ぐべきだと思います。

ありがとう、ジョー、

私たちは、Tsearch2 とカスタム postgres アダプターを使用することにしました。Tsearch2 は実行するために追加のプロセスを必要としません。メモリが限られている WebFaction ホスティングを使用しているため、これは便利でした。まだ完全には完了していませんが、良い解決策になっているようです...

見つけました ジュシュ 純粋な Python 外部検索エンジンに依存します シューッという音 私の「Python」脳をうまく働かせるために。

サードパーティの検索エンジンを使用することをお勧めします ヤフーボス そして ジャンゴボスサーチ.

Yahoo BOSS は有料サービスですが、サーバー上で他の検索ソフトウェアをセットアップしたり保守したりする手間が省けます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top