Пример #1
0
 public function validateElastic()
 {
     if (!$this->hasErrors()) {
         $bulk = new Bulk();
         if (!$bulk->userQueryValidate($this)) {
             $this->addError('words', 'Параметры задания составлены с ошибкой, проверьте параметры.');
         }
     }
 }
Пример #2
0
 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);
 }
Пример #3
0
 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);
     }
 }