Php Elasticsearch с параметрами запроса

#php #elasticsearch

#php #elasticsearch

Вопрос:

У меня есть хост для Elasticsearch, настроенный следующим образом 199.55.56.289:9998. Что мне нужно, так это создать сообщение с телом Json, а также добавить несколько пользовательских поисковых запросов к этому URL-адресу хоста, чтобы оно выглядело примерно так: 199.55.56.289:9998/архив / блог?param1 = 0amp;param2 = 150amp;param3 = 0

Есть ли способ добавить эти 3 параметра запроса в тело json при выполнении post-запроса? в этом случае я знаю, что

 $query = 
[
    index: archive,
    type: blog
    ...
]
  

но что я могу сделать с этими параметрами uri?

Ответ №1:

Elasticsearch поддерживает поиск по uri, поэтому вы можете использовать его следующим образом

 <?php

$query = 'event:played AND a:b AND @timestamp:c';

$finalUrl = '199.55.56.289:9998/archive/blog?q='.urlencode($query);

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$finalUrl);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$output=curl_exec($ch);
curl_close($ch);

echo $output.PHP_EOL;

  

Проверьте здесь: https://www.elastic.co/guide/en/elasticsearch/reference/7.9/search-search.html#search-api-query-params-q