Les accents ne bloquent plus.
La normalisation des accents et des majuscules rapproche « ecran » de « Écran ». Le même analyseur est utilisé pour les documents et les requêtes.
ecran → ÉcranRecherche plein texte, filtres et facettes, intégrés au moteur bext. Transformez le contenu de votre application en un index local interrogeable avec Tantivy.
Voir l'intégrationIllustration du parcours avec un document d'exemple.
Tantivy est une bibliothèque de recherche plein texte écrite en Rust. bext l'intègre à son runtime pour interroger un index sur disque depuis votre application, sans service de recherche externe à exploiter.
La normalisation des accents et des majuscules rapproche « ecran » de « Écran ». Le même analyseur est utilisé pour les documents et les requêtes.
ecran → ÉcranUn préfixe sur le dernier terme permet de retrouver un mot encore incomplet. Des garde-fous évitent d'élargir les termes trop courts ou les références numériques.
repar → réparationSi la première recherche ne renvoie aucun résultat, un repli tolérant aux fautes peut intervenir. Les correspondances initiales restent prioritaires.
ipone → iphoneCombinez filtres exacts, décomptes par valeur et tranches numériques. Les facettes portent sur le même ensemble filtré que les résultats.
marque · catégorie · prixLes index résident dans le répertoire du site. Le pont V8 utilise le même périmètre d'accès que les fichiers et la base de données du site.
.bext/search/catalogUn outil d'indexation dédié ajoute ou met à jour les documents par identifiant. Une liste d'identifiants permet de supprimer les contenus retirés.
ajouter · actualiser · supprimerDéclarez les champs texte, les facettes et les valeurs numériques. Exportez vos documents en JSON Lines avec un identifiant stable.
Un job d'indexation alimente Tantivy sur le disque du site. Le serveur conserve des lecteurs ; l'écriture s'effectue hors des requêtes utilisateur.
Interrogez l'index depuis le serveur. Recevez les résultats classés, le total et les facettes pour construire votre propre expérience de recherche.
Exemples illustratifs de comportements pris en charge. Le résultat réel dépend des documents indexés et de la requête.
ecranL'accent est normalisé.
La saisie et le document passent par la normalisation des accents et des majuscules.
reparLe dernier mot peut être incomplet.
Le préfixe du dernier terme ouvre la recherche pendant la saisie, lorsque ce terme est éligible.
iponeLe repli intervient après zéro résultat.
La recherche tolérante est une seconde tentative ; elle ne remplace pas une recherche qui a déjà trouvé des résultats.
Activez le backend sur un serveur bext compatible, créez l'index, puis appelez le pont natif dans un contexte V8 côté serveur.
L'opérateur active BEXT_SEARCH_TANTIVY=1 dans la configuration du processus serveur. Le backend est désactivé par défaut.
Installez l'outil bext-search-index, déclarez le schéma et fournissez vos documents JSON Lines. Les champs de facettes doivent être déclarés dès la création.
Le pont __search prend un nom d'index et une requête JSON. Il renvoie une chaîne JSON contenant les résultats, le total et les facettes demandées.
{
"text_fields": ["name", "description"],
"facet_fields": ["category", "brand"],
"numeric_fields": ["price_cents"]
}{"id":"screen-01","name":"Écran OLED","description":"Écran de remplacement","category":"screen","brand":"Demo","price_cents":12900}bext-search-index --root /path/to/site \
--index catalog --spec spec.json \
--docs documents.jsonldeclare function __search(index: string, queryJson: string): string;
// In a server-side bext V8 context.
const results = JSON.parse(__search("catalog", JSON.stringify({
text: "ecran",
filters: [["category", "screen"]],
limit: 12,
offset: 0,
facets: [
["brands", { Terms: { field: "brand", size: 8 } }]
]
})));
// results.hits · results.total · results.facetsCatalogue produit, documentation ou bibliothèque de contenu : construisez l'interface qui convient à vos utilisateurs.