Aoutilizaroficheirode mapeamentodaestruturadeanálisecomum parao índice, pode determinarquaisosresultadosdaanálisenaestruturadeanálisecomumque pretendeindexar paraactivaraprocura.
Acercadestatarefa
Oficheirode mapeamentodaestruturadeanálisecomum parao índiceestáno XML.Oficheirode mapeamentodaestruturadeanálisecomum parao índicede amostra baseia-senosistematipo definidoparao cenáriodeum relatóriopolicial.
<?xml version="1.0" encoding="UTF-8"?>
<indexBuildSpecification
xmlns="http://www.ibm.com/of/822/consumer/index/xml">
<skipCondition>
<type>com.ibm.uima.tt.DocumentAnnotation</type>
<filter syntax="FeatureValue">toBeprocessed = 0</filter>
</skipCondition>
<indexBuildItem>
<name>com.ibm.omnifind.types.Pessoa</name>
<indexRule>
<style name="Annotation">
<attributemappings>
<indexBuildItem>
<name>com.ibm.omnifind.types.Suspeito</name>
<indexRule>
<style name="Annotation"/>
<style name="Field">
<attribute name="parametric" value="false"/>
<attribute name="fieldSearchable"
value="true"/>
<attribute name="returnable" value="true"/>
</style>
</indexRule>
</indexBuildItem>
<indexBuildItem>
<name>com.ibm.omnifind.types.Cidade</name>
<indexRule>
<name>com.ibm.omnifind.types.Data</name>
<indexRule>
<style name="Field">
<attribute name="fixedName" value="Data"/>
<attribute name="fieldSearchable"
value="true"/>
<attribute name="returnable" value="true"/>
</style>
<style name="Field">
<attribute name="fixedName" value="hora"/>
<attribute name="valueFeature" value="hora"/>
<attribute name="parametric" value="true"/>
</style>
</indexRule>
<filter syntax="FeatureValue">ano="2005"</filter>
</indexBuildItem>
<indexBuildItem>
<name>com.ibm.omnifind.types.RelatórioPolicial</name>
<indexRule>
<style name="Annotation">
<attribute name="fixedName"
<feature>location/coveredText()</feature>
<indexName>localização</indexName>
</mapping>
<mapping>
<feature>suspeitosConhecidos[]/com.ibm.omnifind.types.
Suspeito:sobrenome</feature>
<indexName>apelidosSuspeitos</indexName>
</mapping>
</attributemappings>
</style>
</indexRule>
</indexBuildItem>
</indexBuildSpecification>
Restrições
Oficheirode mapeamentodaestruturadeanálisecomum parao índicetemde conter todososresultadosdaanálisequepretendeprocurarnasconsultas.
Procedimento
Paracriar oficheirodemapeamento daestruturadeanálisecomumparaoíndice:
1. CrieumficheiroXML.Paraevitar errosdesintaxeXML,utilizeum editorde XMLouferramentadecriaçãodeXMLàsuaescolha.OesquemaXSD parao ficheirodemapeamento denomina-seCasToIndexMapping.xsd eencontra-sena instalaçãodoEnterpriseSearchem ES_INSTALL_ROOT/packages/uima/
configuration_xsd/.
2. Incluaosmapeamentosnumelemento<indexBuildSpecification
xmlns=″http://www.ibm.com/of/822/consumer/index/xml″>.Oespaçode nomes (especificado noatributoxmlns) temdeestarexactamenteconformemostrado.
3. Adicioneum elemento<skipCondition> paraproibirdeterminadosdocumentos deseremindexados,combaseem determinadovalordafuncionalidade.Este elementoéopcional.Noexemplo,nãoserãoindexados osdocumentosque contêmumaestruturadedados dotipocom.ibm.uima.tt.DocumentAnnotation comumafuncionalidadedenominadatoBeProcesseddefinida comozero.
4. Adicioneum oumaiselementos<indexBuildItem>,quecontenhamo mapeamento dedeterminadaestruturafuncionalna estruturadeanálise comum,a umaestruturanoíndice.
5. Saiaevalideo ficheiroXML.
Elemento<indexBuildItem>
Oficheirode mapeamentodaestruturadeanálisecomum parao índicecontém um oumaiselementos<indexBuildItem>.Cadaelementodescreveomapeamento de determinadaestruturafuncionalnaestruturadeanálisecomumparauma estruturanoíndice(umaexpansãooucampo).
Oelemento<name>contémotipode estruturafuncional.Existemduasformasde especificar umtipo:
v Onome dotipocompleto. Porexemplo,com.ibm.omnifind.types.Suspeito. v Umcarácterglobal.Porexemplo,com.ibm.omnifind.types.*.Ocarácterglobal
podeser adicionadoapenasnofinaldaespecificaçãodotipo.
Utilize apenasossubtipos deuima.tcas.Annotationcomoitensde criaçãodo índice. Seumaestruturafuncionalforumsubtipode uima.cas.TOP(enãode uima.tcas.Annotation),podeacederaestaestruturafuncionalutilizandoum caminho defuncionalidadequecomeceporumaanotação.
Seo tipoAforum subtipodotipoB(na amostra,
com.ibm.omnifind.types.Suspeitocomo umsubtipopara
com.ibm.omnifind.types.Pessoa)e existiremoselementos<indexBuildItem>IaeIb definidos paraambosostipos,processa-sedo seguintemodo:
v Cadaregradeíndicequeédefinidaem Ibaplica-seàsestruturasfuncionaisdo tipoBeàsestruturasfuncionaisdotipoA.
v Cadaregradeíndicedefinida emIaaplica-seapenas àsestruturasfuncionaisdo tipoA
Noexemplo,oelemento<indexBuildItem>definidoparaasanotações com.ibm.omnifind.types.Pessoatambém seaplicaàsanotações
com.ibm.omnifind.types.Suspeito.Sãocriadasduasexpansõesparaumaanotação do suspeito:umacomo nomePessoae aoutraSuspeito.
Oelemento<filter>éopcionaleutilizadopararestringiromapeamentode
<indexBuildItem>apenasparaestruturasfuncionaiscomdeterminadovalorde atributo.Éútilsepretenderqueumatributofuncionecomoumparâmetropara indicaroqueseráparaindexar. Porexemplo,aspessoaseorganizaçõespodemser registadas numaanotaçãodotipo EntityAnnotation.Arespectiva funcionalidade denominadatypeestádefinidacomopessoaouorganização.Paraextrair apenas aspessoasenão asorganizações,pode adicionaroseguintefiltro:
<filter syntax="FeatureValue">type = "pessoa"</filter>
Paraalém disso,podeescolher indexarpessoaseorganizaçõessobdiferentes nomesdeexpansão,porexemplo,pessoaeorganização.Paratal,definadois elementos <indexBuildItem>do tipoEntityAnnotationeutilizedoisfiltrosna funcionalidadetypeparaaccionaraspessoasouorganizações.
Elemento<indexRule>
Cadaelemento<indexBuildItem>contémum elemento<indexRule>.Cada elemento<indexRule> contémtodasasinformaçõesnecessáriasparamapearuma estruturadefuncionalidadenaestruturadeanálisecomumparaoíndicecomo um estilo decampo(field),deanotação(annotation)edequebra (breaking).Osestilos de anotaçãoecamposuportamváriosatributos.Nãopode utilizaroestilodo termo,queésuportadonoUIMASoftwareDevelopmentKitnoEnterpriseSearch (o estilodotermoé ignorado).
Paraosestilosde anotaçãoecampo,existemasseguintesalternativasquando especifica onomedaanotaçãooudocamponoíndice:
v UtilizefixedNamesepretenderquecadaestruturafuncional estejaacessívelno índicecomomesmonome.Noseguinteexemplo,cadaestruturade
funcionalidadedo tipocom.ibm.omnifind.types.Pessoaserámapeadaparauma expansãocomonome″Pessoa″noíndice.
<indexBuildItem>
<name>com.ibm.omnifind.types.Pessoa</name>
<indexRule>
<style name="Annotation">
<attribute name="fixedName" value="Pessoa" />
</style>
</indexRule>
</indexBuildItem>
Esteprocesso permiteconsultascomo″Pretendodocumentos emqueChefeestá contidocomoumnomede pessoa″.Aconsultaéexpressadaseguinteforma utilizandoosfragmentosXML:@xmlf2::’<Pessoa>Chefe</Pessoa>’
v UtilizenameFeatureseaanotaçãoarmazenardiferentesentidades aquem pretendapermitiroacessoutilizandodiferentesexpansõesem funçãodovalor dedeterminadafuncionalidadedaanotação.Noseguinteexemplo,
com.ibm.tt.EntityAnnotationéindexadocomoumaexpansãodepessoaou organização,emfunçãodovalor dafuncionalidadedenominadatype.A funcionalidadepode tambémserum caminhodefuncionalidade.
<indexBuildItem>
<name>com.ibm.tt.EntityAnotation</name>
<indexRule>
<style name="Annotation">
<attribute name="nameFeature" value="type" />
</style>
</indexRule>
</indexBuildItem>
Esteprocesso permiteconsultascomo″Pretendodocumentossobrea
organizaçãoQUEM″(em oposiçãoaotermoportuguês″quem″).Aconsultaé expressadaseguinteformanasintaxeXPathlimitada:@xmlp::’/
organização[ftcontains="QUEM"]’
v Senenhumdosatributosacimaindicadoforutilizado,éutilizado onome abreviadodotipo deanotaçãonoelemento<indexBuildItem>.Estaéa predefinição.Porexemplo:
<indexBuildItem>
<name>com.ibm.uima.tutorial.NúmeroSala</name>
<indexRule>
<style name="Annotation" />
<style name="Field" />
</indexRule>
</indexBuildItem>
Esteelemento<indexBuildItem>resultanasanotaçõesecamposcomonome NúmeroSalapreenchidos comotextoabrangidopor
com.ibm.uima.tutorial.NúmeroSala. Elemento <style name="Annotation" />
Aanotação(annotation)noelemento<style> especificacomopode acedera informações deexpansãonoEnterpriseSearch. Paraalémdepermitirautilização dosatributosfixedName enameFeature,esteestilo tambémsuportaoelemento
<attributemappings>.Noâmbitodesteelemento,épossívelmapearovalor de umafuncionalidadeparaumatributodaexpansãoresultantenoíndice,quepode utilizarsubsequentementenumaexpressãode procura.
Cadamapeamento éefectuadonoâmbito deumelemento<mapping>separado. O elemento<feature> contémum caminhodefuncionalidadeeoelemento
<indexName> contémonomedoatributoqueéutilizadonoíndiceparaarmazenar o valorde<feature>.Porexemplo,
<mapping>
<feature>marca/nomeEmpresa</feature>
<indexName>empresa</indexName>
</mapping>
Esteelemento<mapping>armazenaovalor dafuncionalidadenocaminho marca/nomeEmpresa directamentenoatributodeíndice empresa.
Omapeamento dosvaloresdafuncionalidadeparaatributosde índiceé especialmenteútilseosistematipo utilizadodurantea análisede textofor complexo, incluindomuitasestruturasfuncionaisimbricadas.Aoutilizaro elemento<mapping>,osatributosrelevantes podemser expostos,permitindo-lhe utilizá-losnasconsultassemo conhecimentodetalhadodaestruturadosistema tipo original.
Elemento <style name="Field" />
Ocampo(field)noelemento<style> especificacomopodeacederainformações de camponoEnterpriseSearch.ParaalémdosatributosfixedNameenameFeature, pode definirosseguintesatributos.
parametric
Seestiver definidocomoverdadeiro(true),ovalordo campopodeser procuradoutilizandoa procuraparamétrica,porexemplo,#dosagem:>100.
fieldSearchable
Seestiver definidocomoverdadeiro(true),ovalordo campopodeser utilizado naprocura,porexemplo,marca:Bayer.
returnable
Seestiver definidocomoverdadeiro(true),ocampoe respectivosvalores sãodevolvidosnoresultadodaprocura.
Asinformações decamposãosemprepassíveisdeseremprocuradas,istoé,as informações decampoestãoacessíveisnasprocurasnormaisdepalavras-chave.
OatributoopcionalvalueFeaturedefinequal ovalordefuncionalidadea utilizar como valordecampo. Seaestruturafuncional forumaanotaçãoeoatributonão estiver definido,o textoabrangidodaanotaçãoéutilizadocomovalor decampo.
Noexemplo,
<indexBuildItem>
<name>com.ibm.omnifind.types.Data</name>
<indexRule>
<style name="Field">
<attribute name="fixedName" value="data"/>
<attribute name="fieldSearchable"
value="true"/>
<attribute name="returnable" value="true"/>
</style>
<style name="Field">
<attribute name="fixedName" value="hora"/>
<attribute name="valueFeature" value="hora"/>
<attribute name="parametric" value="true"/>
</style>
</indexRule>
<filter syntax="FeatureValue">ano="2005"</filter>
</indexBuildItem>
sãogeradosdoiscamposparacom.ibm.omnifind.types.Data.Umcampocomo nome datacontémo textoabrangido,porexemplo,17:15. Outrocampocontémo valor doatributohora.Aqui podeefectuarumaconsultautilizando’hora::<17’.
Elemento <style name="Breaking" />
Ovalor dequebra(Breaking)noelemento<style>não incluiquaisquerelementos.
Após criaroficheiroXML,temde carregá-lonoEnterpriseSearcheseleccionaro ficheirode mapeamentodaestruturade análisecomum paraoíndicecomas outrasselecçõesde análisepersonalizadautilizandoa consoladeadministraçãodo EnterpriseSearch.
Conceitosrelacionados
“Indexaromapeamentopararesultadosdaanálisepersonalizada”napágina42 Apósexecutaraanálisepersonalizadanuma colecçãodedocumentos, pode
utilizaromotorde procuranoEnterpriseSearchparacriarum índiceapartir deinformaçõesarmazenadasnaestruturadeanálisecomumqueécriadapelos algoritmosdeanálisepersonalizada.
“Caminhosdefuncionalidade”na página37
Umcaminhodefuncionalidadeforneceumaformade acederaosvaloresde funcionalidadenasestruturasdeanálisecomum,semelhantesàsinstruções XPathutilizadasparaacederaoselementosde XMLnumdocumentoXML.
Referênciasrelacionadas
“Filtros”napágina41
Osfiltrossãoutilizadospararestringirregrasdemapeamentonos ficheirosde mapeamentodaestruturade análisecomumparaoíndiceenos ficheirosde mapeamentodaestruturade análisecomumparaabase dedados.Apenas quandoofiltroestádefinidocomoverdadeiro (true)sãoadicionadosos resultadosdaanáliseaoíndiceoua umatabelaJDBC.
“Amostradadescriçãodo sistematipo”na página27
Adescriçãodosistematipodescreveasestruturasfuncionais(asestruturasde dadossubjacentesquerepresentam osresultadosdaanálise)utilizadasna análisepersonalizada.