Aller au contenu principal

SearchView

SearchView intègre une source de données avec l'indexation Whoosh.

Usage basique​

from whoosh_modern.views import SearchView
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",
incremental_field="article_date",
id_field="id",
)

view = SearchView(
name="reuters",
source=source,
)

# Créer l'index
ix = view.build("indexdir")

Rafraîchissement incrémental​

# Réindexation complète
count = view.reindex()

# Rafraîchissement incrémental
count = view.refresh()

Validation​

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

Mode strict​

view = SearchView(
name="strict",
source=source,
strict=True, # Lever ValidationError en cas d'échec
)