Moteur de recherche V8
Je suis tombé par hasard sur un article sur les recherches multicritères à l'aide du langage de script awk. Une idée de design a germé...
Dans ma recherche du toujours moins de lignes de code , je suis retourné à ma table à dessin pour développer un moteur de recherche appelé V8 car particulièrement rapide et puissant, puisque basé sur le point fort de awk dans la recherche de motifs/patterns !
Les motifs/patterns textuels sont transmis au script par (exemple) :
./V8 lisp abelson hal
Bien sûr, c'est un moteur inclusif, c'est à dire que chaque motif doit être trouvé ! Autrement dit je cherche ça et ça et ça etc...
N'importe quel ordre, n'importe quel nombre de motifs/patterns...
Ne tient pas compte de la casse mais tient compte des accents etc... Puisque compatible UTF-8 !
Sur Raspberry Pi / MX Linux, il faut installer gawk car celui d'origine ne gère pas les directives concernant la casse des caractères !
sudo apt install gawk
Le code :
#!/usr/bin/env ash ## script V8 moteur de recherche base KB 1 ligne/record ## (c)2024 Didier Jordana Creative Commons CC-BY-SA ## construction du fichier de commandes pour awk echo -n "BEGIN {IGNORECASE=1};" > OUT ## Maj/Min ! for motif in "$@"; do ## chaque motif/pattern en args echo -n "/$motif/ && " >> OUT done ## supprime le dernier && du fichier ! cat OUT | sed s/\&\&.$// > in.awk; rm -f OUT ## moteur multicritères ! awk -f in.awk < KB > SEARCH exit 0
Le rendre exécutable par chmod +x V8
Base de données textuelle KB, une ligne par record, fichier de sortie de la recherche SEARCH.
La licence proposée est la Creative Commons CC-BY-SA. Ce qui signifie que vous pouvez adapter le code source à votre convenance, à condition que vous me citiez et que vous donniez les mêmes droits aux autres (karma)...
Enjoy !