public void FixtureSetup()
        {
            directory = new RAMDirectory();
            IndexWriter writer = new IndexWriter(directory, synonymAnalyzer, IndexWriter.MaxFieldLength.UNLIMITED);
            NivelDocumental n = new NivelDocumental();
            //var doc = new Util.NivelDocumentalToLuceneDocument(n);
            Document doc = new Document();
            doc.Add(new Field("content", "Manobras no Porto", Field.Store.NO, Field.Index.ANALYZED));
            doc.Add(new Field("content", "Registo do testamento com que faleceu Ana Amália de Brito e Cunha", Field.Store.NO, Field.Index.ANALYZED));
            writer.AddDocument(doc);
            writer.Dispose();

            searcher = new IndexSearcher(directory);
        }
Пример #2
0
        public void GetARandomDocument()
        {            
            IList<long> ids = GISAUtils.getAllNivelDocumentalIds();

            if (ids.Count > 0)
            {
                Random random = new Random();
                int pos = random.Next(0, ids.Count - 1);

                long initMemory = GC.GetTotalMemory(true);
                NivelDocumental doc = new NivelDocumental(ids[pos]);
                long usedMemory = (GC.GetTotalMemory(true) - initMemory) / 1024;

                Console.WriteLine("One Document Memory: " + usedMemory.ToString() + "KB");
                Assert.IsNotNull(doc);
            }
        }
Пример #3
0
        public void GetAllNivelDocumental()
        {
            try
            {
                IList<long> ids = GISAUtils.getAllNivelDocumentalIds();

                long initMemory = GC.GetTotalMemory(true);
                foreach (long id in ids)
                {
                    NivelDocumental doc = new NivelDocumental(id);
                    Assert.IsNotNull(doc);
                }
                long usedMemory = (GC.GetTotalMemory(true) - initMemory) / 1024;

                GC.Collect();
                GC.WaitForPendingFinalizers();

                Console.WriteLine("All Documents Memory: " + usedMemory.ToString() + "KB");
            }
            catch (InsufficientMemoryException)
            {
                Console.WriteLine("It's too much for me...!");
            }
        }
Пример #4
0
        public static Document NivelDocumentalToLuceneDocument(NivelDocumental nd)
        {
            Field fieldId = new Field("id", nd.Id, Field.Store.YES, Field.Index.NOT_ANALYZED);
            Field fieldCodigo = new Field("codigo", nd.Codigo.ToLower(), Field.Store.NO, Field.Index.NOT_ANALYZED);
            Field fieldDesignacaoTipoNivelRelacionado = new Field("designacaoTipoNivelRelacionado", nd.DesignacaoTipoNivelRelacionado, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDesignacaoSorted = new Field("designacaoSorted", nd.DesignacaoTipoNivelRelacionado.ToLower(), Field.Store.YES, Field.Index.NOT_ANALYZED);
            Field fieldNotaDoArquivista = new Field("notaDoArquivista", nd.NotaDoArquivista, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldRegrasOuConvencoes = new Field("regrasOuConvencoes", nd.RegrasOuConvencoes, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldHistoriaAdministrativa = new Field("historiaAdministrativa", nd.HistoriaAdministrativa, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldHistoriaCustodial = new Field("historiaCustodial", nd.HistoriaCustodial, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldFonteImediataDeAquisicao = new Field("fonteImediataDeAquisicao", nd.FonteImediataDeAquisicao, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDesignacaoTipoTradicaoDocumental = new Field("designacaoTipoTradicaoDocumental", nd.DesignacaoTipoTradicaoDocumental, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldInicioTexto = new Field("inicioTexto", nd.InicioTexto, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldInicioAtribuida = new Field("inicioAtribuida", nd.InicioAtribuida, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldFimTexto = new Field("fimTexto", nd.FimTexto, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldFimAtribuida = new Field("fimAtribuida", nd.FimAtribuida, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldExistenciaDeOriginais = new Field("existenciaDeOriginais", nd.ExistenciaDeOriginais, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldExistenciaDeCopias = new Field("existenciaDeCopias", nd.ExistenciaDeCopias, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldUnidadesRelacionadas = new Field("unidadesRelacionadas", nd.UnidadesRelacionadas, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldNotaDePublicacao = new Field("notaDePublicacao", nd.NotaDePublicacao, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldConteudoInformacional = new Field("conteudo", nd.ConteudoInformacional, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldIncorporacao = new Field("incorporacao", nd.Incorporacao, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDesignacaoTipoOrdenacao = new Field("designacaoTipoOrdenacao", nd.DesignacaoTipoOrdenacao, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldNotaGeral = new Field("notaGeral", nd.NotaGeral, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldEstatutoLegal = new Field("estatutoLegal", nd.EstatutoLegal, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldCondicaoDeAcesso = new Field("condicaoDeAcesso", nd.CondicaoDeAcesso, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldCondicaoDeReproducao = new Field("condicaoDeReproducao", nd.CondicaoDeReproducao, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldAuxiliarDePesquisa = new Field("auxiliarDePesquisa", nd.AuxiliarDePesquisa, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldNotasExplicativas = new Field("notasExplicativas", nd.NotasExplicativas, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldChavesColectividade = new Field("chavesColectividade", nd.ChavesColectividade, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldRegrasConvencoes = new Field("regrasConvencoes", nd.RegrasConvencoes, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldObservacoesControloAuto = new Field("observacoesControloAuto", nd.ObservacoesControloAuto, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDescHistoricas = new Field("descHistoricas", nd.DescHistoricas, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDescZonasGeograficas = new Field("descZonasGeograficas", nd.DescZonasGeograficas, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDescEstatutosLegais = new Field("descEstatutosLegais", nd.DescEstatutosLegais, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDescOcupacoesActividades = new Field("descOcupacoesActividades", nd.DescOcupacoesActividades, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDescEnquadramentosLegais = new Field("descEnquadramentosLegais", nd.DescEnquadramentosLegais, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDescEstruturasInternas = new Field("descEstruturasInternas", nd.DescEstruturasInternas, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDescContextosGerais = new Field("descContextosGerais", nd.DescContextosGerais, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDesignacoesTipoNoticiaAuto = new Field("designacoesTipoNoticiaAuto", nd.DesignacoesTipoNoticiaAuto, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldTermosDeIndexacao = new Field("assunto", nd.TermosDeIndexacao, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldTipologiaInformacional = new Field("tipologiaInformacional", nd.TipologiaInformacional, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDesignacoesTipoEntidadeProdutora = new Field("designacoesTipoEntidadeProdutora", nd.DesignacoesTipoEntidadeProdutora, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldEntidadeProdutora = new Field("entidadeProdutora", nd.EntidadeProdutora, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldAutor = new Field("autor", nd.Autor, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDesignacoesTipoFormaSuporteAcond = new Field("designacoesTipoFormaSuporteAcond", nd.DesignacoesTipoFormaSuporteAcond, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDesignacoesTipoMaterialDeSuporte = new Field("designacoesTipoMaterialDeSuporte", nd.DesignacoesTipoMaterialDeSuporte, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDesignacoesTipoTecnicasDeRegisto = new Field("designacoesTipoTecnicasDeRegisto", nd.DesignacoesTipoTecnicasDeRegisto, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDesignacoesTipoEstadoDeConservacao = new Field("designacoesTipoEstadoDeConservacao", nd.DesignacoesTipoEstadoDeConservacao, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldLanguageNamesEnglish = new Field("languageNamesEnglish", nd.LanguageNamesEnglish, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldScriptNamesEnglish = new Field("scriptNamesEnglish", nd.ScriptNamesEnglish, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldFrequencia = new Field("frequencia", nd.Frequencia, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldPreservar = new Field("preservar", nd.Preservar, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldPublicar = new Field("publicar", nd.Publicar, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldObservacoesSFRDAvaliacao = new Field("observacoesSFRDAvaliacao", nd.ObservacoesSFRDAvaliacao, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldIdAutoEliminacao = new Field("idAutoEliminacao", nd.IdAutoEliminacao, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDesignacaoTipoSubDensidade = new Field("designacaoTipoSubDensidade", nd.DesignacaoTipoSubDensidade, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDesignacaoTipoDensidade = new Field("designacaoTipoDensidade", nd.DesignacaoTipoDensidade, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDesignacaoTipoPertinencia = new Field("designacaoTipoPertinencia", nd.DesignacaoTipoPertinencia, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldPonderacao = new Field("ponderacao", nd.Ponderacao, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDesignacaoAutoEliminacao = new Field("designacaoAutoEliminacao", nd.DesignacaoAutoEliminacao, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDesignacaoNivelDesignado = new Field("titulo", nd.DesignacaoNivelDesignado, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldDesignacaoNivelSorted = new Field("designacaoNivelSorted", nd.DesignacaoNivelDesignado.ToLower(), Field.Store.YES, Field.Index.ANALYZED);
            Field fieldAgrupador = new Field("agrupador", nd.Agrupador, Field.Store.NO, Field.Index.ANALYZED);
            List<Field> fieldCotas = new List<Field>();
            foreach (string cota in nd.Cota)
                fieldCotas.Add(new Field("cota", cota.ToLower(), Field.Store.NO, Field.Index.NOT_ANALYZED));
            Field fieldNumImagens = new Field("objetos", nd.NumImagens, Field.Store.NO, Field.Index.NOT_ANALYZED);
            Field fieldNumODsNaoPub = new Field("objetosNaoPublicados", nd.NumODsNaoPublicados, Field.Store.NO, Field.Index.NOT_ANALYZED);
            Field fieldNumODsPub = new Field("objetosPublicados", nd.NumODsPublicados, Field.Store.NO, Field.Index.NOT_ANALYZED);
            Field fieldInicioProducao = new Field("inicioProducao", ToLuceneDate(nd.DataInicioProd,true), Field.Store.YES, Field.Index.NOT_ANALYZED);
            Field fieldFimProducao = new Field("fimProducao", ToLuceneDate(nd.DataFimProd, false), Field.Store.YES, Field.Index.NOT_ANALYZED);
            Field fieldIdUpper = new Field("idUpper", nd.IdUpper, Field.Store.NO, Field.Index.ANALYZED);
            Field fieldIdControloAutoridade = new Field("idControloAutoridade", nd.IdsControlosAutoridade, Field.Store.NO, Field.Index.ANALYZED);
            Field allFields = new Field("all", nd.ToString(), Field.Store.NO, Field.Index.ANALYZED);
            Field fieldExiste = new Field("existe", "sim", Field.Store.NO, Field.Index.ANALYZED);
            Field _CodigoCodigo = new Field("Codigo_Codigo", nd.Codigo_Codigo, Field.Store.NO, Field.Index.ANALYZED);

            #region Field defs.: Licencas de obra

            // LicencaObra
            Field _TipoObra = new Field("tipoObra", nd.TipoObra, Field.Store.NO, Field.Index.ANALYZED);
            Field _PHSimNao = new Field("LicencaObra_PHSimNao", nd.PHSimNao, Field.Store.NO, Field.Index.ANALYZED);
            Field _PHTexto = new Field("LicencaObra_PHTexto", nd.PHTexto, Field.Store.NO, Field.Index.ANALYZED);
            Field _PropriedadeHorizontal = new Field("propriedadeHorizontal", nd.PHCompleto, Field.Store.NO, Field.Index.ANALYZED);
            Field _CodigosAtestadoHabitabilidade = new Field("atestado", nd.CodigosAtestadoHabitabilidade, Field.Store.NO, Field.Index.ANALYZED);
            Field _Datas_LicencaObraDataLicencaConstrucao = new Field("Datas_LicencaObraDataLicencaConstrucao", nd.Datas_LicencaObraDataLicencaConstrucao, Field.Store.NO, Field.Index.ANALYZED);
            Field _NumPolicia_LicencaObraLocalizacaoObraActual = new Field("numPoliciaAtual", nd.NumPolicia_LicencaObraLocalizacaoObraActual, Field.Store.NO, Field.Index.ANALYZED);
            Field _Termo_LicencaObraLocalizacaoObraActual = new Field("localAtual", nd.Termo_LicencaObraLocalizacaoObraActual, Field.Store.NO, Field.Index.ANALYZED);
            Field _NumPolicia_LicencaObraLocalizacaoObraAntiga = new Field("numPoliciaAntigo", nd.NumPolicia_LicencaObraLocalizacaoObraAntiga, Field.Store.NO, Field.Index.ANALYZED);
            Field _NomeLocal_LicencaObraLocalizacaoObraAntiga = new Field("localAntigo", nd.NomeLocal_LicencaObraLocalizacaoObraAntiga, Field.Store.NO, Field.Index.ANALYZED);
            Field _Nome_LicencaObraRequerentes = new Field("requerente", nd.Nome_LicencaObraRequerentes, Field.Store.NO, Field.Index.ANALYZED);
            Field _Termo_LicencaObraTecnicoObra = new Field("tecnico", nd.Termo_LicencaObraTecnicoObra, Field.Store.NO, Field.Index.ANALYZED);

            #endregion

            Document doc = new Document();
            doc.Add(fieldId);
            doc.Add(fieldCodigo);
            doc.Add(fieldDesignacaoTipoNivelRelacionado);
            doc.Add(fieldDesignacaoSorted);
            doc.Add(fieldNotaDoArquivista);
            doc.Add(fieldRegrasOuConvencoes);
            doc.Add(fieldHistoriaAdministrativa);
            doc.Add(fieldHistoriaCustodial);
            doc.Add(fieldFonteImediataDeAquisicao);
            doc.Add(fieldDesignacaoTipoTradicaoDocumental);
            doc.Add(fieldInicioTexto);
            doc.Add(fieldInicioAtribuida);
            doc.Add(fieldFimTexto);
            doc.Add(fieldFimAtribuida);
            doc.Add(fieldExistenciaDeOriginais);
            doc.Add(fieldExistenciaDeCopias);
            doc.Add(fieldUnidadesRelacionadas);
            doc.Add(fieldNotaDePublicacao);
            doc.Add(fieldConteudoInformacional);
            doc.Add(fieldIncorporacao);
            doc.Add(fieldDesignacaoTipoOrdenacao);
            doc.Add(fieldNotaGeral);
            doc.Add(fieldEstatutoLegal);
            doc.Add(fieldCondicaoDeAcesso);
            doc.Add(fieldCondicaoDeReproducao);
            doc.Add(fieldAuxiliarDePesquisa);
            doc.Add(fieldNotasExplicativas);
            doc.Add(fieldChavesColectividade);
            doc.Add(fieldRegrasConvencoes);
            doc.Add(fieldObservacoesControloAuto);
            doc.Add(fieldDescHistoricas);
            doc.Add(fieldDescZonasGeograficas);
            doc.Add(fieldDescEstatutosLegais);
            doc.Add(fieldDescOcupacoesActividades);
            doc.Add(fieldDescEnquadramentosLegais);
            doc.Add(fieldDescEstruturasInternas);
            doc.Add(fieldDescContextosGerais);
            doc.Add(fieldDesignacoesTipoNoticiaAuto);
            doc.Add(fieldTermosDeIndexacao);
            doc.Add(fieldTipologiaInformacional);
            doc.Add(fieldDesignacoesTipoEntidadeProdutora);
            doc.Add(fieldEntidadeProdutora);
            doc.Add(fieldAutor);
            doc.Add(fieldDesignacoesTipoFormaSuporteAcond);
            doc.Add(fieldDesignacoesTipoMaterialDeSuporte);
            doc.Add(fieldDesignacoesTipoTecnicasDeRegisto);
            doc.Add(fieldDesignacoesTipoEstadoDeConservacao);
            doc.Add(fieldLanguageNamesEnglish);
            doc.Add(fieldScriptNamesEnglish);
            doc.Add(fieldFrequencia);
            doc.Add(fieldPreservar);            
            doc.Add(fieldPublicar);
            doc.Add(fieldObservacoesSFRDAvaliacao);
            doc.Add(fieldIdAutoEliminacao);
            doc.Add(fieldDesignacaoTipoSubDensidade);
            doc.Add(fieldDesignacaoTipoDensidade);
            doc.Add(fieldDesignacaoTipoPertinencia);
            doc.Add(fieldPonderacao);
            doc.Add(fieldDesignacaoAutoEliminacao);
            doc.Add(fieldDesignacaoNivelDesignado);
            doc.Add(fieldDesignacaoNivelSorted);
            fieldCotas.ForEach(fieldCota => doc.Add(fieldCota));
            doc.Add(fieldAgrupador);
            doc.Add(fieldNumImagens);
            doc.Add(fieldNumODsNaoPub);
            doc.Add(fieldNumODsPub);
            doc.Add(fieldInicioProducao);
            doc.Add(fieldFimProducao);
            doc.Add(fieldIdUpper);
            doc.Add(fieldIdControloAutoridade);
            doc.Add(allFields);
            doc.Add(fieldExiste);
            doc.Add(_CodigoCodigo);

            #region Add fields: Licencas de obra

            doc.Add(_TipoObra);
            doc.Add(_PHSimNao);
            doc.Add(_PHTexto);
            doc.Add(_PropriedadeHorizontal);
            doc.Add(_CodigosAtestadoHabitabilidade);
            doc.Add(_Datas_LicencaObraDataLicencaConstrucao);
            doc.Add(_Termo_LicencaObraLocalizacaoObraActual);
            doc.Add(_NumPolicia_LicencaObraLocalizacaoObraActual);
            doc.Add(_NomeLocal_LicencaObraLocalizacaoObraAntiga);
            doc.Add(_NumPolicia_LicencaObraLocalizacaoObraAntiga);
            doc.Add(_Nome_LicencaObraRequerentes);
            doc.Add(_Termo_LicencaObraTecnicoObra);

            #endregion

            return doc;
        }
Пример #5
0
 public void GetAGivenNivelDocumental()
 {
     NivelDocumental nd = new NivelDocumental(250699);
 }
Пример #6
0
 public void GetANegativeIdNivelDocumental()
 {
     NivelDocumental nd = new NivelDocumental(-1);
 }
Пример #7
0
 public void GetAnInvalidNivelDocumental()
 {
     NivelDocumental nd = new NivelDocumental(0);
 }