Question

Je veux être en mesure d'interroger les différents modèles à la fois et obtenir le résultat global de la recherche en texte intégral. à savoir des livres et des auteurs comme une liste unique, triés par pertinence par exemple.

Si je comprends bien, la documentation, il mentionne qu'il est possible, mais il y a une énorme limitation:

... The django-sphinx layer also supports some basic querying over multiple 
indexes ... Your indexes must contain exactly the same fields. These fields 
must also include a content_type selection which should be the content_type 
id associated with that table (model) ...

Est-ce que cela signifie que les modèles devraient avoir exactement les mêmes champs ou serait-il suffisant si seuls les champs de l'indice sont communs? Il serait encore une énorme limitation. Et pourquoi les modèles contiennent un attribut content_type quand il peut être obtenu à partir de la classe elle-même?

Et si le même nom d'index est donné pour les indices des différents modèles? Serait-il possible de rechercher sur cet indice et des résultats de différents modèles?

En outre dans la documentation, il dit qu'il est nécessaire de configurer sphynx de la manière suivante pour la recherche sur plusieurs modèles:

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

Est-ce que quelqu'un a une expérience à ce sujet?

Était-ce utile?

La solution

Les modèles doivent être commum juste à l'index (vous pouvez ajouter colums faux). Ils doivent contenir le content_type donc quand vous obtenez les résultats que vous connaissez le modèle le résultat appartient.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top