---
title: "Семантикалық іздеуді қосу"
description: "Міндетті емес векторлық іздеу: ауыр нативті стек, VECTOR_SEARCH ауыстырғышы, модель деңгейлері және толық мәтіндік іздеуге кедергісіз қайту."
---

# Семантикалық іздеуді қосу

Notarium-дегі толық мәтіндік іздеу (FTS) **әрқашан және баптаусыз** жұмыс істейді. Семантикалық (векторлық) іздеу — міндетті емес мүмкіндік: ол мағына бойынша гибридті ранжирлеу береді, бірақ ауыр нативті стекті (`onnxruntime` + `sqlite-vec`, дискіде ~660 МБ) және алғаш қосқанда жүктелетін жергілікті эмбеддинг моделін (дискіде ~600 МБ және жүздеген МБ RAM) талап етеді. Сондықтан ол әдепкіде өшірулі әрі саналы түрде қосылады. Іздеу ішкі жағынан қалай құрылғаны — [Концепциялар: іздеу](/docs/concepts/search/) бөлімінде.

## Екі тәуелсіз ауыстырғыш

Екі деңгейді ажырата білу маңызды — орнату мен рантайм:

1. **Орнату** — нативті векторлық стек `node_modules` ішінде бар-жоғы. **Docker-образ оны әрқашан алып жүреді**, сондықтан контейнерде қосу қайта құрастыруды қажет етпейді. Бастапқы кодтан жұмыс істегенде стандартты `make deps` оны **орнатпайды** (`node_modules` жергілікті орнатуы ~660 МБ жеңілірек болады) — жергілікті векторлық жұмыс үшін `make deps-vector` керек.
2. **Рантайм** — `VECTOR_SEARCH` айнымалысы. Жарияланған образда ол әдепкіде `off`.

Docker-дегі семантика үшін рантайм-ауыстырғышты қосу жеткілікті — стек әлдеқашан орнында.

## Қосу

```bash
docker run -d --name notarium \
  -p 3000:3000 \
  -v notarium-data:/data \
  -e VECTOR_SEARCH=on \
  docouno/notarium:latest
```

(Бір `/data` томы бүкіл күйді ұстайды — қызметтік дерекқор, индекстер, сіздің жазбаларыңыз, экспорт артефактілері; кәдімгі іске қосудағыдай, [Орнату](/docs/self-hosting/install/) қараңыз. Мұнда оған тек `VECTOR_SEARCH=on` қосылған.)

Алғаш қосқанда әдепкі модель (bge-m3) жүктеледі (дискіде ~600 МБ) және жүздеген МБ RAM ұстайды. Индекстеу фондық режимде жүреді: толық мәтіндік іздеу бірден қолжетімді, векторлар кейін қуып жетеді.

## Модель деңгейлері

Модель `EMBED_MODEL` + `EMBED_DIMENSIONS` жұбымен таңдалады (өлшемділік модельмен **міндетті түрде** сәйкес келуі керек) — бұл бір образдағы рантайм-баптау, бөлек құрастыру емес:

| Деңгей | Айнымалылар | RAM | Қашан |
|---|---|---|---|
| **off** | `VECTOR_SEARCH=off` | 0 | Әлсіз машина немесе кілт сөздер бойынша іздеу жеткілікті. Образ үшін әдепкі. |
| **compact** | `VECTOR_SEARCH=on`, `EMBED_MODEL=Xenova/multilingual-e5-small`, `EMBED_DIMENSIONS=384` | ~120 МБ | Homelab, шағын VPS. |
| **full** | `VECTOR_SEARCH=on` (әдепкі: bge-m3, 1024) | ~600 МБ | Қуатты машина; 100+ тіл, ұзын контекст. |

> [!warning] Асимметриялы e5 модельдері
> Компакт деңгей (e5) `EMBED_QUERY_PREFIX="query: "` және `EMBED_PASSAGE_PREFIX="passage: "` префикстерін талап етеді — оларды ұмыту іздеу сапасын үнсіз төмендетеді. Симметриялы bge-m3 үшін, керісінше, префикстерді **қоюдың қажеті жоқ**.

## Шектеулі машинадағы ресурстар

swap-сыз әрі ~6 ГБ RAM-мен жұмыс істейтін хостта bge-m3 бастапқы индекстеуі жады шегіне тіреліп қалуы мүмкін. Екі тетік: compact деңгейін (e5-small) алыңыз немесе `EMBED_CPU_MEM_ARENA=off` қойыңыз — бұл шамалы баяулау есебінен тұтынуды ~1.9 ГБ шамасында ұстайды. Эмбеддинг параметрлерінің толық тізімі — [Анықтамалықта](/docs/reference/environment-variables/).

## Толық мәтіндік іздеуге қайту

Егер `VECTOR_SEARCH=off` болса немесе нативті стек қандай да бір себеппен жүктелмесе, іздеу **толық мәтін бойынша жұмысын жалғастырады** — қатесіз, нәтижелер дәл сол күйінде көрінеді. Семантика — әрқашан жұмыс істейтін FTS үстіндегі қосымша ранжирлеу арнасы, міндетті тәуелділік емес. Векторсыз дана — толығымен жұмысқа қабілетті дана.
