public Indexador(DOCUMENTO documento) { this.Documento = documento; this._stopWordRepositorio = new StopWordRepositorio(new RIConnectionString()); this._indiceRepositorio = new IndiceRepositorio(new RIConnectionString()); this._vocabularioRepositorio = new VocabularioRepositorio(new RIConnectionString()); }
public void InsereDocumento(DOCUMENTO documento) { _context.DOCUMENTOes.Add(documento); Save(); }
public void AtualizaDocumento(DOCUMENTO documento) { _context.Entry(documento).State = System.Data.EntityState.Modified; Save(); }
//THREAD QUE EFETUA A COLETA void FuncaoExecThread() { while (ThreadsExecutando && ExisteURLFila) { try { string url = DesenfileiraURL(); if (!string.IsNullOrEmpty(url)) { if (TempoEsperaConexao > 0) Thread.Sleep(TempoEsperaConexao * 1000); else Thread.Sleep(2 * 1000); DOCUMENTO documento = _documentoRepositorio.GetDocumentoByURL(url); string html = GetTextoPagina(url); if (!html.ToUpper().Contains(@"<!DOCTYPE HTML")) { EscreveLog(false, "Não é pagina web a URL para coleta. - " + url); continue; } if (documento != null) { documento.DOC_HTML = html; documento.DOC_DATA_ATUALIZACAO = DateTime.Now; documento.DOC_INDEXADO = false; _documentoRepositorio.AtualizaDocumento(documento); EscreveLog(false, "Inserido URL: " + url); } else { documento = new DOCUMENTO(); documento.DOC_URL = url; documento.DOC_DATA_INSERCAO = DateTime.Now; documento.DOC_HTML = html; documento.DOC_DATA_ATUALIZACAO = DateTime.Now; documento.DOC_INDEXADO = false; _documentoRepositorio.InsereDocumento(documento); EscreveLog(false, "Atualizado URL: " + url); } GetNovaURL(html); } } catch (Exception ex) { EscreveLog(true, "Erro ao processar URL. Mensagem: " + ex.Message + " Excecao: "+ex.InnerException + " StackTrace: "+ex.StackTrace); continue; } } }