Symfony mit mehreren Datenbanken & Foselasticabundle: Wie führt ich die globale Suche pro Benutzerdatenbank durch?Php

PHP-Programmierer chatten hier
Anonymous
 Symfony mit mehreren Datenbanken & Foselasticabundle: Wie führt ich die globale Suche pro Benutzerdatenbank durch?

Post by Anonymous »

Ich habe eine Symfony -Anwendung, bei der jeder Benutzer mit einer anderen Datenbank verbunden ist, aber alle Datenbanken teilen das gleiche Schema. Mein Ziel ist es, eine globale Suchfunktion mit Elasticsearch mit Foselasticabundle zu implementieren, aber ich muss sich aufgrund der mehreren Datenbankstruktur vor Herausforderungen stellen. > ** < /p>

[*] Datenbank -Setup: < /li>
< /ol>
  • Jeder Benutzer Stellt eine Verbindung zu einer bestimmten Datenbank her, abhängig von ihrer Anmeldung. < /li>
    Alle Datenbanken haben das gleiche Schema, speichern jedoch verschiedene Daten. start = "2">
    Foselasticabundel -Konfiguration: < /li>
    < /ol>

    Ich habe konfiguriert Foselasticabundle, um die Datenbankentitäten zu indizieren. />

    Code: Select all

    php bin/console fos:elastica:populate 
[critical] Error thrown while running command "fos:elastica:populate".
Message: "An exception occurred while executing a query: SQLSTATE[42P01]: Undefined table: 7
ERREUR: la relation « product » n'existe pas
LINE 1: ...ription AS description_2, p0_.size AS size_3 FROM product p0...
^"
< /code>
Dies deutet darauf hin, dass Elasticabundle versucht, eine Tabelle zu indizieren, die nicht vorhanden ist, wahrscheinlich weil sie nicht ordnungsgemäß auf die richtige Datenbank wechselt, bevor Daten besiedelt werden. < /p>
** Was ich erreichen möchte:
** < /p>
  • Jede Datenbank sollte einen eigenen Elasticsearch -Index haben. Wenn also ein Benutzer eine Suche durchführt , Es Abfragen nur den Index, der ihrer Datenbank entspricht.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post