Tous les résultats

This commit is contained in:
Evarin 2017-07-13 21:12:01 +02:00
parent 686999b97d
commit d9acdfc155

View file

@ -57,7 +57,7 @@ def cherche(**kwargs):
# Champ générique : recherche dans tous les champs # Champ générique : recherche dans tous les champs
if field_relevant("generique"): if field_relevant("generique"):
#print "Filtre generique", kwargs['generique'] #print "Filtre generique", kwargs['generique']
dsl = dsl.filter( dsl = dsl.query(
"match", "match",
_all={"query": kwargs["generique"], _all={"query": kwargs["generique"],
"fuzziness": "auto"}) "fuzziness": "auto"})
@ -65,19 +65,19 @@ def cherche(**kwargs):
# Sujet -> Recherche dan les noms de sujets et les thématiques # Sujet -> Recherche dan les noms de sujets et les thématiques
if field_relevant("sujet"): if field_relevant("sujet"):
dsl = dsl.filter("multi_match", dsl = dsl.query("multi_match",
query = kwargs["sujet"], query = kwargs["sujet"],
fields = ['sujet^2', 'thematiques'], fields = ['sujet^2', 'thematiques', 'matieres'],
fuzziness = "auto") fuzziness = "auto")
use_dsl = True use_dsl = True
# Contexte -> Encadrants, structure, lieu # Contexte -> Encadrants, structure, lieu
if field_relevant("contexte"): if field_relevant("contexte"):
dsl = dsl.filter("multi_match", dsl = dsl.query("multi_match",
query = kwargs["contexte"], query = kwargs["contexte"],
fields = ['encadrants', 'structure^2', fields = ['encadrants', 'structure^2',
'lieux.nom', 'lieux.pays', 'lieux.ville'], 'lieux.nom', 'lieux.pays', 'lieux.ville'],
fuzziness = "auto") fuzziness = "auto")
use_dsl = True use_dsl = True
# #
@ -107,7 +107,7 @@ def cherche(**kwargs):
# Application # Application
if use_dsl: if use_dsl:
filtres &= Q(id__in=[s.meta.id for s in dsl]) filtres &= Q(id__in=[s.meta.id for s in dsl.scan()])
#print filtres #print filtres
resultat = Stage.objects.filter(filtres) resultat = Stage.objects.filter(filtres)