Paraadicionar resultadosdeanálisea umabasededados,temde criaroficheiro de mapeamentodaestruturade análisecomumparaabasede dadosquecontenha asinformaçõesde configuraçãodaligaçãodabasededadose umadescriçãodos resultadosdaanálisedetextopersonalizadaquedeverãoserarmazenadoseem quetabelasecolunas.
Acercadestatarefa
Oficheirode mapeamentodaestruturadeanálisecomum paraa basededados estánoXML.Aamostra queseseguebaseia-senosistematipo definidoparao cenário deumrelatório policial.
Noexemplo,apenasosrelatórios policiaiseascidadesqueaparecemnesses relatórios criminaissãoadicionadosà basededados.Oexemplomostraa utilização defuncionalidadesincorporadase omapeamentodoelemento
<constant>.
<?xml version="1.0" encoding="UTF-8"?>
<cas2JdbcConfiguration xmlns="http://www.ibm.com/uima/consumer/jdbc/100/xml">
<databaseConnection>
<connectionUrl>db2://minhaMáquina:minhaPorta/minhaBaseDados</connectionUrl>
<driver type="jdbc">com.ibm.db2.jcc.DB2Driver</driver>
<driverLibraries>
<driverLibrary>C:\db2\db2jcc.jar</driverLibrary>
<driverLibrary>C:\db2\db2jcc_license_cu.jar</driverLibrary>
<driverLibrary>C:\db2\db2jcc_license_cisuz.jar</driverLibrary>
</driverLibraries>
<authentication>
<username>meuUtilizador</username>
<password>minhaPalavra-passe</password>
</authentication>
<loadFile>
<loadFileDirectory>/home/cas2jdbc/load/</loadFileDirectory>
<loadFileSize>1048</loadFileSize>
<loadScript>/home/cas2jdbc/load/load.sh</loadScript>
</loadFile>
</databaseConnection>
<cas2JdbcMappingSpec>
<skipCondition>
<name>com.ibm.uima.tt.DocumentAnnotation</name>
<filter syntax="FeatureValue">toBeProcessed=0</filter>
</skipCondition>
<cas2JdbcMappings>
<explicitMappings>
<explicitMappingRule applyToSubtypes="false">
<type>com.ibm.omnifind.types.RelatórioPolicial</type>
<table>sample.RelatórioPolicial</table>
<featureMappings>
<featureMapping>
<feature>uniqueId()</feature>
<column>IDRelatórioPolicial</column>
</featureMapping>
<featureMapping>
<feature>location/uniqueId()</feature>
<column>IDlocalizaçãoCrime</column>
</featureMapping>
</featureMappings>
<filter syntax="FeatureValue">location/coveredText()="Coimbra"</filter>
</explicitMappingRule>
</explicitMappings>
<implicitMappings>
<implicitMappingRule applyToSubtypes="false">
<type>com.ibm.omnifind.types.Cidade</type>
<table>sample.Cidade</table>
<featureMappings>
<featureMapping>
<feature>uniqueId()</feature>
<column>IDlocalizaçãoCrime</column>
</featureMapping>
</cas2JdbcMappings>
</cas2JdbcMappingSpec>
</cas2JdbcConfiguration>
Procedimento
Paracriar oficheirodemapeamento daestruturadeanálisecomumparaabase de dados:
1. Crie umficheiroXML.ParaevitarerrosdesintaxeXML,utilizeumeditorde XMLouferramentade criaçãode XMLà suaescolha.OesquemaXSDparao ficheirode mapeamentodenomina-se CasToJDBCMapping.xsde encontra-se na instalaçãodoEnterpriseSearchemES_INSTALL_ROOT/packages/uima/
configuration_xsd/.
2. Inclua osmapeamentosnumelemento<cas2JdbcConfiguration
xmlns=″http://www.ibm.com/uima/consumer/jdbc/100/xml″>.Oespaçode nomes(especificado noatributoxmlns) temdeestarexactamenteconforme mostrado.
3. Adicione umelemento<databaseConnection>quecontenhatodasas informações deconfiguraçãodaligaçãodabasededados eumelemento
<cas2JdbcMappingSpec> quedescrevaasregrasdemapeamento paraos resultadosdaanálisequesãoarmazenadosnabasededados ouficheirosde carregamento.
4. Adicione osseguinteselementos decomponenteaoelemento
<databaseConnection>:
v Obrigatório:Umelemento<connectionUrl>.EsteelementocontémoURL deligaçãodabase dedados.Emfuncionalidadedaimplementaçãodo controladorJDBC,podeutilizaroacesso localouremotoàbase dedados.
v Obrigatório:Umelemento<driver>.Esteelementocontémo nomeda classedocontrolador JDBC,porexemplo,com.ibm.db2.jcc.DB2Driverpara DB2ouoracle.jdbc.driver.OracleDriverparaOracle.
v Obrigatório:Umelemento<driverLibraries>.Esteelementocontémas bibliotecasdocontrolador.Cadabibliotecaestálistadanumelemento
<driverLibrary>.Asbibliotecasencontram-se nodirectóriodeinstalaçãodo DB2ouOracle.ParaDB2,asbibliotecassãoc:\dir_db2\db2jcc.jar,
c:\dir_db2\db2jcc_license_cu.jarec:\dir_db2\
db2jcc_license_cisuz.jar.ParaOracle,abibliotecaa incluiré c:\dir_oracle\classes12.zip.
Certifique-sedequeasbibliotecasdecontroladoresestãosempreaomesmo níveldemanutençãoqueoservidor deappletsdoDB2.
v Obrigatório:Umelemento<authentication>.Esteelementocontémonome doutilizadorea palavra-passeparaa basededados.
v Opcional:Umelemento<loadFile>.Esteelementocontémosseguintes elementosdecomponente:
– Odirectório doficheirodecarregamentonumelemento
<loadFileDirectory>.
– Opcional: Otamanhodoficheirode carregamentonumelemento
<loadFileSize>.Oslimitesdetamanhodoficheirodecarregamentosão 10<=loadFileSize <=10240(10MB<= loadFileSize<=10GB).Senenhum valor fordefinido,apredefiniçãoé1024MB(1GB).
– Onomedo scriptdecarregamentonumelemento<loadScript>. Senãoespecificarumelemento<loadFile>,todososdadossão armazenadosdirectamente nabasededados utilizandoJDBC.
Temtambémdeadicionar todososparâmetrosdeconfiguraçãodabasede dadosquandoutilizaosficheiros decarregamentoespecíficosdabase de dadoseosscripts.
5. Adicione osseguinteselementos decomponenteaoelemento
<jdbcMappingSpec>:
v Opcional:Umelemento<skipCondition>.Senão estiverdefinidaqualquer condiçãoparaignorar,todososdocumentos sãoprocessados.
<skipCondition>
<name>com.ibm.uima.tt.DocumentAnnotation</name>
<filter syntax="FeatureValue">toBeProcessed=0</filter>
</skipCondition>
Noexemplo,osdocumentos quecontêmumaanotaçãodotipo
com.ibm.uima.tt.DocumentAnnotationcomumafuncionalidadedenominada toBeProcesseddefinidacomozero nãoseráconsiderada.
v Umelemento<cas2JdbcMappings>quemostraquaisostipose
funcionalidadesquesãomapeadosparadeterminadastabelasdebasesde dadosecolunas. Oelementocontémumasecçãodemapeamentosexplícitos eimplícitos.
6. Adicione umelemento<explicitMappings>.Esteelementoé obrigatório.Tem de terumoumaiselementos <explicitMappingRule>quedefinamos
mapeamentosexplícitosesópodeser definidoparaostiposdeanotaçãoe respectivos subtipos.Seummapeamentoestiver definidonasecçãode mapeamentosexplícitos,todasasanotaçõesquecorrespondem àdefiniçãode mapeamento serãoarmazenadasnabasede dados.
7. Opcional:Adicioneumelemento<implicitMappings>.Esteelementosuporta todosostiposde estruturafuncional.Seesteelementoexistir,temde conter pelomenosumelemento<implicitMappingRule>.Osmapeamentosqueestão definidos nasecçãode mapeamentosimplícitossãoadicionadosà basede dados apenasseostiposdeanotaçãocorrespondenteestiveremreferenciados por outraanotaçãoquepossacorresponderaumaregrademapeamento implícito ouexplícito.
Oobjectivodomapeamento implícitoconsisteem permitirarmazenarapenas osresultadosdaanálisequeaparecemem determinadocontexto.Porexemplo, seomapeamento paraumaanotaçãodotipo com.ibm.omnifind.types.Cidade forimplícito,apenas ascidades quesãoreferidaspeladefiniçãodo
mapeamento com.ibm.omnifind.types.RelatórioPolicialnasecção de mapeamentosexplícitossãoarmazenadosnabasededados.Oquesignifica queapenasascidadesmencionadas nosrelatóriospoliciaissãoadicionadas à base dedados.
Seexistirumaregrade mapeamentoexplícitoparaaanotaçãoCidade,todas ascidades sãoadicionadasàbase dedados.Emambos oscasos,seuma cidadeforreferidaporváriosrelatóriospoliciais,éadicionadaà basededados apenas umavez.
8. Os elementos<explicitMappingRule>e<implicitMappingRule>têmde conter o atributoapplyToSubtypes,que,seestiver definidocomoverdadeiro(true), armazenanão apenasaestruturafuncionalequeestálistadanoelemento
<type>,comotambémtodasasestruturasfuncionaisdaíderivadas.Adicione osseguinteselementosde componenteaoselementos<explicitMappingRule>
e <implicitMappingRule>:
v Umelemento<type>quecontémotipodeestruturafuncional.
v Umelemento<table> quecontémoesquemadebasede dadoseonome databela.Asintaxeseguearegraesquema.nome_tabelaouapenas nome_tabelasenenhumesquemaestiverdefinido.
v Umelemento<featureMappings> comumoumaiselementos
<featureMapping>ou umelemento<containerMapping>.
v Opcional:Umelemento<filter>quecontémumacondição queéavaliada decadavezquea regrade mapeamentofazcorrespondência.Sea condição avaliarcomoverdadeiro (true),a anotaçãoouestruturafuncional é
armazenadanabase dedados.Noexemplo,apenasosrelatóriospoliciais querelatamcrimescometidosem Lisboasãoarmazenadosnabasede dados.
9. Aestruturacomponentedoelemento<featureMapping>variaemfunçãode estarounão amapearumafuncionalidadeouumaconstante.
Seestiver amapearumafuncionalidadeoucaminhode funcionalidade,os elementos componenteincluem:
v Umelemento<feature> comonomedafuncionalidade.Afuncionalidade temdeser definidaparaaestruturafuncionalnoelementotipo(type).Pode tambémutilizarumaconstruçãode caminhodafuncionalidadeouqualquer dasfuncionalidadesincorporadasdefinidasnosistema.
v Opcional:Umelemento<length>como comprimentoqueumacadeia pode ternacolunadebase dedadosespecificada.Ascadeiasmaislongas são truncadas.
v Umelemento<column>comonome dacoluna naqualovalor da
funcionalidadedeveser armazenado.Ascolunasdabase dedadosquenão sãoutilizadasemqualquermapeamentodafuncionalidadeutilizam ovalor predefinido(normalmentenulo) queestáconfiguradonabasede dados.
Certifique-sedequeovalordo elementofuncionalidade(feature) está armazenadonumacoluna dotipoapropriado.Aseguintetabelamostra quaisostiposde UIMAquecorrespondema determinadostiposdebases dedados.
Tabela3.MapeamentoentretiposdeUIMAetiposdebasesdedados TipodeUIMAou
Paraobter umaconstante,oselementosdemapeamento dafuncionalidadedo componentesãoosseguintes:
v Umelemento<constant>quecontémo valordeumaconstante.
v Umelemento<column>comonome dacoluna aoqualo valordaconstante deveseradicionado.
10. Oelemento<containerMapping>contémomapeamentoparauma
funcionalidadedotipo decontentor(matriz oulista).Esteelementotem de ser utilizadoapenasparaostiposde contentor.Temosseguintes elementosde componente:
v Umelemento<feature> comonomedafuncionalidade.Podetambém utilizarumaconstruçãodecaminho dafuncionalidadeouqualquerdas funcionalidadesincorporadasdefinidasnosistema.
v Umelemento<table> quecontémoesquemadebasede dadoseonome databela.Asintaxeseguearegraesquema.nome_tabelaouapenas nome_tabelasenenhumesquemaestiverdefinido.
v Umou maiselementos<featureMapping>quecontêmosnomesdas
estruturasfuncionaiseosnomesde colunasàsquaisasfuncionalidadessão adicionadas.
11. GuardeevalideoficheiroXMLutilizandooesquemafornecido.
Após criaroficheiroXML,temde carregá-lonoEnterpriseSearcheseleccionaro ficheirode mapeamentodaestruturade análisecomum paraabasede dadoscom asoutrasselecçõesdeanálisepersonalizadautilizandoa consoladeadministração do EnterpriseSearch.
Conceitosrelacionados
“Mapeamentodabase dedadosparaosresultadosdaanáliseseleccionada”na página50
Depoisde teranalisadoosdocumentosnoEnterpriseSearch,podearmazenar resultadosdaanálisedetextoseleccionadonuma basededados quesuporte JDBC.
“Caminhosdefuncionalidade”na página37
Umcaminhodefuncionalidadeforneceumaformadeacederaosvaloresde funcionalidadenasestruturasdeanálisecomum,semelhantesàsinstruções XPathutilizadasparaacederaoselementosde XMLnumdocumentoXML.
Referênciasrelacionadas
“Filtros”napágina41
Osfiltrossãoutilizadospararestringirregrasdemapeamentonos ficheirosde mapeamentodaestruturade análisecomumparaoíndiceenos ficheirosde mapeamentodaestruturade análisecomumparaabasede dados.Apenas quandoofiltroestádefinidocomoverdadeiro (true)sãoadicionadosos resultadosdaanáliseaoíndiceoua umatabelaJDBC.
“Funcionalidadesincorporadas”napágina39
Asfuncionalidadesincorporadassãonomesdefuncionalidadepredefinidos comsemânticaespecial.Podemser utilizadasparaacederainformaçõesque nãoestãocontidasnaestruturafuncionalemsi, porexemplo,o tipode estruturafuncional ouotextoabrangidodeumaanotação.Podemser
utilizadasnumcaminhodefuncionalidadecomooúltimoouúnicoelemento.
“Amostradadescriçãodo sistematipo”na página27
Adescriçãodosistematipodescreveasestruturasfuncionais(asestruturasde dadossubjacentesquerepresentam osresultadosdaanálise)utilizadasna análisepersonalizada.