elasticsearch php 多个名称
elasticsearch php multiple names
我有要搜索的 FNAME、LNAME 和地址。我要搜索
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
有一种方法可以指定与您的 SQL 查询非常相似的查询,使用 query_string
query:
$params = [
'index' => $this->arrayES['index'],
'type' => $this->arrayES['type'],
'body' => [
'query' => [
'query_string' => [
'query' => 'FName:Jo* AND LName:ro* AND Address:34*'
]
]
]
];
我有要搜索的 FNAME、LNAME 和地址。我要搜索
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
有一种方法可以指定与您的 SQL 查询非常相似的查询,使用 query_string
query:
$params = [
'index' => $this->arrayES['index'],
'type' => $this->arrayES['type'],
'body' => [
'query' => [
'query_string' => [
'query' => 'FName:Jo* AND LName:ro* AND Address:34*'
]
]
]
];