Я использую REST API с использованием PHP для извлечения данных из поиска Elastic со следующим кодом
$params = [
'index' => $search_index,
'type' => $search_type,
'from' => $_POST["from"],
'size' => $_POST["fetch"],
'body' => [
'query' => [
'bool' => [
'must' => [
[ 'match' => [ 'is_validated' => false ] ],
[ 'query_string' => [ 'query' => $search_str, 'default_operator' => 'OR' ] ]
]
]
]
]
];
Теперь, это работает отлично и дает мне желаемые результаты.
Данные, которые возвращаются из ES, имеют один столбец «result_source» и имеют предопределенные значения, такие как CNN, BBC или YouTube и т. Д.
Что мне нужно, так это то, что я хочу отфильтровать результаты по столбцу «result_source» таким образом, чтобы я мог получать результаты только с нужной мне опцией. Например, я хочу, чтобы результаты имели значение «result_source» только «YouTube» или только «BBC & CNN» или только «CNN или YouTube» и т. Д.
Я уже пробовал опцию «Следует», но она также возвращает данные с другими значениями, которые мне не нужны. Не уверен, как пропустить эти значения столбца "result_source" при получении результатов из ES.
Любая помощь в этом будет оценена.
Спасибо