Laravel 具有静态字段值的Elasticsearch multi_查询
我一直在跟踪Elasticsearch与Laravel 6的合作。一切正常,但我需要对查询进行一些更改。我需要对此进行更改:Laravel 具有静态字段值的Elasticsearch multi_查询,laravel,
elasticsearch,Laravel,
elasticsearch,我一直在跟踪Elasticsearch与Laravel 6的合作。一切正常,但我需要对查询进行一些更改。我需要对此进行更改: private函数searchOnElasticsearch(字符串$query='',int$fooId=3):数组 { $model=新客户; $items=$this->elasticsearch->search([ 'index'=>$model->getSearchIndex(), 'type'=>$model->getSearchType(), “正文”=>[
private函数searchOnElasticsearch(字符串$query='',int$fooId=3):数组
{
$model=新客户;
$items=$this->elasticsearch->search([
'index'=>$model->getSearchIndex(),
'type'=>$model->getSearchType(),
“正文”=>[
“查询”=>[
“多重匹配”=>[
'类型'=>'最佳字段',
'fields'=>['FirstName^5','姓氏^5'],
'query'=>$query,
//我需要包括以下内容:
//字段['foo_id'=>$fooId]
],
],
],
]);
退回$items;
}
本质上,它基于查询
查询整个模型。我不想那样。用户只能基于列的值返回数据。假设模型是callCustomers
。在customers表上,有一个名为foo\u id
的字段。我需要类似的搜索,如:
Customer::query()
->whereRaw(“类似“%”的上限(字段)。“%”和foo_id=“.3”)
如何将静态字段值与
多重匹配
?我已经看过了,但似乎没有任何效果?如果有人正在寻找类似的答案:
/**限制返回结果数量的可选选项:
*“从”=>0,
*“大小”=>5,
*/
“查询”=>[
“bool”=>[
“必须”=>[
[“匹配”=>[“foo_id”=>3],//静态值
[
“多重匹配”=>[
“查询”=>$query,
“类型”=>“交叉字段”,
“运算符”=>“或”,
“字段”=>[
“名字”,
“姓”,
//…其他领域
],
“最小值应匹配”=>“2”,
]
],
]
]
]
],