以下全是测试代码:如有需要了解安装 ElasticSearch和IK分词的可参考:https://blog.csdn.net/weixin_42579642/article/details/84317099
use Elasticsearch\ClientBuilder;
class ElasticController extends Controller
{
public function creat(){
$esclient = ClientBuilder::create()
->setHosts(["172.20.10.14:9200"])
->build();
$data = DB::table('user')->get();
// 单次插入
/* foreach($data as $k=>$v) {
$params = [
'index' => 'shop',
'type' => 'user',
'id' => $v->id,
];
unset($v->id);
foreach($v as $kk => $vv){
$params['body'][$kk] = $vv;
}
$res = $esclient->index($params);
}*/
// 批量分次插入
/* $arr = [];
foreach($data as $k=>$v){
$arr[]['index'] = ['_id' => $v->id];
$arr2 = [];
foreach($v as $kk=>$vv){
$arr2[$kk] = $vv;
}
$arr[] = $arr2;
}
//print_r(count($arr)/2/6);exit;
$num = 6; //设置多少条插入一次
$count = count($arr)/2/$num;
$res = [];
for($i=0;$i<$count;$i++)