searchAnalytics buildAutoComplete

Performance et Mise à Jour d'Index Volumineux

Scénario de test & Cas d'usage

Contexte Métier

Un portail de documentation technique contient des milliers d'articles de base de connaissances. Le système doit reconstruire l'index d'autocomplétion chaque nuit pour inclure les nouveaux articles. Le test valide la capacité à gérer un volume moyen et à écraser (replace) l'ancien index.
À propos du Set : searchAnalytics

Indexation de données et fonctionnalités de recherche.

Découvrir toutes les actions de searchAnalytics
Préparation des Données

Génération de 5000 titres d'articles techniques via une boucle pour simuler du volume, puis création de l'index de termes associé.

Copié !
1DATA casuser.kb_articles;
2 LENGTH title $100;
3 DO i=1 to 5000;
4 title = cats('Erreur Système Code ', put(i, z5.), ' - Documentation Serveur');
5 OUTPUT;
6 END;
7RUN;
8 
9PROC CAS;
10 search.buildTermIndex /
11 TABLE={name='kb_articles', caslib='casuser'}
12 casOut={name='index_termes_kb', caslib='casuser', replace=true};
13RUN;

Étapes de réalisation

1
Première exécution : Création initiale de l'index d'autocomplétion.
Copié !
1PROC CAS;
2 searchAnalytics.buildAutoComplete /
3 index={name='index_termes_kb', caslib='casuser'}
4 casOut={name='kb_suggestions', caslib='casuser'};
5RUN;
2
Seconde exécution : Simulation d'une mise à jour batch avec l'option replace=true pour vérifier la robustesse de l'écrasement.
Copié !
1PROC CAS;
2 searchAnalytics.buildAutoComplete /
3 index={name='index_termes_kb', caslib='casuser'}
4 casOut={name='kb_suggestions', caslib='casuser', replace=true};
5RUN;

Résultat Attendu


La première exécution crée la table. La seconde exécution ne doit pas échouer (erreur 'Table exists') mais doit correctement remplacer la table existante grâce au paramètre replace=true, prouvant que le processus batch nocturne est viable.