Пример #1
0
 public static function tokenizer($nomeDiretorio)
 {
     $endAbsoluto = app_path() . '/data/colecoes/' . $nomeDiretorio;
     $lista = self::listaDiretorio($endAbsoluto);
     $tam = count($lista);
     $log = app_path() . '/data/colecoes/log.txt';
     $i = 1;
     foreach ($lista as $arq) {
         $logFile = fopen($log, 'w');
         $data = $i . "-" . $tam . "-" . $arq;
         fwrite($logFile, $data);
         fclose($logFile);
         $i++;
         $pont = fopen($endAbsoluto . '/' . $arq, 'r');
         if ($pont) {
             $posicao = 0;
             while (true) {
                 $linha = fgets($pont);
                 if ($linha == null) {
                     break;
                 }
                 $termos = explode(' ', $linha);
                 foreach ($termos as $t) {
                     $tripla = new IndiceInvertido();
                     $valor = trim($t);
                     if (strlen($valor)) {
                         $posicao++;
                         $tripla->termo = $t;
                         $tripla->documento = $arq;
                         $tripla->posicao = $posicao;
                         $tripla->save();
                     }
                 }
             }
             fclose($pont);
         }
     }
     //Limpando o log do arquivo
     $logFile = fopen($log, 'w');
     $data = "";
     fwrite($logFile, $data);
     fclose($logFile);
 }