#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