Backends
Whoosh-NG supporte des backends de stockage pluggables via l'architecture Provider. Le backend par défaut stocke les données comme fichiers sur disque, mais vous pouvez utiliser SQLite, PostgreSQL, S3, et plus encore.
Backends intégrés
| Backend | Description |
|---|---|
| Fichier (défaut) | Stocke l'index comme fichiers sur disque |
| SQLite | Stocke l'index dans une base SQLite |
| Mémoire | Backend en mémoire (tests uniquement) |
Backend Fichier (défaut)
from whoosh.index import create_in
# Utilise FileBackend par défaut
ix = create_in("indexdir", schema)
Backend SQLite
from whoosh.backends.sqlite import SQLiteBackend
from whoosh.store.sqlite import SQLiteStorage
storage = SQLiteStorage("index.db")
backend = SQLiteBackend(storage=storage)
Avantages
- Index en un seul fichier
- Meilleur pour les charges transactionnelles
- Sauvegardes plus faciles
- Supporte les lectures concurrentes
Backend Mémoire
from whoosh.backends.memory import MemoryBackend
backend = MemoryBackend() # Utile pour les tests
Bonnes pratiques
- File backend pour production: Le plus éprouvé
- SQLite pour déploiement mono-fichier: Plus facile à déployer
- Mémoire pour les tests: Rapide, pas de nettoyage nécessaire
- Fichiers composés: Activez pour réduire le nombre de fichiers
- Stratégie de sauvegarde: File = copier le répertoire; SQLite = copier le fichier