1

私はHaystackと検索の世界に慣れていないので、この質問をする方法がわかりませんでした。

私が達成したいのは次のとおりです。

次のような検索クエリを使用する:1つ2つ

次のようなコンテンツを返品したいのですが。

  • これです
  • 1
  • 2
  • 2つ1つ
  • ここに何か

これはHaystack+solr / xapianで可能ですか?結果に関連性を持たせることも可能ですか?両方の単語がヒットした場合、それは私により多くの関連性を与えるでしょう。

現在、ビューでSearchQuerySetを使用していますが、それを実現できません。

乾杯

4

1 に答える 1

2

それで、あなたは基本的にORタイプクエリを探していますか?デフォルトでは、haystackはANDクエリを結合するための操作を使用します。

これは2つの方法で実行できます。

  • settings.py内でに変更HAYSTACK_DEFAULT_OPERATORしますOR。これは明らかにサイト全体の変更になります。
  • フィルタSearchQuerySetを使用するようにフォームを変更します。これにより、スタイルルックアップが強制されます。したがって、新しいものをフォーム/ビューに渡します。ORSearchQuerySet.filter_or(**kwargs)

それとは別に、いつでもDjangoQオブジェクトを結合できますが、これらのオプションがあることを考えると、おそらくそれらが最善の策です。

関連性については、検索テンプレートの使用と関連コンテンツを表示する方法となるベストプラクティスのページをお読みください。

お役に立てば幸いです。

于 2010-07-01T12:54:03.963 に答える