diff --git a/avisstage/views_search.py b/avisstage/views_search.py index 7984b67..4b1baf0 100644 --- a/avisstage/views_search.py +++ b/avisstage/views_search.py @@ -57,7 +57,7 @@ def cherche(**kwargs): # Champ générique : recherche dans tous les champs if field_relevant("generique"): #print "Filtre generique", kwargs['generique'] - dsl = dsl.filter( + dsl = dsl.query( "match", _all={"query": kwargs["generique"], "fuzziness": "auto"}) @@ -65,19 +65,19 @@ def cherche(**kwargs): # Sujet -> Recherche dan les noms de sujets et les thématiques if field_relevant("sujet"): - dsl = dsl.filter("multi_match", + dsl = dsl.query("multi_match", query = kwargs["sujet"], - fields = ['sujet^2', 'thematiques'], + fields = ['sujet^2', 'thematiques', 'matieres'], fuzziness = "auto") use_dsl = True # Contexte -> Encadrants, structure, lieu if field_relevant("contexte"): - dsl = dsl.filter("multi_match", - query = kwargs["contexte"], - fields = ['encadrants', 'structure^2', - 'lieux.nom', 'lieux.pays', 'lieux.ville'], - fuzziness = "auto") + dsl = dsl.query("multi_match", + query = kwargs["contexte"], + fields = ['encadrants', 'structure^2', + 'lieux.nom', 'lieux.pays', 'lieux.ville'], + fuzziness = "auto") use_dsl = True # @@ -107,7 +107,7 @@ def cherche(**kwargs): # Application 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 resultat = Stage.objects.filter(filtres)