Aller au contenu principal

Framework de validation

Le framework de validation exécute 4 niveaux de vérifications sur une source de données avant l'indexation.

Les 4 niveaux​

NiveauMéthodeObjectif
Niveau 1validate_structural(source)Disponibilité de la source, détection de schéma
Niveau 2validate_search(schema)Champs indexables, compatibilité des analyseurs
Niveau 3validate_performance(schema, source)Avertissements de performance (TEXT, etc.)
Niveau 4validate_runtime(source, sample_size)Itération d'échantillon, validation de types

Usage basique​

from whoosh_modern.validation import ValidationFramework, ValidationResult
from whoosh_modern.data_sources.sql import SQLSource
import sqlite3

conn = sqlite3.connect("benchmark/benchmark_data.db")
source = SQLSource(connection=conn, query="SELECT * FROM reuters_articles")

validator = ValidationFramework()
results: list[ValidationResult] = validator.validate(source)

for result in results:
status = "PASS" if result.passed else "FAIL"
print(f"Niveau {result.level}: {status}")

Validation individuelle​

errors = validator.validate_structural(source)
errors = validator.validate_search(schema)
warnings = validator.validate_performance(schema, source)
errors = validator.validate_runtime(source, sample_size=100)