Berlin Buzzwords – Day 1 – Joining in Lucene

  • Daten sind oft relational während Dokument in Lucene keine Relationen haben
  • Block indexing (sequentielles hinzufügen von Dokumenten) wird für Relationen gebraucht
  • Ein Block ist quasi eine Gruppe von Dokumenten
  • Das letzte Item das zu einem Block hinzugefügt wird ist das Elternelement
  • Als Beispiel würde man alle Farb-/Größenkombinationen eines Produktes und schliesslich das Produkt inkl. Namen und Produktnummer zu einem Block hinzufügen
  • Dann kann z.B. mit toParentBlocksJoinQuery() gesucht werden
  • ElasticSearch unterstütz nested objects out-of-the-box
  • Mithilfe der createJoinQuery Methode kann auch zur Query-Zeit ein Join erreicht werden
  • Index-Time Joining ist schneller (3 – 5x) während Querytime Joining natürlich flexibler ist
  • Solr hat ebenfalls eine Join Implementierung
GD Star Rating
loading...

Kommentar verfassen