2016-07-04 5 views
-3

Ich baue eine Rails App mit 2 Modellen Users & Dokumente. Ein Benutzer kann 1.000 Dokumente haben.Empfehlung Anfrage zur Struktur & Suche ElasticSearch

Ich bin auf der Suche nach Rat zur Einrichtung dieser w Rails + ElasticSearch. Sollte ich für jeden Benutzer in ElasticSearch einen Index verwenden?

Auch jetzt, wenn ich Document.search ausführen, gibt es @ documents Ergebnisse für alle Benutzer zurück. Was ist der richtige Weg, um Suchergebnisse auf die bestimmte Document.user_id zu beschränken? Ich vermute, diese beiden Fragen sind miteinander verwandt, weshalb ich sie in eine Frage aufgenommen habe.

Dank

+0

Warum die down vote? – AnApprentice

+0

Down-Stimmen können bedeuten, dass jemand glaubt, dass Sie nicht genug Forschung getan haben. Es gibt viele Treffer bei der Suche nach "rails elasticsearch". Hast du das gelesen? Hast du ihre Lösungen ausprobiert? Wenn ja, dann stellen Sie eine spezifische Frage zu dem Problem, nicht eine allgemeine, breite Frage. "[mcve]" wird Ihnen helfen, diese Frage zu stellen. –

Antwort

1

Sofern Sie eine sehr kleine Anzahl von Benutzern mit einem sehr großen (100s von Tausenden und mehr), die Sie fast definitiv pro Benutzer einen Index nicht wollen, haben würden. Es gibt einen Overhead pro Index, der bei einer großen Anzahl von Benutzern signifikant werden würde.

Eine mögliche Ausnahme könnte sein, wenn verschiedene Benutzer Dokumente mit sehr unterschiedlichen Feldern speichern würden, aber auch dann wäre es besser, wenn Sie eine kleine Anzahl von Indizes anstelle von einem pro Benutzer verwenden.