Projet

Général

Profil

Development #26268

carto : amélioration recherche multi-mots

Ajouté par Frédéric Péters il y a plus de 5 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
10 septembre 2018
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Aujourd'hui s'il y a plusieurs mots passés à la recherche ils sont considérés comme un seul (et donc ça doit matcher exactement et dans le bon ordre); j'aimerais pourtant pouvoir taper velo guichard et que ça matche "vélov'v place guichard".

Sans sortir d'artillerie lourde (mais un jour…), je pense que ça améliorerait déjà pas mal de couper en mots et de prendre comme résultats les éléments où tous les mots se retrouvent.


Fichiers

Révisions associées

Révision f872cafd (diff)
Ajouté par Frédéric Péters il y a plus de 5 ans

maps: require all words to match when querying layer features (#26268)

Historique

#2

Mis à jour par Frédéric Péters il y a plus de 5 ans

#3

Mis à jour par Thomas Noël il y a plus de 5 ans

J'ai l'impression que match() pourrait utiliser issubset(...), genre :

    query_words = set(slugify(x) for x in request.GET['q'].split())

    def match(feature):
        words = set(slugify(get_property) for geo_property in (feature['properties'].values() + additional_strings) if isinstance(geo_property, six.string_types))
        return query_words.issubset(words)

non ?

#4

Mis à jour par Frédéric Péters il y a plus de 5 ans

Non, on ne fait pas de match précis sur les mots, on fait if word in slugify(geo_property), qui attrape un match partiel, "bicycle" là où dans le nom du layer est "bicycles".

#5

Mis à jour par Thomas Noël il y a plus de 5 ans

  • Statut changé de Solution proposée à Solution validée

Ah oui, j'avais mal compris. Ack, donc.

#6

Mis à jour par Frédéric Péters il y a plus de 5 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit f872cafd758d08da10f30ff2b1e00f7d189941ae
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Fri Sep 14 12:16:33 2018 +0200

    maps: require all words to match when querying layer features (#26268)
#7

Mis à jour par Frédéric Péters il y a plus de 5 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF