De l'utilisation des regexp "ou" (|) dans les catégories
publié le , mis à jourOn a utilisé assez largement la syntaxe ~ | dans les catégories.
#1
'[amenity=restaurant][cuisine~"italian|pizza"]'
# 2
'["diet:vegetarian"~"yes|only"]'
Or ce ~ il va trouver toutes les valeurs qui incluent les options.
Dans l'exemple 1, ça pose pas trop de problèmes parce que si une valeur comporte "italian" ou "pizza", c'est probablement pertinent de l'afficher.
Dans l'autre cas, si une valeur "yes-maybe" était dispo, ce ne serait pas pertinent de l'afficher.
Vous l'aurez compris, c'est pas un ticket urgent, mais ça vaut le coup de le garder en tête.
Suite à #1860
laem
La syntaxe correcte des regexp est un peu plus compliquée. Ça vaut le coup de l'utiliser pour les requêtes avec plein de valeurs en "ou".
Sinon, dupliquons simplement les lignes.
etienneJr
c'est moi qui ai ajouté le plus de regexp dans les requêtes de catégories 😅
Je ne me souviens de cas où ça pouvait être problématique. En revanche je me souviens de cas où ça simplifiait vachement.
Ce qui est sûr c'est que ça fait des requêtes overpass beaucoup plus courtes en nb de caractères (car ça ne duplique pas la bbox). Mais je ne sais pas si en pratique ça fait des requêtes plus rapides. Faudrait tester.
etienneJr
Un autre argument : la syntaxe regexp avec
~permet d'inclure les multivalués dans les résultats. Certes ils sont peu nombreux car c'est une pratique déconseillée. Mais c'est notre boulot de réutilisateur de savoir gérer ce genre de cas limites. Exemple avec"shop"~"pastry"laem
Intéressant, j'ignorais cette possibilité !