最高の Django 検索アプリは何ですか?[閉まっている]
-
09-06-2019 - |
質問
検索機能が必要な Django プロジェクトを構築していますが、 django.contrib.search
, 検索アプリを選ばなければなりません。では、どれが一番良いのでしょうか?「最高」というのは…
- インストール/セットアップが簡単
- Django または少なくとも Python フレンドリーな API を備えている
- かなり複雑な検索を実行できる
私が聞いたことのあるアプリをいくつか紹介します。ご存知の場合は、他のアプリをお勧めください。
また、インデックスを作成したいデータの一部はサイト メンバー専用であり、公開すべきではないため、サードパーティの検索エンジン (Google SiteSearch など) の使用も避けたいと考えています。
他のヒント
ジャスティン、やってみます ジャンゴサーチ 初め:Jacob Kaplan-Moss (Django の主任開発者) がこれに取り組んでいます。
潜在的な危険:
- ホームページでは、API が完全に安定していない可能性があると警告しています
潜在的な利点:
- 「長期的な目標は、これが
django.contrib.search
.”
他の多くの人たちと同じように、私も同じものを探しています。それを願いましょう django.contrib.search すぐに追加されます。
そんな中、こんなものを見つけました。
- http://code.google.com/p/djangosearch/
- http://code.google.com/p/django-sphinx/
- http://code.google.com/p/djapian/
- http://code.google.com/p/django-search-lucene/
- http://www.sai.msu.su/~megara/postgres/gist/tsearch/V2/
私にとって、そのほとんどは非常に複雑に見え、率直に言って、実装するのは少し気が遠くなります。これらについてあなたがどう思うか知りたいです。
全文検索と集計には Sphinx をお勧めしますが、運用環境での使用には django-sphinx で十分です。Sphinx はドキュメントのインデックス作成と検索を行うための最もリソースの消費が少なく、最速の方法であり、django-sphinx は Sphinx クライアント上の優れたラッパーであることがわかりました。
集計によるグループ化は、たとえば、検索に一致した特定のタグまたは特定の作成者 (あるいはその両方) を持つドキュメントの数を表示したい場合に特に便利です。メモリ内属性の更新も便利で、特に削除された記事をすぐに削除する場合に便利でした。
ありがとうガース。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 ホスティングを使用しているため、これは便利でした。まだ完全には完了していませんが、良い解決策になっているようです...