← Přehled / ai-search / configuration / indexing
Filtrování cest
Filtrování cest vám umožňuje určit, které soubory nebo adresy URL se mají indexovat, pomocí vzorů pro zahrnutí a vyloučení. Použijte ho k omezení indexování na konkrétní obsah nebo k vynechání souborů, které nechcete mít prohledávatelné.
Filtrování cest funguje jak s web a R2 zdrojů dat.
Konfigurace
Filtry cest můžete nastavit při vytváření nebo úpravě instance AI Search. V dashboardu otevřete Filtry cest a přidejte pravidla pro zahrnutí nebo vyloučení. Filtry cest můžete kdykoli upravit také v Nastavení stránku vaší instance.
Při použití REST API zadejte include_items a exclude_items v source_params vaší konfigurace:
| Parametr | Typ | Limit | Popis |
|---|---|---|---|
include_items |
string[] |
Maximálně 10 vzorů | Indexovat pouze položky, které odpovídají alespoň jednomu z těchto vzorů |
exclude_items |
string[] |
Maximálně 10 vzorů | Přeskočení položek odpovídajících některému z těchto vzorů |
Oba parametry jsou volitelné. Pokud není zadán žádný z nich, zaindexují se všechny položky ze zdroje dat.
Chování filtrování
Pravidla se zástupnými znaky
Pravidla vyloučení mají přednost před pravidly zahrnutí. Filtrování probíhá v tomto pořadí:
- Kontrola vyloučení: Pokud položka odpovídá některému vzoru pro vyloučení, přeskočí se.
- Kontrola zahrnutí: Pokud jsou definovány vzory pro zahrnutí a položka žádnému z nich neodpovídá, přeskočí se.
- Index: Položka postupuje k indexování.
| Scénář | Chování |
|---|---|
| Nejsou definována žádná pravidla | Indexují se všechny položky |
Pouze exclude_items definováno |
Indexují se všechny položky kromě těch, které odpovídají vzorům pro vyloučení |
Pouze include_items definováno |
Zaindexovány jsou pouze položky odpovídající alespoň jednomu vzoru pro zahrnutí |
| Obě definovány | Nejprve se kontrolují vzory vyloučení, poté musí zbývající položky odpovídat vzoru zahrnutí |
Syntaxe vzorů
Vzory používají syntaxi zástupných znaků rozlišující velká a malá písmena založenou na micromatch ↗:
| Zástupný znak | Význam |
|---|---|
* |
Odpovídá libovolným znakům kromě oddělovačů cest (/) |
** |
Odpovídá libovolným znakům včetně oddělovačů cest (/) |
Vzory mohou obsahovat:
- Písmena, číslice a podtržítka (
a-z,A-Z,0-9,_) - Spojovníky (
-) a tečky (.) - Oddělovače cesty (
/) - Znaky URL (
?,:,=,&,%) - Zástupné znaky (
*,**)
Stav indexovací úlohy
Položky přeskočené pravidly filtrování se zaznamenávají do protokolů úlohy s uvedením důvodu:
- Shoda vyloučení:
Skipped by rule: {pattern} - Žádná shoda se vzorem pro zahrnutí:
Skipped by Include Rules
Zobrazíte je na kartě Jobs své instance AI Search a ověříte, že vaše filtry fungují podle očekávání.
Důležité poznámky
- Rozlišování velkých a malých písmen: Porovnávání vzorů rozlišuje velká a malá písmena.
/Blog/*neodpovídá/blog/post.html. - Shoda podle úplné cesty: Vzory se porovnávají s celou cestou nebo adresou URL. Použijte
**na začátku pro částečnou shodu. Napříkladdocs/*odpovídádocs/file.pdfale nesite/docs/file.pdf, zatímco**/docs/*odpovídá oběma. - Jedna
*nepřechází mezi adresáři: Použijte**pokud chcete vzor uplatnit napříč oddělovači cest. Napříkladdocs/*odpovídádocs/file.pdfale nedocs/sub/file.pdf, zatímcodocs/**odpovídá oběma. - Na koncových lomítkách záleží: Adresy URL se porovnávají tak, jak jsou, bez normalizace.
/blog/neodpovídá/blog.
Příklady
Zdroj dat R2
| Případ použití | Vzor | Zaindexováno | Přeskočeno |
|---|---|---|---|
| Indexujte pouze PDF v dokumentaci | Zahrnout: /docs/**/*.pdf |
/docs/guide.pdf, /docs/api/ref.pdf |
/docs/guide.md, /images/logo.png |
| Vyloučit dočasné soubory a zálohy | Vyloučit: **/*.tmp, **/*.bak |
/docs/guide.md |
/data/cache.tmp, /old.bak |
| Vyloučit dočasné složky a zálohy | Vyloučit: /temp/**, /backup/** |
/docs/guide.md |
/temp/file.txt, /backup/data.json |
| Indexujte dokumentaci, ale vynechte koncepty | Zahrnout: /docs/**, Vyloučit: /docs/drafts/** |
/docs/guide.md |
/docs/drafts/wip.md |
| Omezení instance na jednoho tenanta | Zahrnout: /customers/acme/** |
/customers/acme/report.pdf |
/customers/globex/report.pdf |
Postup, jak dát každému tenantovi izolovanou instanci podloženou jedním sdíleným bucketem, najdete v Multitenancy.
Datový zdroj typu web
| Případ použití | Vzor | Zaindexováno | Přeskočeno |
|---|---|---|---|
| Indexujte pouze stránky blogu | Zahrnout: **/blog/** |
example.com/blog/post, example.com/en/blog/article |
example.com/about |
| Vyloučit administrátorské stránky | Vyloučit: **/admin/** |
example.com/blog/post |
example.com/admin/settings |
| Vyloučit přihlašovací stránky | Vyloučit: **/login* |
example.com/blog/post |
example.com/login, example.com/auth/login-form |
| Indexujte dokumentaci, ale vynechte koncepty | Zahrnout: **/docs/**, Vyloučit: **/docs/drafts/** |
example.com/docs/guide |
example.com/docs/drafts/wip |
Formát API
Při použití API zadejte vzory v source_params:
{
"source_params": {
"include_items": ["<PATTERN_1>", "<PATTERN_2>"],
"exclude_items": ["<PATTERN_1>", "<PATTERN_2>"]
}
}