эластичный поиск php несколько имен

У меня есть FNAME, LNAME и Address, по которым я хочу искать. Я хочу искать

FName = jo
LName = ro
Address = 34

это должно дать мне все записи, которые имеют FName и LName, начиная с jo и ro (LIKE)
так что если бы это был mysql, это было бы FNmae Like jp% And LName Like ro% AND Address Like 34%

так что у меня пока это

 $params = [
'index' => $this->arrayES['index'],
'type' =>  $this->arrayES['type'],
'body' => [
'query' => [
'match' =>  ["FName"=>"Jo"]
]
]
];

Проблема в том, что это дает мне только JO

и когда я пытаюсь добавить LName и адрес

'match' =>  ["FName"=>"Jo", "LName"=>"ro", "Address"=>"34"]

что ошибки.

Нужна помощь

Спасибо

** Ожидаемые результаты **

FName             LName             Address
Jo                  Ro               34 W Ave
John                Rosa             3456 Havana Ave
Johnny              Ronnatte         341 House Rd

0

Решение

Есть способ, который позволяет указать очень похожий запрос к вашему запросу SQL, используя query_string запрос:

 $params = [
'index' => $this->arrayES['index'],
'type' =>  $this->arrayES['type'],
'body' => [
'query' => [
'query_string' =>  [
'query' => 'FName:Jo* AND LName:ro* AND Address:34*'
]
]
]
];
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]