114

検索機能が必要なDjangoプロジェクトを構築していますが、それができるまでdjango.contrib.search、検索アプリを選択する必要があります。それで、どれが最高ですか?「最高」とは...

  • インストール/セットアップが簡単
  • Djangoまたは少なくともPythonに適したAPIがあります
  • かなり複雑な検索を実行できます

これが私が聞いたいくつかのアプリです、あなたが何か知っているなら他の人を提案してください:

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

4

15 に答える 15

105

現在XapianSolr、およびWhooshをサポートしている新しいモデル ベースの検索抽象化レイヤーであるHaystack Searchを確認してください。十分にサポートされ、文書化されているようです。

于 2009-05-08T16:10:42.847 に答える
19

Justin さん、まずdjangosearchを試してみます。Jacob Kaplan-Moss (Django の主任開発者) が取り組んでいます。

潜在的な危険:

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

潜在的な利点:

  • 「長期的な目標は、これが になることdjango.contrib.searchです。」</li>
于 2008-09-11T07:03:56.893 に答える
18

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

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

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

于 2008-10-16T20:43:50.233 に答える
9

djangosearchの google code pageは、もはや活発な開発が行われていないことを示しており、 haystack または solango を示唆します

于 2009-05-09T21:38:37.243 に答える
8

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

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

于 2008-10-23T20:07:28.897 に答える
6

私は、内部アプリにとって大騒ぎではない非常に迅速なソリューションが必要でした。

「 Djangoに検索を追加する」という記事をすぐに見つけました。それは私にとって素晴らしい成果でした。

明らかに、Haystackのような実際のプロジェクトの速度、スケーラビリティ、機能が不足していますが、これはセットアップが簡単で、キーワードAND-search以外は本当に必要ありません。

于 2011-04-22T23:33:01.527 に答える
6

ありがとうガース。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")
于 2008-09-11T15:28:50.347 に答える
3

あなたはYahooに彼ら自身の検索サービス(BOSS)を構築することですべての大変な仕事をさせることを検討したいかもしれません。プロセスを順を追って説明するすばらしいブログ投稿は次のとおりです。http: //www.peterkrantz.com/2008/yahoo-search-in-django/

于 2009-04-26T05:38:19.513 に答える
2

ここにいる全員がdjango-xappyを見逃したようです

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

于 2009-01-27T16:31:04.970 に答える
1

インデックスを作成するデータが大量にある場合、またはトラフィックが多いことが予想される場合は、Solrなどの外部検索エンジンを使用することをお勧めします。このようにして、何も共有しないアプローチを維持し、サイト コンポーネントを個別にスケーリングできます。

于 2008-09-17T19:48:21.247 に答える
0

サードパーティの検索エンジンを使用する場合は、Yahoo BOSSdjango-bosssearchをお勧めします。

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

于 2012-05-13T15:22:19.900 に答える
0

ありがとうジョー、

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

于 2008-10-24T07:24:20.310 に答える