# Manticore Search 25.0.0: kluczowe aktualizacje dla wyszukiwania hybrydowego i tabel RT
W Manticore Search 25.0.0 zaimplementowano pełne wyszukiwanie hybrydowe, łączące zapytania pełnotekstowe i wektorowe w jednym wywołaniu. Uproszczono pakietowanie, dodano wstępną filtrację KNN, równoległą obsługę tabel RT, wsparcie dla prepared statements oraz backupy w magazyny kompatybilne z S3. Te zmiany optymalizują wdrożenie i eksploatację systemów wyszukiwania w scenariuszach high-load.
Wymagania dotyczące aktualizacji
Przed aktualizacją uwzględnij niezgodności:
- Wymagane MCL 13.0.0 z nowymi parametrami API_URL i API_TIMEOUT dla embeddingów.
- Klastry replikacji aktualizuj synchronicznie ze względu na protokół replikacji od 24.0.0.
- Zmiany tokenizacji bigramów (od 23.0.0) powodują niezgodność indeksów z wersjami legacy.
- Wstępna filtracja KNN zmienia kolejność wyników: teraz priorytet mają sąsiedzi spełniający filtr na etapie wyszukiwania.
Uproszczone pakietowanie
Pakiet manticore jest teraz monolityczny dla deb/rpm: zawiera daemon, narzędzia, konwerter, dane ICU, Jieba, pakiety językowe (de, en, ru). Aktualizacja: usuń stare pakiety manticore*, zainstaluj nowy — dane są zachowane. W systemach yum konfiguracja jest automatycznie backupowana. To eliminuje konflikty zależności i upraszcza procesy devops.
Wyszukiwanie hybrydowe
Wyszukiwanie hybrydowe łączy MATCH() i KNN() w SQL lub JSON. Przykład zapytania SQL:
SELECT * FROM table
WHERE MATCH('query')
AND KNN('vector_column', query_embedding, 10) > 0.8;
Nadaje się do wyszukiwania semantycznego z leksykalną precyzją: kategorie produktów, multitenancy, filtry RBAC. Zmniejsza latencję dzięki jednemu zapytaniu.
Wstępna filtracja KNN
Filtry atrybutów są stosowane podczas wyszukiwania wektorowego, a nie po fakcie. Dla zapytań „najbliżsi sąsiedzi po wektorze + kategoria=electronics” relevancja rośnie, kandydaci są odrzucani wcześnie. Przydatne w e-commerce, rekomendacjach, wyszukiwaniu enterprise z ACL.
Optymalizacja tabel RT
Równoległe N-arnie scalanie chunków przyspiesza OPTIMIZE pod obciążeniem zapisu. Zamiast sekwencyjnego scalania — zadania concurrent, skracające downtime kompaktyzacji. Tabele RT są teraz odporne na ruch high-insert bez degradacji wydajności zapytań.
Prepared statements
Wsparcie dla prepared statements kompatybilnych z MySQL: prepare/execute w protokole binarnym. Kompatybilne z connection pools, ORM (SQLAlchemy, Hibernate), frameworkami. Upraszcza migrację z MySQL/PostgreSQL bez refaktoryzacji kodu klienta.
PREPARE stmt FROM 'SELECT * FROM idx WHERE MATCH(?)';
EXECUTE stmt USING 'search query';
DEALLOCATE PREPARE stmt;
Backupy w S3
Backup/restore obsługują AWS S3, MinIO, Wasabi, Cloudflare R2. Idealne dla Kubernetes/Docker: lokalny dysk ephemeral, magazyn obiektowy — persistent. Komenda: backup --storage s3://bucket/path.
Automatyczne embeddingi
MCL 13.0.0 dodaje API_URL, API_TIMEOUT. Wsparcie dla GGUF (quantized), T5-encoder, HF z rate-limit, replikacja embeddingów w RT. Dla lokalnych/ chmurowych pipeline'ów: generuj embeddingi on-the-fly bez zewnętrznych serwisów.
Poprawki błędów
Wydanie zawiera 36 poprawek:
- Brak fałszywych trafień MATCH przy timeout max_query_time.
- Replikacja nie gubi wierszy przy duplikatach doc ID.
- Stabilność auto-embeddingów: UTF-8, RT-locks.
- LEFT JOIN zwraca MySQL NULL (nie string 'NULL').
- Race condition w zapisie RT-chunków usunięta.
- Fuzzy search w zapytaniach multi-table.
Co ważne:
- Wyszukiwanie hybrydowe zmniejsza złożoność kodu o 30–50% w aplikacjach semantycznych.
- Prefiltracja KNN zwiększa precyzję w obciążeniach filtrowanych.
- Monolityczny pakiet upraszcza pipeline'y CI/CD.
- Backupy S3 zapewniają RPO/RTO <1h w chmurze.
- Prepared statements przyspieszają integrację z ekosystemem MySQL.
Szczegółowy changelog dostępny w repozytorium. Wersja 25.0.0 czyni Manticore gotowym do produkcji dla hybrid search at scale.
— Editorial Team
Brak komentarzy.