1

私は PHP 出身で、現在 Django を使用しています。PHP のクエリとの照合が好きで、既に開発されたアプリを使用したいと考えています。全文検索用。良い部分は、ジャピアン、スフィンクス、ルセン、ソランゴ、干し草の山など、利用可能なものがたくさんあることです。何を使えばいいのかわからないのは悪いことですか?アプリ。より新しく、検索は人々の検索コンテンツ検索などのようにさまざまなタイプになる可能性があるため、実装が十分に高速で信頼性が高いことを望んでいます。必要?

Q を使用して独自に作成する方がよいオプションであるかどうかも教えてください。

ありがとう

4

1 に答える 1

2
  • プロジェクトが深刻で、検索機能が頻繁に使用される場合は、Haystack w / Xapian、Solrバックエンド、またはDjapianを使用してください。
  • ORMを使用してプレイする場合、またはHaystackがサポートしていない非常に複雑なフィルターやその他の種類の操作がある場合は、自家製のQを使用してください。あまり期待しないでください。

編集

ヘイスタック:

  • 交換可能なバックエンドであるXapianとSolrはどちらも有望です(ディスク上で安定、高速、低コスト)。
  • Djangoとの良好な統合
  • 調整可能なインデックス作成ポリシー
  • 時々奇妙なことがあるかもしれません、あなたはコードを直接チェックする必要があります
  • 一部のプラットフォームではバックエンドのインストールが難しい場合がありますが、Web上にハウツーがあります

MySQL組み込みの全文検索を使用するには、次のことを行う必要があります。

  • DBを手動で準備し、ドキュメントとDjangoMySQL全文検索を確認します
  • 検索クエリパーサーやハイライターなどを書く
  • 検索からDBの負荷を認識します
  • MySQLでのみ機能し、PostgreSQLではまだ簡単ではありません
  • これはDjangoによるORMレベルでの直接サポートであるため、複雑なフィルターを実行できます。Haystackでは、パフォーマンスと機能をトレードオフするために、インデックス用語と保存されたドキュメントを慎重に選択する必要があります。

私はスフィンクスの経験がないので、それについては言及しませんでした。

于 2012-04-03T03:19:05.810 に答える