Представляем библиотеку Elasticsearch DSL, предоставляющую построитель объективных запросов для пакета Elasticsearch и клиента elasticsearch-php. Вы можете легко создать любой запрос Elasticsearch и преобразовать его в массив.
Если вам нужна помощь, предпочтительным и рекомендуемым способом задать вопросы в службу поддержки ONGR является переполнение стека.
Если вам нравится эта библиотека, помогите мне ее развивать, купив чашку кофе.
Версия Elasticsearch | Версия ElasticsearchDSL |
---|---|
>= 7,0 | >= 7,0 |
>= 6,0, < 7,0 | >= 6,0 |
>= 5,0, < 6,0 | >= 5,0 |
>= 2,0, < 5,0 | >= 2.0 (не поддерживается) |
>= 1,0, < 2,0 | 1.x (не поддерживается) |
<= 0.90.x | не поддерживается |
Онлайн-документация пакета находится здесь.
Установите библиотеку с помощью композитора:
$ composer require ongr/elasticsearch-dsl
Клиент elasticsearch-php определен в требованиях композитора, его не нужно устанавливать.
Elasticsearch DSL был извлечен из Elasticsearch Bundle для предоставления автономного dsl запроса для elasticsearch-php. Примеры его использования вместе с Elasticsearch Bundle можно найти в документации Elasticsearch Bundle.
Если вы не хотите использовать пакет Symfony или Elasticsearch, не беспокойтесь, вы можете использовать его в любом проекте вместе с elasticsearch-php. Вот пример:
Если вы используете Symfony, есть также ElasticsearchBundle, который обеспечивает полную интеграцию с Elasticsearch DSL.
Библиотека является автономной и не связана с какой-либо платформой. Вы можете использовать его в любом проекте PHP, единственное требование — композитор. Вот пример:
Создать поиск:
<?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 охватывает каждый запрос elasticsearch, все примеры можно найти в документации.