Un peu comme Solr, mais beaucoup plus petit et moins brillant.
Un index de recherche très simple peut être créé en utilisant les éléments suivants :
var idx = lunr ( function ( ) {
this . field ( 'title' )
this . field ( 'body' )
this . add ( {
"title" : "Twelfth-Night" ,
"body" : "If music be the food of love, play on: Give me excess of it…" ,
"author" : "William Shakespeare" ,
"id" : "1"
} )
} )
La recherche est alors aussi simple que :
idx . search ( "love" )
Cela renvoie une liste de documents correspondants avec un score indiquant dans quelle mesure ils correspondent à la requête de recherche ainsi que toutes les métadonnées associées concernant la correspondance :
[
{
"ref" : "1" ,
"score" : 0.3535533905932737 ,
"matchData" : {
"metadata" : {
"love" : {
"body" : { }
}
}
}
}
]
La documentation de l'API est disponible, ainsi qu'un exemple de travail complet.
Lunr.js est une petite bibliothèque de recherche en texte intégral à utiliser dans le navigateur. Il indexe les documents JSON et fournit une interface de recherche simple pour récupérer les documents qui correspondent le mieux aux requêtes textuelles.
Pour les applications Web dont toutes les données sont déjà stockées dans le client, il est logique de pouvoir également rechercher ces données sur le client. Cela évite d’ajouter des services supplémentaires compactés sur le serveur. Un index de recherche local sera plus rapide, il n'y aura pas de surcharge réseau et restera disponible et utilisable même sans connexion réseau.
Incluez simplement le fichier source lunr.js dans la page sur laquelle vous souhaitez l'utiliser. Lunr.js est pris en charge dans tous les navigateurs modernes.
Alternativement, un package npm est également disponible npm install lunr
.
Les navigateurs qui ne prennent pas en charge ES5 nécessiteront une cale JavaScript pour que Lunr fonctionne. Vous pouvez utiliser Augment.js, ES5-Shim ou toute bibliothèque qui corrige les anciens navigateurs pour fournir un environnement JavaScript compatible ES5.
Voir le fichier CONTRIBUTING.md
.