1

一度にさまざまなモデルにクエリを実行して、全文検索の集計結果を取得できるようにしたいと考えています。つまり、本と著者を単一のリストとして、たとえば関連性でソートします。

私が理解しているように、ドキュメントにはそれが可能であると記載されていますが、大きな制限があります。

... django-sphinxレイヤーは、複数の基本的なクエリもサポートしています
インデックス...インデックスにはまったく同じフィールドが含まれている必要があります。これらのフィールド
content_typeである必要があるcontent_type選択も含める必要があります
そのテーブルに関連付けられたID(モデル)..。

これは、モデルがまったく同じフィールドを持つ必要があることを意味しますか、それともインデックス内のフィールドのみが共通である場合はそれで十分でしょうか?それでも大きな制限になります。また、クラス自体から取得できるのに、モデルにcontent_type属性を含める必要があるのはなぜですか?

異なるモデルのインデックスに同じインデックス名が付けられている場合はどうなりますか?そのインデックスを検索して、さまざまなモデルの結果を得ることができますか?

また、ドキュメントには、複数のモデルを検索するために次のようにsphinxを構成する必要があると記載されています。

model_classes = (ModelOne, ModelTwoWhichResemblesModelOne)
output = generate_config_for_models(model_classes)

誰かがこれについて何か経験がありますか?

4

1 に答える 1

1

モデルはインデックス内で共通である必要があります(偽の列を追加できます)。それらにはcontent_typeが含まれている必要があるため、結果を取得すると、結果が属するモデルがわかります。

于 2010-11-14T01:11:17.707 に答える