Skip to content

Sync database with elasticsearch

Christopher Lorke edited this page Dec 19, 2018 · 1 revision

Mithilfe eines Artisan-Commands können suchbare Eloquent-Models mit Elasticsearch synchronisiert werden. Dabei werden mithilfe von bulkSave() große Blöcke von Daten aus der Datenbank in Elasticsearch importiert.

php artisan triadev:index:sync {--index=}

  • --index= Index instead of the default one

Wieviele Datensätze pro Block importiert werden sollen, wird über die globale Konfiguration gesteuert. (sync.chunkSize) Auch welche Models mit dem entsprechenden Index synchronisiert werden sollen, kann über die Konfiguration bestimmt werden. (sync.models.INDEX_NAME)

Configuration

'sync' => [
    // max chunk size: 1000
    'chunkSize' => env('LEOPARD_SYNC_CHUNK_SIZE', 1000),
    'models' => [
        env('LEOPARD_INDEX', 'default_index') => [
            'TestClass::class',
            ...
        ],
        'other_index' => [
            'TestClass::class',
            ...
        ]
    ]
]
Clone this wiki locally