Einführung der Elasticsearch DSL-Bibliothek zur Bereitstellung eines objektiven Abfrage-Builders für das Elasticsearch-Bundle und den Elasticsearch-php-Client. Sie können ganz einfach jede Elasticsearch-Abfrage erstellen und in ein Array umwandeln.
Wenn Sie Hilfe benötigen, ist Stack Overflow die bevorzugte und empfohlene Möglichkeit, Fragen zum ONGR-Support zu stellen.
Wenn Ihnen diese Bibliothek gefällt, helfen Sie mir bei der Entwicklung, indem Sie eine Tasse Kaffee kaufen
Elasticsearch-Version | ElasticsearchDSL -Version |
---|---|
>= 7,0 | >= 7,0 |
>= 6,0, < 7,0 | >= 6,0 |
>= 5,0, < 6,0 | >= 5,0 |
>= 2,0, < 5,0 | >= 2.0 (nicht unterstützt) |
>= 1,0, < 2,0 | 1.x (nicht unterstützt) |
<= 0,90.x | nicht unterstützt |
Die Online-Dokumentation des Bundles finden Sie hier
Bibliothek mit Composer installieren:
$ composer require ongr/elasticsearch-dsl
Der Elasticsearch-php-Client ist in den Composer-Anforderungen definiert und muss nicht installiert werden.
Elasticsearch DSL wurde aus dem Elasticsearch Bundle extrahiert, um eine eigenständige Abfrage-DSL für Elasticsearch-php bereitzustellen. Beispiele für die Verwendung zusammen mit Elasticsearch Bundle finden Sie in den Elasticsearch Bundle-Dokumenten.
Wenn Sie Symfony oder das Elasticsearch-Bundle nicht verwenden möchten, ist das kein Problem, Sie können es in jedem Projekt zusammen mit Elasticsearch-php verwenden. Hier ist das Beispiel:
Wenn Sie Symfony verwenden, gibt es auch das ElasticsearchBundle, das eine vollständige Integration mit Elasticsearch DSL bietet.
Die Bibliothek ist eigenständig und nicht an ein Framework gekoppelt. Sie können es in jedem PHP-Projekt verwenden, die einzige Voraussetzung ist Composer. Hier ist das Beispiel:
Suche erstellen:
<?php
require ' vendor/autoload.php ' ; //Composer autoload
$ client = ClientBuilder:: create ()-> build (); //elasticsearch-php client
$ matchAll = new ONGR ElasticsearchDSL Query MatchAllQuery ();
$ search = new ONGR ElasticsearchDSL Search ();
$ search -> addQuery ( $ matchAll );
$ params = [
' index ' => ' your_index ' ,
' body ' => $ search -> toArray (),
];
$ results = $ client -> search ( $ params );
Elasticsearch DSL deckt jede Elasticsearch-Abfrage ab, alle Beispiele finden Sie in der Dokumentation