Apresentando a biblioteca Elasticsearch DSL para fornecer um construtor de consultas objetivas para o pacote Elasticsearch e o cliente elasticsearch-php. Você pode criar facilmente qualquer consulta do Elasticsearch e transformá-la em um array.
Se precisar de ajuda, o stack overflow é a forma preferida e recomendada de fazer perguntas ao suporte do ONGR.
Se você gosta desta biblioteca, ajude-me a desenvolvê-la comprando uma xícara de café
Versão do Elasticsearch | Versão ElasticsearchDSL |
---|---|
>= 7,0 | >= 7,0 |
>= 6,0, < 7,0 | >= 6,0 |
>= 5,0, < 6,0 | >= 5,0 |
>= 2,0, < 5,0 | >= 2,0 (não suportado) |
>= 1,0, < 2,0 | 1.x (não suportado) |
<= 0,90.x | não suportado |
A documentação online do pacote está aqui
Instale a biblioteca com o compositor:
$ composer require ongr/elasticsearch-dsl
O cliente elasticsearch-php está definido nos requisitos do compositor, não há necessidade de instalá-lo.
Elasticsearch DSL foi extraído do Elasticsearch Bundle para fornecer dsl de consulta independente para elasticsearch-php. Exemplos de como usá-lo junto com o Elasticsearch Bundle podem ser encontrados na documentação do Elasticsearch Bundle.
Se você não quiser usar o pacote Symfony ou Elasticsearch, não se preocupe, você pode usá-lo em qualquer projeto junto com o elasticsearch-php. Aqui está o exemplo:
Se você estiver usando Symfony, há também o ElasticsearchBundle que fornece integração total com Elasticsearch DSL.
A biblioteca é autônoma e não está acoplada a nenhuma estrutura. Você pode usá-lo em qualquer projeto PHP, o único requisito é o compositor. Aqui está o exemplo:
Criar pesquisa:
<?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 cobre todas as consultas do elasticsearch, todos os exemplos podem ser encontrados na documentação