php - titel - title tag länge




Wie wird Elastic Search auf einer bereits vorhandenen SQL-Datenbank verwendet? (2)

Ich habe eine Menge guter Dokumentation über die Implementierung von Elastic Search auf einer Website mit JavaScript oder PHP gelesen.

Sehr gute Einführung in ES .

Sehr vollständige Dokumentation here und here .

Eine ganze CRUD .

Elastische Suche mit PHP: here , here und here .

Der Grund, warum ich Ihnen diese URLs gebe, ist zu verstehen, wie Sie eine oder viele dieser großartigen Dokumentationen verwenden, wenn Sie eine bereits existierende SQL DB haben.

Ich verpasse den Punkt irgendwo: Wie sie sagten Elasticsearch wird seine eigenen Indizes und DB mit MongoDB erstellen, ich verstehe nicht, wie kann ich meine (gigantische) Datenbank mit SQL verwenden? Nehmen wir an, ich habe eine MySQL-Datenbank, und ich möchte Elasticsearch verwenden, um meine Recherchen schneller zu machen und dem Benutzer vorgefertigte Abfragen vorzuschlagen. Wie mache ich das? Wie arbeitet ES mit MySQL? Wie kann man diesen gigantischen Datensatz (über 8 GB) in die ES DB übertragen, um am Anfang voll funktionsfähig zu sein?

Danke vielmals


Ich benutze jdbc-river w / mysql. Es ist sehr schnell. Sie können sie so konfigurieren, dass sie kontinuierlich Daten abfragt oder einmalige Importe (One-Shot-Strategie) verwendet.

z.B

curl -xPUT http://es-server:9200/_river/my_river/_meta -d '
{
    "type" : "jdbc",
    "jdbc" : {
        "strategy" : "simple",
        "poll" : "5s",
        "scale" : 0,
        "autocommit" : false,
        "fetchsize" : 10,
        "max_rows" : 0,
        "max_retries" : 3,
        "max_retries_wait" : "10s",
        "driver" : "com.mysql.jdbc.Driver",
        "url" : "jdbc:mysql://mysql-server:3306/mydb",
        "user" : "root",
        "password" : "password*",
        "sql" : "select c.id, c.brandCode, c.companyCode from category c"
    },
    "index" : {
        "index" : "mainIndex",
        "type" : "category",
        "bulk_size" : 30,
        "max_bulk_requests" : 100,
        "index_settings" : null,
        "type_mapping" : null,
        "versioning" : false,
        "acknowledge" : false
    }
}'

Wenn Sie eine leistungsfähigere und skalierbarere Lösung für die von jdbc-flow angebotene Abfrage benötigen, empfehle ich Ihnen diese Präsentation, in der erläutert wird, wie Sie inkrementelle Synchronisierung von SQL Server in die elastische Suche durchführen:

Die im Video besprochenen Prinzipien gelten auch für andere RDBMS -> NoSQL-Replikationsanwendungen.







elasticsearch