Domaine : DEV
Sujet : Moteur de Recherche
Date : 09 novembre 2025
5c35cc20-bd7c-11f0-bae9-57f670621154

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

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 / ZorinOS 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 dash
## script V8 moteur de recherche base KB 1 ligne/record
## (c)2025 Didier Jordana Creative Commons CC0 Domaine Public

## 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 !
sed s/\&\&.$// < OUT > 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 CC0 Domaine Public. Bref, vous en faîtes ce que vous voulez...

Enjoy !