Každý nový chat začíná s agentem, který zapomněl vaše dokumenty. Může je znovu načíst, což stojí čas a kontext, nebo se může poradit s něčím, co si pamatuje. GroupDocs.Search.Mcp uchovává pojmenovaný fulltextový index na disku, lokálně, který přežívá mezi relacemi a restarty kontejneru, takže Claude Desktop, Cursor nebo Copilot zahajují každou relaci s dokumenty projektu již prohledávatelnými a obnoví je jedním voláním, když se soubory změní:
Upravil jsem některé smlouvy. Aktualizujte index smluv a pak mi řekněte, které smlouvy nyní zmiňují pokutu.
Verze krok za krokem s konfigurací a řešením problémů je v dokumentaci: Jak udržet index dokumentů aktuální při změně souborů.
Co znamená „paměť“ pro agenta?
V praxi jde o dvě věci: stav, který přetrvává mimo konverzaci, a levný způsob, jak tento stav udržet pravdivý. Historie chatu selhává v obou ohledech: končí s relací a nic ji neaktualizuje, když se dokument změní. Vyhledávací index je pro dokumenty vhodnější. Žije na disku vedle nich, odpovídá na otázku „které soubory říkají X“ bez jejich načítání a může být inkrementálně aktualizován.
session 1 add_to_index --> index "contracts" --+
| kept on disk in
session 2 search, get_text_fragments <--------+ /data/.groupdocs-search-
(nothing is re-read) index/contracts
files edit update_index --> re-reads changed, added, deleted files only
new project create_index {"indexName":"legal-2026"} --> a separate index
Jak funguje aktualizace?
update_index porovnává index se soubory na disku a znovu načítá jen to, co se změnilo. Zde je, co server v našem testu vrátil po tom, co byla mezi dvěma voláními do jedné smlouvy přidána klauzule o pokutě:
-> get_index_info {"indexName":"contracts"}
<- { "documentCount": 5, "indexedPaths": [ "contracts" ],
"documentsWithErrors": [], "status": "Ready" }
-> update_index {"indexName":"contracts"}
<- Index 'contracts' updated: 0 added, 1 updated, 0 removed;
5 document(s) in the index.
-> search {"query":"penalty","indexName":"contracts"}
<- documentsFound 3, including the edited initech-nda.docx
Počty vám říkají, co se stalo: jeden soubor byl znovu načten, nic dalšího nebylo dotčeno. Smazané soubory vypadnou při stejném volání.
Proč jeden index na projekt?
Protože oddělené korpusy si zaslouží oddělené odpovědi. Otázka o letošních smlouvách by neměla přinést návrhy z loňských návrhů a dokumenty jednoho klienta by se neměly míchat s dokumenty jiného klienta. Názvy indexů jsou levné:
-> create_index {"indexName":"legal-2026"}
<- Index 'legal-2026' created. Add documents with add_to_index
(indexName: 'legal-2026').
Každý index je složka pod /data/.groupdocs-search-index a get_index_info bez názvu je vypíše všechny. Zřídka potřebujete explicitně create_index, protože add_to_index vytvoří index při prvním použití, ale jejich úmyslné pojmenování je to, co promění „index“ na „paměť tohoto projektu“.
Jedno pravidlo o odstraňování
Engine odstraňuje cesty, které byly přidány, nikoli jednotlivé soubory uvnitř nich. Server to říká jasně, když to zkusíte:
-> remove_from_index {"documentPath":"contracts/hooli-supply-terms.txt",...}
<- Removal failed for 'contracts/hooli-supply-terms.txt':
'contracts/hooli-supply-terms.txt' is inside the indexed folder
'contracts'. GroupDocs.Search removes whole indexed paths only: ...
Takže to navrhněte tak: pokud očekáváte, že později odstraníte část korpusu, například rok, klienta nebo návrhy, indexujte tyto části jako samostatné cesty (contracts/2025, contracts/2026) a každou lze odstranit samostatně. Smazání souboru na disku a spuštění update_index jej také odstraní.
Udržování aktuálnosti bez dotazu
create_index (optional)
|
v
add_to_index ---> search ---> get_text_fragments
^ ^
| | get_index_info: counts, paths, status
update_index (files changed on disk)
|
remove_from_index (only a path that was given to add_to_index)
Tři praktické způsoby, jak automatizovat aktualizaci:
- V instrukcích agenta. Řádek v
CLAUDE.mdneboAGENTS.md, “callupdate_indexfor this project’s index before answering if files may have changed”, přiměje agenta provést to na začátku relace. - Podle plánu. Jakákoli automatizace podporující MCP může volat
update_indexkaždou noc; když se málo změnilo, volání je rychlé. - Po hromadném kopírování. Jedno volání zachytí každý přidaný soubor.
Indexy také přežívají aktualizace: indexy vytvořené GroupDocs.Search 22.7 až 26.8 jsou při prvním použití převedeny, s zálohou uloženou vedle nich.
Co rozhoduje agent a co dělá index
| Agent rozhoduje | Index dělá |
|---|---|
| ke kterému indexu otázka patří | uchovává každý pojmenovaný index ve své vlastní složce |
| kdy se soubory mohly změnit | znovu načítá jen změněné, přidané a smazané soubory |
| která slova hledat a jaké varianty zkusit | porovnává slova, fráze, rozsahy; hlásí nalezené termíny |
| kolik kontextu citovat | vrací úryvky s požadovaným počtem slov kolem nich |
| co vám říct | nic: vrací počty, cesty a text, nikdy závěry |
Rozdělení je úmyslné. Rozhodování zůstává na modelu a fakta, ze kterých usuzuje, pocházejí z nástroje, jehož výstup můžete zkontrolovat.
Upřímná omezení
- V evaluačním režimu index obsahuje maximálně 100 dokumentů a vyhledávání vrací maximálně 10. Před spoleháním se na index jako na zdroj pravdy zavolejte
get_license_status. - Index přetrvává pouze pokud je
/data(nebo svazek indexu) připojený jako hostitelská složka; jinak zmizí s kontejnerem. - Index obsahuje text dokumentů: chraňte a likvidujte jej stejně jako dokumenty.
- Pouze Docker; na Linuxu přidejte
--user "$(id -u):$(id -g)", aby kontejner mohl zapisovat do indexu.
Často kladené otázky
Pamatuje si agent mé dokumenty mezi relacemi?
S trvalým indexem ano: index zůstává na disku a další relace jej prohledá bez opětovného načítání čehokoli.
Musím index přestavovat, když se soubory změní?
Ne. update_index znovu načítá jen změněné, přidané a smazané soubory.
Mohu mít index oddělený od dokumentů jen pro čtení?
Ano. Připojte dokumenty jen pro čtení, připojte zapisovatelnou složku na /index a nastavte GROUPDOCS_MCP_INDEX_PATH=/index.
Prohloubení
- Dokumentace, kanonický návod: Jak udržet index dokumentů aktuální při změně souborů
- Středisko dokumentace: GroupDocs.Search MCP Server
- Začněte zde: Potřebujete vektorovou databázi pro kladení otázek o složku dokumentů?
- Související: grep neumí číst PDF: poskytněte svému programovacímu agentovi index dokumentů
- Související: Proč by AI agent neměl číst 300 smluv pro zodpovězení jedné otázky
- Související: Základní odpovědi z vašich souborů: citujte úryvek, ne paměť modelu
- Související: Prohledejte archiv e‑mailů pomocí AI agenta: PST, MSG, EML a přílohy uvnitř
- On-premise a bezpečnostní model: 3 architektury pro AI zpracování dokumentů a ta, která udržuje soubory uvnitř vaší sítě
- Vydání enginu: GroupDocs.Search pro .NET 26.10 – Přehled vydání říjen 2026
- Otázky: GroupDocs Search forum
- Zdroj: GroupDocs.Search.Mcp on GitHub