...
Das befüllen von Dokumenten findet automatisiert statt. Um Dokumente effizient erstellen zu können, ist eine Konfigurationsdatei je Package notwendig. Sie ermöglicht die Linearisierung hierarchischer Strukturen und Konfiguration von Redis. Hier ein Beispiel für Artikelgruppen und Artikel.
Codeblock | ||
---|---|---|
| ||
{ "repositories": [ { "repository": "shopGroup", "documents": [ { "type": "base", "placeholder": [ { "name": "label", "pattern": "{{ output=$1 }} / {{ output=$3 }}", "modifier": { "WEIGHT": "0" } }, { "name": "description", "pattern": "{{ output=$2 }}<br />{{ output=$4 }}", "modifier": { "WEIGHT": "0" } }, { "name": "image", "pattern": "{{ output=$5 }}", "modifierisImage": {true "WEIGHT": "0" } }, { "name": "keywords", "pattern": "{{ output=$3 }}", "modifier": { "WEIGHT": "1" } } ], "trigger": [ ["shopArticle", "shopGroup"], ["shopGroup"] ], "node": { "repository": "shopGroup", "properties": [ { "number": 1, "name": "shopGroupName" }, { "number": 2, "name": "shopGroupDescription" } ], "nodes": [ { "repository": "shopArticle", "properties": [ { "number": 3, "name": "shopArticleName" }, { "number": 4, "name": "shopArticleDescription" }, { "number": 5, "name": "shopArticleImage1" } ] } ] } } ] } ] } |
...
Codeblock | ||
---|---|---|
| ||
'document-storage' => [ 'host' => getenv('DOCUMENT_STORAGE_HOST'), 'port' => getenv('DOCUMENT_STORAGE_PORT'), 'event-based' => false ] |
Zusätzlich wird folgender Cronjob benötigt.
Codeblock | ||||
---|---|---|---|---|
| ||||
-package=Doctrine/DocumentStore -host=domain.brandbox.de |
Rollen und Rechte
Rollen und Rechte bleiben bei der Indexierung unberücksichtigt. Bei der Suche wird jedoch anhand der Rollen gefiltert. Der Parameter $noAcl kann dafür verwendet werden.
...