public function validateElastic() { if (!$this->hasErrors()) { $bulk = new Bulk(); if (!$bulk->userQueryValidate($this)) { $this->addError('words', 'Параметры задания составлены с ошибкой, проверьте параметры.'); } } }
public function TaskStart() { //удалим файл результата, если он существует if (file_exists(\Yii::getAlias('@taskDirFile') . '/' . $this->task->link . '.txt')) { unlink(\Yii::getAlias('@taskDirFile') . '/' . $this->task->link . '.txt'); } //формируем запрос к эластику на выборку данных $elastic = new Bulk(); $elastic->fileResult = \Yii::getAlias('@taskDirFile') . '/' . $this->task->link . '.txt'; $elastic->createQuery($this->task); //$elastic->user_query->fields(['word']); //$elastic->resultToFile(); //получаем данные порциями, типа через Итератор-эластика и пишим в файл $elastic->scrollScan(); unset($elastic->user_query); }
public function readfile($name) { $data_send = ''; $handle = fopen('/var/www/keywords/web/' . $name, "r") or die("Couldn't get handle"); if ($handle) { $bulk = new \app\models\Bulk(); $i = 1; while (!feof($handle)) { $i++; //if($skip){ //if($i<4267782570){continue;} //} $buffer = fgets($handle, 4096); $data_send .= json_encode(['index' => array('_id' => md5($buffer))]) . "\n" . json_encode(['word' => $buffer]) . "\n"; if ($i % 300 == 0) { $bulk->multiCreate($data_send); unset($data_send); $data_send = ''; } } fclose($handle); $bulk->multiCreate($data_send); unset($handle); unset($bulk); @unlink('/var/www/keywords/web/' . $name); $this->stdout($name . PHP_EOL, Console::FG_GREEN, Console::BOLD); } }