2016-07-01 7 views

Antwort

1

Ich denke, diese Frage wenig verschwommen ...

Wenn in Ihrem Job bei der Indizierung Daten, die Sie nicht _id angeben werden - Sie Duplikate spawnen - es schreckliche Situation ist.
Aber wenn Sie _id angeben, werden Sie einfach dieselben Dokumente ein paar Mal neu indizieren - es ist nicht so schrecklich, aber es ist zusätzliche und unnötige Arbeit für Ihren Server.
Aber wenn Ihr Job viele Ressourcen (CPU, Speicher, etc) verbrauchen Sie möglicherweise Ihren Server überlasten ...

+0

Ja, wir geben ID und es scheint nicht, Duplikate zu spawnen. Ich werde die Indizierung verbessern müssen, damit es keine unnötige Arbeit macht. –

0

Nichts sollte passieren. Elasticsearch kann so einfach umgehen. Mein Rat wäre, von der anderen Seite auf dieses Problem zu schauen. Vielleicht wäre es besser, stattdessen die Synchronisierung zu verbessern. z.B. Registrieren Sie die Einfügevorgänge in die Warteschlange und skalieren Sie sie dann auf mehrere Worker. BTW verwenden Sie Bulk für Einfügen?

+0

Nein, ich verwende keine Masse zum Einfügen. Würde das die Performance beim Einfügen verbessern? –

+1

Sie sollten Bulk verwenden. Ohne es ist jede einzelne Operation separate HTTP-Anfrage. Mit Bulk können Sie 1000 Einträge in einer einzigen Anfrage einfügen oder aktualisieren. Überprüfen Sie diese https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html – saimaz