2014-06-12 4 views
6

Ich verwende Grails-ElasticSearch Plugin (0.0.2.5). Ich möchte meinen Domäneninstanzen eine Einschränkung hinzufügen, bevor sie in ElasticSearch indiziert wird.Grails-ElasticSearch Plugin: Bedingte Indizierung von Domain-Instanzen

Beispiel: - Ich habe eine Domäne Klasse A mit einem Feld 'Status', ich möchte eine Abstraktion zwischen Datenbank und ElasticSearch hinzufügen, dh alle Instanzen sollten in der Datenbank gefüllt sein, aber Instanzen mit ACTIVE Status sollten gesendet werden zu elasticsearch.

Bitte schlagen Sie vor, wenn dies möglich ist?

Danke, Karan

Antwort

1

Der einfachste Ansatz ist es, alle Einträge in dem Index hinzuzufügen, und dann Abfrage eine Filtered Abfrage unter Verwendung eines Filters wie Begriff („Status“, „aktiv“) verwendet wird. Da die gefilterte Abfrage nur alle nicht übereinstimmenden Ergebnisse bereinigt, bevor die Bewertungen berechnet werden, sollte dies die Leistung nicht signifikant beeinträchtigen. Ein etwas komplexerer Ansatz besteht darin, das Repo zu forkieren und eine spezifische Interceptor-Eigenschaft hinzuzufügen.