Elasticsearch. Извлекаем данные
Команда:
Получаем данные по определенному Id:
GET /megacorp/employee/1
Ищем все данные:
GET /megacorp/employee/_search
Поиск по параметрам:
GET /megacorp/employee/_search?q=last_name:Smith
CURL:
Получаем данные по определенному Id:
$curl -XGET 'http://localhost:9200/megacorp/employee/1'
Ищем все данные:
$curl -XGET 'http://localhost:9200/megacorp/employee/_search'
Поиск по параметрам:
$curl -XGET 'http://localhost:9200/megacorp/employee/_search?q=last_name:Smith'
PHP:
Получаем данные по определенному Id:
require 'vendor/autoload.php'; $client = Elasticsearch\ClientBuilder::create()->build(); $params = [ 'index' => 'megacorp', 'type' => 'employee', 'id' => '1' ]; $response = $client->get($params); print_r($response);
Ищем все данные:
require 'vendor/autoload.php'; $client = Elasticsearch\ClientBuilder::create()->build(); $response = $client->search(); print_r($response);
Поиск по параметрам:
require 'vendor/autoload.php';
$client = Elasticsearch\ClientBuilder::create()->build(); $params = [ 'index' => 'megacorp', 'type' => 'employee', 'body' => [ 'query' => [ 'match' => [ 'last_name' => 'Smith' ] ] ] ]; $response = $client->search($params);
Получаем массив, где:
took – время выполнения запроса.
timed_out – возвращает true если время выполнения запроса прошло.
_shards – по умолчанию, Elasticsearch размещает данные по 5 шардам (сегментам). Если значение 5 будет в total и successful то каждый шард работает корректно.
hits - результат поиска.
Yii2:
Получаем данные по определенному Id:
$model = Megacorp::get(1); var_dump($model->last_name);
Ищем все данные:
$model = Megacorp::find()->all(); var_dump($model);
Поиск по параметрам:
$params = [ 'match' => [ 'last_name' => 'Smith' ] ]; $model = Megacorp::find()->query($params)->all();
var_dump($model);
Дополнительно
- Что такое Elasticsearch и как его установить
- Пример добавления данных в Elasticsearch с помощью CURL, PHP, Yii2
- Пример извлечения (получения) данных в Elasticsearch с помощью CURL, PHP, Yii2
- Пример поиска в Elasticsearch с помощью CURL, PHP, Yii2
- Пример управления индексами в Elasticsearch с помощью CURL, PHP, Yii2
- Параметры полей
Предыдущая часть: Elasticsearch. Добавление данных (индексация)
Комментарии
Комментарии отсутствуют, Вы можете быть первым