Private Felder
Felder wie Einkaufspreise bleiben für vertrauenswürdige Aufrufer nutzbar und erreichen nie Widget, Assistent oder Schlüssel ohne Berechtigung.
Index → Sucheinstellungen → Private Felder (settings.search.privateFields,
höchstens 64).
| Aufrufer | Private Felder |
|---|---|
API-Schlüssel mit documents:read_private (oder *) | Ja |
| API-Schlüssel ohne diesen Scope | Nein |
Widget (/embed/*), Assistent, Answer, RAG | Nie |
GET /documents/export | Nur mit Scope |
Snapshot-Download (GET /indexes/{slug}/snapshots/{id}) | Nur mit documents:read_private; sonst ist download null |
Eingeschränkte Schlüssel (POST /indexes/{slug}/scoped-key) | Für einen Index mit privaten Feldern überhaupt nicht ausgestellt, außer der ausstellende Schlüssel hat documents:read_private (400 PRIVATE_FIELDS_PRESENT): Ein Browser mit dem Schlüssel könnte auf ein privates Feld filtern und found lesen |
| Konsole | Owner und Admins ja, Member nein (von einem Member geöffnete Dokumente kommen ohne sie an) |
Ohne Berechtigung verschwinden die Felder aus Treffern, Highlights, Facetten,
Gruppen, explain, GET /documents/{id} und dem Export. Eine Anfrage, die ein
privates Feld in query_by, filter_by, sort_by, facet_by, include_fields
oder group_by nennt, wird mit 400 PRIVATE_FIELD abgelehnt.
Geprüft wird, was die Engine erhalten würde: facetFilters werden zuerst in
filter_by zusammengeführt, und Feldnamen werden nach dem Entfernen von
Anführungszeichen, Leerzeichen und ! verglichen — " cost_price:10" wird wie
cost_price:10 abgelehnt. Die Facettenwert-Suche (/facets/{attribute}/search)
und /assistant/native wenden dieselbe Regel an.
Einbettbares Widget
Eine vollständige Suchoberfläche mit einem Script-Tag und einem kurzlebigen Session-Token — Session-Vertrag, alle Datenattribute, Events, Theming und CSP-Hinweise.
Ergebnis-Cache
Wie wiederholte Suchen aus dem Cache kommen, wie jede Schreiboperation ihn invalidiert und wie cacheTtl wirkt.