Я пытаюсь накапливают счет с elasticsearch 2.3elasticsearch BOOL узел с constant_score
Я хочу постоянная оценка с publishEnd IS NULL и бронирование = верно.
И после того, что я хочу другого скоринг в зависимости от марки/модели/топлива
Вот мой поиск Титулы:
$params = [
'index' => 'app',
'type' => 'ad',
'body' => [
"from" => 0,
"size" => 12,
'query' => [
"constant_score" => [
"filter" => [
"and" => [
["missing" => [ "field" => "publishEnd" ]],
["term" => ['booked' => 0]],
],
],
],
'bool' => [
'filter' => [
["term" => ['brand' => 'renault']],
],
],
],
],
];
Я хочу, чтобы добавить вес на результаты, а не фильтровать их.
Это нормально для постоянной фильтрации баллов, но у меня возникают проблемы с добавлением веса для определенных брендов.
Я получил эту ошибку, когда я добавляю Ьоо узел:
parse_exception: не удалось разобрать источник поиска. Ожидается имя поля, но получил [START_OBJECT]
Спасибо,
Фил.
Редактировать Благодаря israelst, вот правильные параметры:
$params = [
'index' => 'app',
'type' => 'ad',
'body' => [
"from" => 0,
"size" => 12,
'query' => [
"bool" => [
'should' => [
"constant_score" => [
"filter" => [
"and" => [
["missing" => [ "field" => "publishEnd" ]],
["term" => ['booked' => 0]],
],
],
],
'filter' => [
["term" => ['brand' => 'renault']],
],
],
],
],
],
];
Да, уровень должен работать! Благодарю. –