Feature: Replace Whoosh with tantivy search backend (#12471)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Antoine Mérino <3023499+Merinorus@users.noreply.github.com>
This commit is contained in:
Trenton H
2026-04-02 12:38:22 -07:00
committed by GitHub
parent e01a762e81
commit aed9abe48c
52 changed files with 4050 additions and 1708 deletions
+13
View File
@@ -1,14 +1,27 @@
import hashlib
import logging
import shutil
from collections.abc import Callable
from collections.abc import Iterable
from os import utime
from pathlib import Path
from subprocess import CompletedProcess
from subprocess import run
from typing import TypeVar
from django.conf import settings
from PIL import Image
_T = TypeVar("_T")
# A function that wraps an iterable — typically used to inject a progress bar.
IterWrapper = Callable[[Iterable[_T]], Iterable[_T]]
def identity(iterable: Iterable[_T]) -> Iterable[_T]:
"""Return the iterable unchanged; the no-op default for IterWrapper."""
return iterable
def _coerce_to_path(
source: Path | str,