[英]elasticsearch php multiple names
我有要搜索的FNAME和LNAME以及地址。 我要搜尋
FName = jo
LName = ro
Address = 34
那應該給我所有以jo和ro(LIKE)開頭的FName和LName的記錄,所以如果是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
有一種方法可以使用query_string
查詢指定與SQL查詢非常相似的查詢 :
$params = [
'index' => $this->arrayES['index'],
'type' => $this->arrayES['type'],
'body' => [
'query' => [
'query_string' => [
'query' => 'FName:Jo* AND LName:ro* AND Address:34*'
]
]
]
];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.