Гибридті іздеу
Notarium-дегі іздеу бірін-бірі толықтыратын тәуелсіз арналардан құралған. Толық мәтіндік (лексикалық) іздеу әрдайым қолжетімді және баптауды қажет етпейді. Мағына бойынша семантикалық іздеу мен граф байланыстарын ескеру — оның үстіндегі қосымша қабаттар. Арналардың нәтижелері біртұтас рейтингке біріктіріледі, ал қосымша қабаттар қолжетімсіз болса — іздеу толық мәтін бойынша қатесіз жұмысын жалғастыра береді.
Үш арна
| Арна | Не істейді | Қашан жұмыс істейді |
|---|---|---|
| Лексикалық (FTS/BM25) | Сөздер мен тіркестердің дәл сәйкестігін табады, BM25 бойынша реттейді | Әрдайым, баптаусыз |
| Семантикалық (векторлар) | Ортақ сөздер болмаса да, мағынасы жақынын табады | Қосымша (VECTOR_SEARCH) |
| Граф күшейтуі | Табылғанның [[wiki-сілтемелер]] арқылы көршілерін тартады | Қосымша (GRAPH_BOOST), әдепкіде өшірулі |
Лексикалық арна — негіз: ол іске қосылған соң бірден жұмыс істейді, ештеңе орнатудың қажеті жоқ. Семантикалық арна мағынаны түсінуді қосады (синонимдер, қайта тұжырымдаулар), ал граф күшейтуі байланыстар туралы білімді қосады.
Нәтижелер қалай біріктіріледі
Арналар RRF алгоритмімен (Reciprocal Rank Fusion, k=60) біріктіріледі: әр арна өз реттелген тізімін береді, ал RRF оларды салыстыруға келмейтін «шикі» бағалар бойынша емес, орындар бойынша ортақ рейтингке жинайды. Осылайша лексикалық сәйкестік пен мағыналық жақындық бірге өлшенеді. Біріктіру жазба деңгейінде — оның тұрақты идентификаторы бойынша жүреді.
flowchart LR
q([Сұраныс]) --> fts[Лексика · FTS/BM25]
q --> vec[Семантика · векторлар]
q --> gr[Граф · 1-hop]
fts --> rrf{RRF біріктіруі}
vec --> rrf
gr --> rrf
rrf --> res([Нәтижелер])
Егер семантика қолжетімсіз болса
Семантикалық қабат өшірулі не қолжетімсіз болуы мүмкін: VECTOR_SEARCH қосылмаған, векторлық стек орнатылмаған, модель жүктелмеген немесе сұраныс векторын есептеу таймаутқа сыймаған. Осы жағдайлардың кез келгенінде сұранысты лексикалық арна өңдейді — іздеу әрдайым жауап береді және семантиканың жоқтығынан қате шығармайды.
Векторлық іздеу ауыр нативті стекті тартады (дискіде ~660 МБ) және эмбеддинг моделін жадыға жүктейді (жүздеген МБ RAM), сондықтан ол жария образда әдепкіде өшірулі. Оны қалай қосу керектігі мен қай модельді таңдау керектігі Іздеуді баптау бөлімінде сипатталған.
Сіз қайда іздейсіз
- Spotlight / OmniSearch — жазбаға жылдам, реттелген өту. Мұнда толық гибрид жұмыс істейді: тек сөздің дәл сәйкестігі емес, релеванттылық маңызды. Іздеу және Spotlight бөлімін қараңыз.
- Ағын сүзгісі (Ағындағы
?q=) — корпус бойынша лексикалық сүзгі: ол терминдер шынымен кездесетін жазбаларды қалдырады және қалталар, тегтер мен күндер бойынша сүзгілермен қосарланады.
Индекс және оны қайта құру
Іздеу индексі — туынды білім: ол файлдардан құрылады және ресканмен толық қалпына келтіріледі. Бір кеңістікке — бір индекс. Эмбеддинг моделін ауыстыру — миграция емес, векторлық бөлікті нөлден қайта құру. Үлкен қордағы векторлық индексті алғаш құру минуттарға, тіпті сағаттарға созылады; сол уақытта интерфейс «Building search index…» индикаторын көрсетеді, ал іздеудің өзі лексикалық режимде қолжетімді болып қала береді.
Сабақтас тақырыптар: Білім графы — үшінші арна қайдан келеді, Іздеуді баптау — семантиканы қосу және тирді таңдау, File-first — индекс неге қалпына келтіріледі.