Download - IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Transcript
Page 1: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

IBM i

e-business e assistência da Web OmniFind Text SearchServer for DB2 for i7.1

���

Page 2: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas
Page 3: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

IBM i

e-business e assistência da Web OmniFind Text SearchServer for DB2 for i7.1

���

Page 4: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

AtençãoAntes de utilizar as informações contidas nesta publicação, leia as informações incluídas na secção“Avisos”, na página 113.

Esta edição é referente à versão 1, edição 2, modificação 0 do OmniFind Text Search Server for DB2 for i (númerode produto 5733-OMF) e todas as edições e modificações posteriores, até indicação em contrário em novas edições.Esta versão não é executada em todos os modelos RISC (reduced instruction set computer), nem nos modelos CISC.

© Copyright IBM Corporation 2002, 2010.

Page 5: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Índice

OmniFind Text Search Server for DB2for i . . . . . . . . . . . . . . . . 1Novidades do IBM i 7.1 . . . . . . . . . . 1Ficheiro PDF para o OmniFind Text Search Server forDB2 for i . . . . . . . . . . . . . . . 1Introdução ao OmniFind Text Search Server for DB2for i . . . . . . . . . . . . . . . . . 2

Descrição geral do OmniFind Text Search Serverfor DB2 for i . . . . . . . . . . . . . 2Requisitos de sistema para instalar o OmniFindText Search Server for DB2 for i . . . . . . . 4

Conceitos chave . . . . . . . . . . . . . 4Criar e actualizar um índice de procura de texto . 4Indexação assíncrona e activadores . . . . . . 5Formatos de documento suportados . . . . . 6Tipos de dados suportados . . . . . . . . 7Classificação de texto e suporte de sinónimos . . 8Processamento linguístico . . . . . . . . . 8Nome alternativo de servidor . . . . . . . 11

Instalar e configurar funções de procura de texto . . 12Instalar o OmniFind Text Search Server for DB2for i . . . . . . . . . . . . . . . . 12Iniciar funções de procura de texto . . . . . 13Criar um índice de procura de texto . . . . . 14Actualizar um índice de procura de texto . . . 14Procurar num índice de procura de texto . . . 15Truncamento de documentos . . . . . . . 15

Procedimentos armazenados de administração paraprocura de texto . . . . . . . . . . . . . 15

SYSPROC.SYSTS_START . . . . . . . . . 16SYSPROC.SYSTS_STOP . . . . . . . . . 17SYSPROC.SYSTS_CREATE . . . . . . . . 19SYSPROC.SYSTS_ALTER . . . . . . . . . 28SYSPROC.SYSTS_DROP . . . . . . . . . 33SYSPROC.SYSTS_UPDATE . . . . . . . . 35

Procurar com um índice de procura de texto . . . 38CONTAINS . . . . . . . . . . . . . 38SCORE . . . . . . . . . . . . . . . 40Sintaxe de argumentos de procura . . . . . . 43

Procura XML . . . . . . . . . . . . . 48Administrar um OmniFind(r) Text Search Server forDB2(r) for i . . . . . . . . . . . . . . 64

Iniciar o OmniFind Text Search Server for DB2for i . . . . . . . . . . . . . . . . 64Parar o OmniFind Text Search Server for DB2 fori . . . . . . . . . . . . . . . . . 65Guardar e restaurar índices de procura de texto 66Determinação de problemas . . . . . . . . 69Ver e guardar registos do servidor . . . . . . 70Ferramentas de administração . . . . . . . 70Ferramenta ServerInstance . . . . . . . . 81Considerações de ASP independente para oOmniFind Text Search Server for DB2 for i . . . 82Alta disponibilidade . . . . . . . . . . 83Análise do desempenho . . . . . . . . . 84Considerações sobre transacções . . . . . . 88Utilizar o IBM Systems Director Navigator for i 89Utilizar o System i Navigator . . . . . . . 94

Tabelas de administração de procura de texto . . 101Tabela de administraçãoQSYS2.SYSTEXTDEFAULTS . . . . . . . 101Tabela de administraçãoQSYS2.SYSTEXTINDEXES . . . . . . . . 102Tabela de administraçãoQSYS2.SYSTEXTCOLUMNS . . . . . . . 104Tabela de administraçãoQSYS2.SYSTEXTSERVERS . . . . . . . . 105Tabela de administraçãoQSYS2.SYSTEXTCONFIGURATION . . . . . 106Tabela de administraçãoQSYS2.SYSTEXTSERVERHISTORY . . . . . 106

Mensagens e códigos . . . . . . . . . . . 107Mensagens OmniFind . . . . . . . . . 107

Apêndice. Avisos . . . . . . . . . . 113Informações sobre a interface de programação . . 115Marcas Comerciais. . . . . . . . . . . . 115Termos e condições . . . . . . . . . . . 115

© Copyright IBM Corp. 2002, 2010 iii

|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

Page 6: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

iv IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

Page 7: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

OmniFind Text Search Server for DB2 for i

O OmniFind Text Search Server for DB2 for i permite emitir instruções SQL que satisfaçam consultas deprocura de texto familiares em documentos armazenados numa base de dados DB2.

Nota: Ao utilizar os exemplos de código está implícita a aceitação dos termos do “Informações sobrelicença de código e exclusão de responsabilidade (disclaimer)” na página 110.

Novidades do IBM i 7.1Consulte informações novas ou significativamente alteradas relativas à recolha de tópicos do OmniFindText Search Server for DB2 for i.

As principais novas funções incluem:v “Procura XML” na página 48 aperfeiçoada

– “Utilizar espaços de nomes em procuras” na página 55– “Comparações numéricas” na página 51– “Comparações de data e data e hora” na página 51

v Índice de procura de texto para colunas XML de DB2: “Exemplo de procura XML” na página 60v “Guardar e restaurar um índice de procura de texto sem dados” na página 66v “Nome alternativo de servidor” na página 11v Duas interfaces GUI:

– “Utilizar o IBM Systems Director Navigator for i” na página 89– “Utilizar o System i Navigator” na página 94

v “Alta disponibilidade” na página 83v “Análise do desempenho” na página 84v “Considerações sobre transacções” na página 88

Como visualizar as novidades ou o que foi alterado

Para ajudar a visualizar as alterações técnicas efectuadas, este Information Center utiliza:v A imagem para marcar a localização em que as informações novas ou alteradas começam.v A imagem para marcar a localização em que as informações novas ou alteradas terminam.

Em ficheiros PDF, pode visualizar barras verticais (|) na margem esquerda de informações novas emodificadas.

Para obter outras informações sobre novidades ou sobre o que foi alterado nesta edição, consulte o tópicoMemorando para os utilizadores.

Ficheiro PDF para o OmniFind Text Search Server for DB2 for iUtilize esta página para visualizar e imprimir um PDF com estas informações.

Para visualizar e descarregar o ficheiro PDF correspondente a este documento, seleccione OmniFind TextSearch Server for DB2 for i (cerca de 1192 KB).

© Copyright IBM Corp. 2002, 2010 1

|

|

||

||

||

||

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

||

||

||

|

||

Page 8: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Outras informações

Pode também visualizar ou imprimir qualquer um dos seguintes ficheiros PDF:

v Preparing for and Tuning the SQL Query Engine on DB2 for i5/OS

v SQL Performance Diagnosis on IBM® DB2 Universal Database for iSeries

.

Guardar ficheiros PDF

Para guardar um PDF na estação de trabalho para visualização ou impressão:1. Faça clique com o botão direito do rato no PDF no navegador (faça clique com o botão direito do rato

na ligação anterior).2. Faça clique na opção que permite guardar o PDF localmente.3. Aceda ao directório no qual pretende guardar o PDF.4. Faça clique em Guardar.

Descarregar o Adobe® Reader

É necessário que o Adobe Reader esteja instalado no sistema para visualizar ou imprimir estes ficheirosPDF. Pode descarregar uma cópia gratuita a partir do sítio da Adobe na Web (http://get.adobe.com/

reader/) .

Introdução ao OmniFind Text Search Server for DB2 for iO DB2 for i utiliza o OmniFind(r) Text Search Server como um motor de indexação e procura paradocumentos armazenados numa base de dados DB2.

O OMNIFIND é um produto de procura de texto que permite aos utilizadores do IBM i procurar textonão estruturado armazenado numa coluna de uma tabela do DB2 for i. O texto armazenado na colunapode ser texto de caracteres simples, um documento XML ou qualquer um dos diferentes tipos dedocumentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. O produto permite aosutilizadores indexar dados não estruturados sem ter de os analisar num formulário estruturado, como,por exemplo, uma tabela SQL.

O OmniFind Text Search Server é um motor de procura baseado em contexto. Suporta a funcionalidadede procura imprecisa. Por exemplo, uma procura por 'ratos' localiza documentos que incluam as palavras'ratos' ou 'ratos'. O motor de procura suporta também contexto de idioma. Por exemplo, conseguecompreender os equivalente de procura imprecisa de 'ratos' e 'rato' em português e espanhol.

Muitas aplicações podem tirar partido desta funcionalidade. Um bom exemplo é uma base de dados deRecursos Humanos. Os currículos dos candidatos podem ser armazenados em qualquer formatosubmetido. As procuras subsequentes através do OmniFind podem ser utilizadas para procurar potenciaiscandidatos com determinadas competências chave.

Descrição geral do OmniFind Text Search Server for DB2 for iO OmniFind Text Search Server for DB2 for i faculta um conjunto de procedimentos armazenadosadministrativos e duas funções incorporadas: CONTAINS e SCORE. Estas funções são utilizadas paraprocurar índices de texto criados a partir de documentos armazenados numa tabela DB2. Osprocedimentos armazenados administrativos são utilizados para activar e desactivar a procura de texto,bem como para criar, actualizar e desactivar índices de procura de texto.

2 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

|

|

|

|

|

|

||

|

|

|

|

||

|

||

||

||||||

||||

||||

|

|||||

Page 9: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Um índice de procura de texto pode ser criado sobre qualquer coluna dos seguintes tipos de dados:v CHARv VARCHARv CLOBv BLOBv DBCLOBv GRAPHICv VARGRAPHICv BINARYv VARBINARYv XML

Os dados podem conter texto simples, HTML, XML ou vários documentos de rich text, tais comoficheiros PDF. Os dados são lidos a partir da coluna de texto e convertidos em Unicode (CCSID 1208)antes de serem indexados.

Os índices de texto não são índices de DB2 normais. Não são mantidos automaticamente, não podem serregistados em diário e não permitem a criação de cópias de segurança através de métodos de cópia desegurança e restauro normais. Os índices de texto são criados e armazenados num servidor de procura detexto.

Por predefinição, o servidor de procura de texto é criado no mesmo sistema que os dados armazenadosna base de dados DB2. No entanto, um servidor de procura de texto pode ser criado noutro servidor queexecute o IBM i, Linux®, UNIX®, AIX ou Windows®.

O servidor de procura de texto contém uma recolha de termos com significado extraídos de cada linha dacoluna. É utilizada uma ligação de TCP/IP para comunicar com o servidor de procura de texto.

As funções CONTAINS e SCORE são funções incorporadas integradas no DB2 for i.

O DB2 for i utiliza o OmniFind(r) Text Search Server como um motor de indexação e procura paradocumentos armazenados numa base de dados DB2.

O OMNIFIND suporta várias recolhas. Uma recolha contém um índice de procura de texto e as opçõesespecíficas do índice para análise, indexação e procura.

O OMNIFIND inclui uma interface gráfica do utilizador para administração de servidores e índices detexto.

O servidor de procura de texto faculta procedimentos armazenados de SQL e ferramentas de linha decomandos que podem ser utilizados para tarefas comuns. Estas tarefas comuns incluem a configuração eadministração do servidor de procura de texto, a criação de um dicionário de sinónimos para umarecolha e o diagnóstico de problemas.

OmniFind Text Search Server 3

|

|

|

|

|

|

|

|

|

|

|

|||

||||

|||

||

|

||

||

||

||||

Page 10: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Conceitos relacionados

“Procedimentos armazenados de administração para procura de texto” na página 15Pode iniciar e parar funções de procura de texto e criar, desactivar e actualizar índices de procura detexto, utilizando um conjunto de procedimentos armazenados SQL de administração. Estes procedimentospodem ser chamadas a partir de quaisquer interfaces SQL. Não é possível chamar estes procedimentos apartir de uma linha de comandos do IBM i, através de comandos CL.Referências relacionadas

“CONTAINS” na página 38Pode utilizar a função CONTAINS para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve um resultado que indica se foi encontradauma correspondência.“SCORE” na página 40Pode utilizar a função SCORE para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve uma classificação de relevância que avalia onível de correspondência de uma documento relativamente à consulta.

Requisitos de sistema para instalar o OmniFind Text Search Server forDB2 for iAntes de instalar um OmniFind Text Search Server for DB2 for i, certifique-se de que o sistema cumpretodos os requisitos de hardware, software e sistema operativo.

Ao instalar o OmniFind Text Search Server for DB2 for i, o programa de instalação cria um servidor deprocura de texto para o IBM i. Pode instalar servidores de procura de texto em servidores remotos queexecutem Linux ou Windows. Estes servidores fazem parte do DB2 Accessories Suite for z/OS (5655-R14)

(http://www-01.ibm.com/software/data/db2imstools/db2tools/accessories-suite/) . A ligação incluiinformações sobre como descarregar o conjunto.

Requisitos de software

Certifique-se de que o sistema cumpre os seguintes requisitos mínimos de software:v IBM Java™ Runtime 1.5 SR4v Controlador DB2 Universal Java instalado e configurado no servidor de procura de textov Para o IBM i, é necessário que os seguintes programas estejam instalados:

– 5770SS1 Opção 30 Qshell– 5770SS1 Opção 33 IBM i Portable Application Solutions Environment (IBM i PASE)– 5770SS1 Opção 39 International Components for Unicode– A PTF de grupo mais recente para o IBM DB2 for i foi aplicada no sistema.

Conceitos chaveCompreender os conceitos chave das funções de procura de texto poderá ajudá-lo a tirar partido dasvantagens do OmniFind Text Search for DB2 for i. Os conceitos chave incluem os tipos de documentos eidiomas suportados.

Criar e actualizar um índice de procura de textoPode criar um índice de procura de texto definindo e declarando as propriedades do índice. Podeactualizar um índice de procura de texto adicionando novos dados de uma tabela DB2 ao índice. Podetambém actualizar um índice de procura de texto alterando os dados existentes no índice.

Para cada índice de procura de texto que criar, é criada uma nova recolha no OmniFind Text SearchServer for DB2 for i. Após a criação inicial, o índice de procura de texto não contém quaisquer dados.

4 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

|||||

|

||||

||||

|

|

||

|||

||

|

|

|

|

|

|

|

|

|

||

|||

|

|||

||

Page 11: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Pode adicionar dados ao índice de procura de texto chamando o procedimento armazenadoSYSPROC.SYSTS_UPDATE. O primeiro processo de actualização adiciona todos os documentos de textoda coluna de texto ao índice de procura de texto. Este processo é conhecido por actualização inicial. Asactualizações subsequentes são incrementais.

Quando um índice de procura de texto é criado, os seguintes objectos são criados ou actualizados:v A tabela de passagem é criada na biblioteca QSYS2.v Os activadores INSERT, DELETE e UPDATE são adicionados à tabela base.v Uma vista SQL com o nome do índice de procura de texto é criada no esquema do índice de procura

de texto. Esta vista contém informações acerca do índice de texto. Por exemplo, a vista pode serutilizada para obter o nome da tabela base e o nome da tabela de passagem. A vista também mostra onúmero de alterações pendentes à tabela base que não estão reflectidas no índice de procura de texto.

v Os catálogos do índice de procura de texto (SYSTEXTINDEXES e SYSTEXTCOLUMNS) na bibliotecaQSYS2 são actualizados com uma nova entrada para o novo índice de procura de texto.

Considerações sobre a tabela de passagem:v Não execute qualquer operação de base de dados na tabela de passagem, excepto guardar e restaurar o

ficheiro ou alterar autoridades.v Se estiver a alterar as autoridades na tabela base, altere as autoridades também na tabela de passagem.

Considerações sobre a tabela base:v Não remova os activadores DELETE, UPDATE e INSERT que são adicionados quando um índice de

procura de texto é criado.v Desactivar o índice de procura de texto remove os activadores.v Não altere ou remova o ROWID, chave principal ou coluna exclusiva utilizada como a chave no índice

de procura de texto.v Uma alteração da coluna de dados da tabela base que resulte no truncamento de dados poderá resultar

em correspondências positivas falsas no índice de procura de texto.Referências relacionadas

“SYSPROC.SYSTS_UPDATE” na página 35Pode chamar o procedimento armazenado SYSPROC.SYSTS_UPDATE para actualizar o índice de procurade texto de modo a que reflicta o conteúdo actual da coluna de texto.“Tabela de administração QSYS2.SYSTEXTINDEXES” na página 102Pode consultar informações acerca de cada índice de procura de texto na tabela de administraçãoQSYS2.SYSTEXTINDEXES. Cada índice de procura de texto tem um nome, um nome de esquema e umnome de recolha associada no servidor de procura de texto.“Tabela de administração QSYS2.SYSTEXTCOLUMNS” na página 104Pode consultar informações acerca das colunas de texto para um índice de procura de texto na tabela deadministração QSYS2.SYSTEXTCOLUMNS. Cada índice de procura de texto inclui um ID de índice,nomes de colunas de texto e o nome do esquema da tabela base.

Indexação assíncrona e activadores

Pode actualizar o índice de procura de texto no OmniFind Text Search Server for DB2 for i manualmenteou agendá-lo para execução automática.

O índice de procura de texto mantido no OmniFind Text Search Server for DB2 for i não é actualizado deforma síncrona quando a tabela DB2 é actualizada. A actualização de um índice de procura de texto éuma operação extensiva.

Em alternativa, as alterações à coluna da tabela DB2 são captadas pelos activadores para uma tabela deregisto local. Esta tabela de registo é também designada por tabela de passagem. Estes activadores

OmniFind Text Search Server 5

||||

|

|

|

||||

||

|

||

|

|

||

|

||

||

|

|||

||||

||||

|

||

|||

||

Page 12: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

armazenam automaticamente informações acerca de documentos novos, alterados e eliminados numatabela de registo. Cada tabela de registo é associada a um índice de procura de texto. A aplicação doconteúdo da tabela de registo ao índice de procura de texto correspondente é denominada actualizaçãoincremental.

Terá de actualizar periodicamente o índice de procura de texto de modo a que as alterações se reflictamem consultas.

Pode actualizar o índice de procura de texto manualmente chamando o procedimento armazenadoSYSPROC.SYSTS_UPDATE.

As actualizações podem também ser agendadas de modo a que ocorram automaticamente, utilizando acláusula UPDATE FREQUENCY no procedimento SYSPROC.SYSTS_CREATE quando o índice de texto écriado.Referências relacionadas

“SYSPROC.SYSTS_CREATE” na página 19Pode chamar o procedimento armazenado SYSPROC.SYSTS_CREATE para criar um índice de procura detexto. Este procedimento armazenado activa uma coluna de texto para indexação de procura de texto. Oíndice de procura de texto pode, deste modo, ser utilizado em consultas SQL que contenham as funçõesCONTAINS ou SCORE.“SYSPROC.SYSTS_UPDATE” na página 35Pode chamar o procedimento armazenado SYSPROC.SYSTS_UPDATE para actualizar o índice de procurade texto de modo a que reflicta o conteúdo actual da coluna de texto.

Formatos de documento suportadosOs dados de colunas de texto podem corresponder a texto simples, um documento HTML, umdocumento XML ou qualquer outro documento reconhecido pelo motor de procura.

O OmniFind Text Search Server for DB2 for i analisa documentos para extrair partes relevantes e permitira respectiva procura. Por exemplo, os controlos e os metadados de um documento HTML não sãoindexados.

A análise dos seguintes formatos de documento é suportada:v TEXT: Texto simplesv HTML: Hypertext Markup Languagev XML: Extensible Markup Languagev INSO: O OmniFind Text Search Server for DB2 for i utiliza filtros para detectar o formato de

documentos de texto. Os seguintes formatos de documento INSO são suportados:– XML– HTML– JustSystems Ichitaro– Lotus 123– Lotus Freelance– Lotus WordPro– Microsoft® Excel– Microsoft PowerPoint– Microsoft Rich Text Format– Microsoft Visio– Microsoft Word– Microsoft Write

6 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

||||

||

||

|||

|

|||||

|||

|

||

|||

|

|

|

|

||

|

|

|

|

|

|

|

|

|

|

|

|

Page 13: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

– Portable Document Format (PDF)– Quattro Pro– Rich Text RTF– StarOffice Calc e OpenOffice Calc

Todos os documentos numa coluna de texto indexada têm de ter o mesmo formato (TEXT, HTML, XMLou INSO).

Dados XML

A estrutura XML nos dados XML é indexada no OmniFind Text Search Server for DB2 for i após a análisedos dados através do interpretador de XML. Em seguida, pode utilizar a sintaxe de consulta de ProcuraXML para obter os resultados.Conceitos relacionados

“Procura XML” na página 48Pode indexar e procurar documentos XML. A gramática de procura XML utiliza um subconjunto dalinguagem W3 XPath com extensões para procura de texto. As extensões suportam procuras porintervalos de valores numéricos, de data e de data e hora que podem ser associados a um atributo ouelemento XML. Os elementos estruturais podem ser utilizados separadamente ou combinados com textolivre em consultas.

Tipos de dados suportadosOs dados nas colunas de texto que pretende indexar e procurar podem ser dados binários ou dados decaracteres.

Os seguintes tipos de dados são dados binários:v BINARYv VARBINARYv BLOB

Além disso, o OMNIFIND suporta os seguintes tipos de dados de forma semelhante aos dados binários:v CHAR FOR BIT DATAv VARCHAR FOR BIT DATA

Os seguintes tipos de dados são dados de caracteres:v CHAR FOR SBCS DATA ou FOR MIXED DATAv VARCHAR FOR SBCS DATA ou FOR MIXED DATAv CLOBv DBCLOBv GRAPHICv VARGRAPHICv XML

Se os dados forem binários, pode especificar o identificador do conjunto de caracteres codificados(CCSID) utilizado para criar o índice de procura de texto. Para dados de caracteres, a base de dados DB2reconhece a codificação. Deste modo, se especificar explicitamente um CCSID, essa especificação éignorada.

OmniFind Text Search Server 7

|

|

|

|

||

|

|||

|

||||||

|

||

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

||||

Page 14: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Classificação de texto e suporte de sinónimos

Pode utilizar sinónimos para aperfeiçoar os resultados de uma consulta. Pode utilizar uma classificaçãode texto para saber o nível de correspondência de um resultado relativamente a uma consulta.

Classificação de texto

Uma classificação de texto é calculada como parte da procura e pode ser incluída nos resultados daconsulta. Uma classificação de texto é um valor entre 0 e 1, com um máximo de três casas decimais. Porexemplo, 0,000 a 1,000. Uma classificação de texto indica o nível de correspondência de um resultadonuma consulta em comparação com todos os restantes documentos no índice de procura de texto.

O OMNIFIND compõe a classificação de texto a partir de vários factores, tais como a importância globaldos termos da procura e a proximidade de ocorrências dos termos da procura. A importância globalbaseia-se na frequência dos termos em cada documento e no desvio relativamente à frequência dostermos em todos os documentos.

Suporte de sinónimos

O OmniFind Text Search Server for DB2 for i suporta a utilização de sinónimos para modificar osresultados de uma consulta. A utilização de sinónimos pode aumentar o número de resultados daconsulta, permitindo que mais documentos correspondam a uma consulta. No entanto, a utilização desinónimos pode também reduzir a precisão de uma consulta e tornar difícil encontrar poucos documentosque correspondam aos critérios de procura exactos.

Por predefinição, os sinónimos não são utilizados numa consulta. Para utilizar sinónimos numa consulta,crie um dicionário de sinónimos e adicione-o a uma recolha utilizando a ferramenta de sinónimos.

Para obter mais informações acerca de sinónimos, consulte o tópico “Dicionário de sinónimos” na página76.Referências relacionadas

“SCORE” na página 40Pode utilizar a função SCORE para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve uma classificação de relevância que avalia onível de correspondência de uma documento relativamente à consulta.

Processamento linguísticoO OmniFind Text Search Server for DB2 for i faculta pacotes de dicionários para suporte doprocessamento linguístico de documentos e consultas em idiomas que não o inglês.

Como alternativa à segmentação de palavras com base em dicionário, o OmniFind Text Search Server forDB2 for i utiliza suporte de segmentação por n-gramas para idiomas como o chinês, japonês e coreano. Asegmentação por n-gramas é um método de análise que considera sequências sobrepostas de umdeterminado número de caracteres como uma única palavra. Em alternativa, a segmentação por espaços embranco utiliza os espaços em branco para delimitar palavras.

Se um documento de texto estiver num dos idiomas suportados, o processamento linguístico é executadoquando o texto for analisado em símbolos. Para os idiomas não suportados, é devolvido um código deerro.

Ao efectuar procuras num índice de procura de texto, é indicada uma correspondência que contémvariações linguísticas dos termos da procura. As variações de uma palavra dependem do idioma daprocura.

8 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

||

|

||||

||||

|

|||||

||

||

|

||||

|

||

|||||

|||

|||

Page 15: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Idiomas suportadosPode especificar o processamento de documentos de texto utilizando um idioma específico.

Pode especificar o idioma para os dados de texto indexados no procedimento armazenado deadministração SYSPROC.SYSTS_CREATE. Se definir o valor como AUTO, o OmniFind Text Search Serverfor DB2 for i tenta determinar o idioma. Para documentos curtos, a detecção automática pode não serprecisa e não é recomendada. O idioma predefinido para processamento linguístico é o inglês (en_US).

A tabela que se segue apresenta os códigos de idioma constituídos por cinco caracteres para os idiomassuportados.

Tabela 1. Códigos de idioma de cinco caracteres para os idiomas suportados

Código de idioma Idioma

ar_AA Árabe

cs_CZ Checo

da_DK Dinamarquês

de_CH Alemão (Suíça)

de_DE Alemão (Alemanha)

el_GR Grego

en_AU Inglês (Austrália)

en_GB Inglês (Reino Unido)

en_US Inglês (E.U.A.)

es_ES Espanhol (Espanha)

fi_FI Finlandês

fr_CA Francês (Canadá)

fr_FR Francês (França)

it_IT Italiano

ja_JP Japonês

ko_KR Coreano

nb_NO Norueguês Bokmal

nl_NL Neerlandês

nn_NO Norueguês Nynorsk

pl_PL Polaco

pt_BR Português do Brasil

pt_PT Português (Portugal)

ru_RU Russo

sv_SE Sueco

zh_CN Chinês simplificado

zh_TW Chinês tradicional

OmniFind Text Search Server 9

||

||||

||

||

||

||

||

||

||

||

||

||

||

||

||

||

||

||

||

||

||

||

||

||

||

||

||

||

||

||

|||

Page 16: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Referências relacionadas

“SYSPROC.SYSTS_CREATE” na página 19Pode chamar o procedimento armazenado SYSPROC.SYSTS_CREATE para criar um índice de procura detexto. Este procedimento armazenado activa uma coluna de texto para indexação de procura de texto. Oíndice de procura de texto pode, deste modo, ser utilizado em consultas SQL que contenham as funçõesCONTAINS ou SCORE.

Processamento linguístico para documentos em chinês, japonês e coreanoPode processar documentos em chinês, japonês ou coreano utilizando a segmentação baseada emdicionário ou a segmentação por n-gramas.

Para um motor de procura, a obtenção de bons resultados de procura depende, em grande medida, dastécnicas utilizadas para processar texto. Após a extracção do texto do documento, o primeiro passo noprocessamento de texto consiste em identificar as palavras individuais no texto. A identificação daspalavras individuais no texto é designada por segmentação. Para muitos idiomas, o espaço em branco(espaços, o fim de uma linha e alguma pontuação) podem ser utilizados para reconhecer os limites daspalavras. Contudo, o chinês, o japonês e o coreano não utilizam espaços em branco entre caracteres paraseparar palavras. Deste modo, é necessário utilizar outras técnicas.

O OmniFind Text Search Server for DB2 for i disponibiliza os dois seguintes métodos para suportar oprocessamento linguístico do chinês, japonês e coreano:v Segmentação de palavras com base em dicionário (também designada por análise morfológica)v Segmentação por n-gramas

Segmentação de palavras com base em dicionário

A segmentação de palavras com base em dicionário utiliza um dicionário específico do idioma para identificarpalavras na sequência de caracteres do documento. Esta técnica faculta resultados de procura precisos,uma vez que os dicionários são utilizados para identificar os limites das palavras. No entanto, asegmentação de palavras com base em dicionário pode ignorar resultados correspondentes específicos.

Segmentação por n-gramas

A segmentação por n-gramas evita o problema da identificação dos limites das palavras, indexando pares decaracteres sobrepostos. Uma vez que o OmniFind Text Search Server for DB2 for i utiliza dois caracteres,esta técnica é também designada por segmentação por bi-gramas.

A segmentação por n-gramas devolve sempre todos os documentos correspondentes que incluam ostermos da procura. No entanto, esta técnica pode, por vezes, devolver documentos que nãocorrespondem à consulta.

Por predefinição, o OmniFind Text Search Server for DB2 for i é fornecido com um índicepré-configurado que utiliza a segmentação por n-gramas para chinês, japonês e coreano.

Para saber como funcionam ambos os tipos de processamento linguístico, examine o seguinte texto numdocumento: eleição do governador da prefeitura de Kanagawa. Em japonês, este texto contém oitocaracteres. Para este exemplo, os oito caracteres são representados por A B C D E F G H. Uma consultaexemplo que os utilizadores podem introduzir seria eleição do governador, que é constituída por quatrocaracteres representados por E F G H. (O texto do documento e a consulta exemplo partilhar caracteressemelhantes.)

Se utilizar o processamento de segmentação por n-gramas:

Após a indexação do documento, o motor de procura segmenta o texto eleição do governadorda prefeitura de Kanagawa nos seguintes conjuntos de caracteres: AB BC CD DE EF FG GH

10 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

|||||

|||

|||||||

||

|

|

|

||||

|

|||

|||

||

||||||

|

||

Page 17: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

A consulta exemplo eleição do governador é segmentada nos seguintes conjuntos de caracteres:EF FG GH. Se efectuar uma procura com a consulta exemplo eleição do governador, odocumento é encontrado. O motivo prende-se com o facto de os símbolos para o texto dodocumento e para a consulta serem apresentados na mesma ordem.

Ao activar a segmentação por n-gramas, poderão ser apresentados mais resultados mas quepoderão ser menos precisos. Por exemplo, em japonês, se efectuar uma procura com a consultaKyoto e o documento no índice incluir o texto Cidade de Tóquio, o documento é encontrado. Omotivo prende-se com o facto de Cidade de Tóquio e Kyoto partilharem dois dos mesmoscaracteres japoneses.

Se não utilizar o processamento de segmentação por n-gramas:

Após a indexação do documento, o motor de procura segmenta o texto eleição do governadorda prefeitura de Kanagawa nos seguintes conjuntos de caracteres: ABC DEF GH.

A consulta exemplo eleição do governador é segmentada nos seguintes conjuntos de caracteres:EF GH. Os caracteres EF não são apresentados nos símbolos do texto do documento. (Embora odocumento não inclua EF, inclui DEF).

O texto do documento contém DEF, mas a consulta contém apenas EF. Por conseguinte, é menosprovável que o documento seja encontrado através da consulta exemplo.

Se não activar a segmentação por n-gramas, receberá resultados mais precisos, mas,possivelmente, um número inferior de resultados.

Nome alternativo de servidorPode utilizar um nome alternativo de servidor para atribuir um nome com significado a um servidor.

Cada servidor de procura de texto é identificado de forma exclusiva pela coluna SERVERID no catálogoQSYS2.SYSTEXTSERVERS. A coluna SERVERID é um número inteiro gerado de forma incremental pelabase de dados.

A coluna ALIASNAME no catálogo QSYS2.SYSTEXTSERVERS é fornecida para permitir que um nomealternativo com significado seja atribuído a cada servidor. Os nomes alternativos de servidor podem serutilizados para fazer referência a servidores nos procedimentos SYSTS_START, SYSTS_STOP eSYSTS_CREATE.

Nota: O nome alternativo de servidor pode ser directamente alterado na tabela do catálogoQSYS2.SYSTEXTSERVERS, actualizando o valor de ALIASNAME.

Atribua ao servidor número 1 um nome alternativo de "PRIMARY_LOCAL_SERVER".UPDATE QSYS2.SYSTEXTSERVERSSET ALIASNAME = 'PRIMARY_LOCAL_SERVER'WHERE SERVERID = 1

Para remover um nome alternativo de um servidor, defina a coluna como NULL.

remova um nome alternativo do servidor número 1.UPDATE QSYS2.SYSTEXTSERVERSSET ALIASNAME = NULLWHERE SERVERID = 1

OmniFind Text Search Server 11

||||

|||||

|

||

|||

||

||

|

|

|||

||||

||

|

|||

|

|

|||

Page 18: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Referências relacionadas

“Tabela de administração QSYS2.SYSTEXTSERVERS” na página 105Pode consultar a localização em que os servidores de procura de texto estão instalados utilizando a tabelade administração QSYS2.SYSTEXTSERVERS.“SYSPROC.SYSTS_START” na página 16Pode activar funções de procura de texto de DB2 chamando o procedimento armazenadoSYSPROC.SYSTS_START.“SYSPROC.SYSTS_STOP” na página 17Pode chamar o procedimento armazenado SYSPROC.SYSTS_STOP para parar funções de procura de textode DB2. Este procedimento armazenado define o valor de SERVERSTATUS no catálogoQSYS2.SYSTEXTSERVERS como 1 (parado).“SYSPROC.SYSTS_CREATE” na página 19Pode chamar o procedimento armazenado SYSPROC.SYSTS_CREATE para criar um índice de procura detexto. Este procedimento armazenado activa uma coluna de texto para indexação de procura de texto. Oíndice de procura de texto pode, deste modo, ser utilizado em consultas SQL que contenham as funçõesCONTAINS ou SCORE.

Instalar e configurar funções de procura de texto

Pode instalar e configurar o OmniFind Text Search Server for DB2 for i. Pode também criar e actualizarum índice de procura de texto de modo a que possa iniciar funções de procura de texto numa coluna deuma tabela.

Instalar o OmniFind Text Search Server for DB2 for iInstale o OmniFind Text Search Server for DB2 for i utilizando os procedimentos de instalação padrão deum programa licenciado no IBM i. É criado um servidor de texto predefinido e a tabelaQSYS2.SYSTEXTSERVERS é preenchida com informações predefinidas do servidor. Opcionalmente, podeadicionar outros servidores de procura de texto após a instalação.

Preencha a tabela QSYS2.SYSTEXTSERVERS

O OmniFind Text Search Server for DB2 for i é o programa licenciado 5733-OMF da IBM. Consulte otópico Instalar programas licenciados adicionais para obter mais informações sobre como instalar umprograma licenciado. Para localizar este produto, introduza GO LICPGM na linha de comandos eseleccione a opção 10 (Ver Programas Licenciados Instalados). O programa será apresentado na lista deprogramas licenciados.

A tabela QSYS2.SYSTEXTSERVERS contém informações sobre os IBM OmniFind Text Search Serversinstalados e disponíveis para o DB2 for i. Quando o produto OmniFind Text Search Server for DB2 for i éinstalado pela primeira vez, é criado um servidor de procura de texto predefinido no sistema IBM i. Atabela QSYS.SYSTEXTSERVERS é também preenchida com as informações do servidor predefinido.

Criar servidores de procura de texto adicionais

Se estiver a utilizar servidores de procura de texto num sistema IBM remoto ou se estiver a utilizarservidores não IBM como, por exemplo, um servidor Windows ou Linux, preencha explicitamente estatabela, emitindo uma instrução SQL INSERT.

Se pretender preencher a tabela QSYS2.SYSTEXTSERVERS com servidores adicionais, execute os seguintespassos na instrução SQL INSERT:1. Especifique o número de porta do servidor e o nome do servidor para cada servidor de procura de

texto na coluna SERVERPORT e nas colunas SERVERNAME da tabela QSYS2.SYSTEXTSERVERS,emitindo uma instrução SQL INSERT.

12 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

|||

|||

||||

|||||

||

|||

|

||||

|

|||||

||||

|

|||

||

|||

Page 19: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

2. Especifique o sinal de autenticação de cada servidor de procura de texto na colunaSERVERAUTHTOKEN da tabela QSYS2.SYSTEXTSERVERS na instrução SQL INSERT.Quando a base de dados DB2 comunica com um servidor de procura de texto, é necessário um sinalde autenticação. Este sinal é gerado no servidor de procura de texto, durante a instalação.

3. Especifique a chave do servidor para cada servidor de procura de texto na colunaSERVERMASTERKEY da tabela QSYS2.SYSTEXTSERVERS da instrução SQL INSERT.

4. OPCIONAL: Especifique um nome alternativo para o servidor na coluna ALIASNAME. Este nomealternativo pode ser utilizado para fazer referência ao servidor em operações subsequentes.

Exemplo

O exemplo de uma instrução SQL INSERT que se segue copia as informações necessárias relativas a umservidor de procura de texto para as colunas da tabela QSYS2.SYSTEXTSERVERS:INSERT INTO QSYS2.SYSTEXTSERVERS(SERVERNAME,

SERVERADRINFO,SERVERPORT,SERVERTYPE,SERVERAUTHTOKEN,SERVERMASTERKEY,SERVERPATH,

ALIASNAME)VALUES('127.0.0.1',

VARBINARY(X'0000'),49200,0,'AH2X4w==','b1YhcR9O858ArwxLJeIY/Q==','/QOpenSys/QIBM/ProdData/TextSearch/server1/bin/','LOCALSERVER2');

Conceitos relacionados

“Nome alternativo de servidor” na página 11Pode utilizar um nome alternativo de servidor para atribuir um nome com significado a um servidor.Referências relacionadas

“Tabela de administração QSYS2.SYSTEXTSERVERS” na página 105Pode consultar a localização em que os servidores de procura de texto estão instalados utilizando a tabelade administração QSYS2.SYSTEXTSERVERS.

Iniciar funções de procura de textoAntes de iniciar as funções de procura de texto, chame o procedimento armazenadoSYSPROC.SYSTS_START. Ao invocar este procedimento, pode iniciar todos os servidores de produçãodefinidos como locais para o sistema.

O suporte de procura de texto inclui instruções SQL que utilizam a função CONTAINS, a função SCOREe os seguintes procedimentos armazenados de administração:v SYSPROC.SYSTS_CREATEv SYSPROC.SYSTS_UPDATEv SYSPROC.SYSTS_DROP

OmniFind Text Search Server 13

||

||

||

||

|

||

||||||||||||||||

|

||

|

|||

|

|||

||

|

|

|

Page 20: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Referências relacionadas

“SYSPROC.SYSTS_START” na página 16Pode activar funções de procura de texto de DB2 chamando o procedimento armazenadoSYSPROC.SYSTS_START.“SYSPROC.SYSTS_CREATE” na página 19Pode chamar o procedimento armazenado SYSPROC.SYSTS_CREATE para criar um índice de procura detexto. Este procedimento armazenado activa uma coluna de texto para indexação de procura de texto. Oíndice de procura de texto pode, deste modo, ser utilizado em consultas SQL que contenham as funçõesCONTAINS ou SCORE.“SYSPROC.SYSTS_UPDATE” na página 35Pode chamar o procedimento armazenado SYSPROC.SYSTS_UPDATE para actualizar o índice de procurade texto de modo a que reflicta o conteúdo actual da coluna de texto.“SYSPROC.SYSTS_DROP” na página 33Pode chamar o procedimento armazenado SYSPROC.SYSTS_DROP para desactivar um índice de procurade texto definido através da utilização do procedimento armazenado SYSPROC.SYSTS_CREATE.“CONTAINS” na página 38Pode utilizar a função CONTAINS para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve um resultado que indica se foi encontradauma correspondência.“SCORE” na página 40Pode utilizar a função SCORE para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve uma classificação de relevância que avalia onível de correspondência de uma documento relativamente à consulta.

Criar um índice de procura de textoPode criar um índice de procura de texto chamando o procedimento armazenadoSYSPROC.SYSTS_CREATE.

A tabela base de DB2 tem de conter uma coluna ROWID, uma chave única ou uma chave principal.

Para criar um índice de procura de texto numa tabela DB2 existente com uma coluna que contenha texto:

Chame o procedimento armazenado SYSPROC.SYSTS_CREATE.

O índice de procura de texto está vazio até à primeira actualização do índice.Referências relacionadas

“SYSPROC.SYSTS_CREATE” na página 19Pode chamar o procedimento armazenado SYSPROC.SYSTS_CREATE para criar um índice de procura detexto. Este procedimento armazenado activa uma coluna de texto para indexação de procura de texto. Oíndice de procura de texto pode, deste modo, ser utilizado em consultas SQL que contenham as funçõesCONTAINS ou SCORE.

Actualizar um índice de procura de textoPode actualizar um índice de procura de texto chamado o procedimento armazenadoSYSPROC.SYSTS_UPDATE.

A chamada de SYSTS_UPDATE é utilizada para preencher inicialmente o índice de procura de texto. Étambém utilizada sempre que o conteúdo da tabela DB2 for alterado e o utilizador pretender sincronizaro índice de procura de texto com essas alterações.

Após a ocorrência de uma actualização de índice de procura de texto, pode executar consultas de procurano índice de procura de texto. A coluna de procura de texto da tabela base pode ser alterada após a

14 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

|||

|||||

|||

|||

||||

||||

|

||

|

|

|

|

|

|||||

|

||

|||

||

Page 21: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

actualização. Neste caso, os resultados da consulta de procura só reflectem essas alterações após aexecução da actualização do índice de procura de texto.Referências relacionadas

“SYSPROC.SYSTS_UPDATE” na página 35Pode chamar o procedimento armazenado SYSPROC.SYSTS_UPDATE para actualizar o índice de procurade texto de modo a que reflicta o conteúdo actual da coluna de texto.

Procurar num índice de procura de textoPode efectuar procuras num índice de procura de texto, utilizando uma instrução SQL com uma funçãoCONTAINS ou SCORE. Os critérios de argumentos de procura são especificados na função.

O utilizador que está a executar as consultas de texto numa tabela DB2 tem de dispor do conjunto deprivilégios padrão necessário para tipo de consulta, tal como especificado no documento Referência SQL deDB2.Referências relacionadas

“CONTAINS” na página 38Pode utilizar a função CONTAINS para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve um resultado que indica se foi encontradauma correspondência.“SCORE” na página 40Pode utilizar a função SCORE para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve uma classificação de relevância que avalia onível de correspondência de uma documento relativamente à consulta.

Truncamento de documentosO OmniFind Text Search Server for DB2 for i limita o número de caracteres que podem ser indexadospara cada documento de texto. Por vezes, este limite de caracteres resulta no truncamento de documentosde texto longos no índice de procura de texto.

Os documentos que contêm mais do que 10 milhões de caracteres Unicode podem ser truncados peloservidor de procura de texto. No caso de um documento de rich text, este limite é aplicado após odocumento ser transformado em texto simples.

Se um documento de texto for truncado durante o passo de análise, receberá um aviso com a indicaçãode que alguns documentos não foram totalmente processados. O aviso é apresentado no registo detrabalhos. O documento é parcialmente indexado. O texto existente no documento após o limite não éindexado nem considerado em procuras.

Poderá remover o documento truncado do índice de procura de texto de modo a evitar umcomportamento inesperado durante o processamento da procura. Pode remover o documento removendoo registo correspondente da tabela DB2 ou alterando o valor do documento para vazio ou nulo.

Procedimentos armazenados de administração para procura de textoPode iniciar e parar funções de procura de texto e criar, desactivar e actualizar índices de procura detexto, utilizando um conjunto de procedimentos armazenados SQL de administração. Estes procedimentospodem ser chamadas a partir de quaisquer interfaces SQL. Não é possível chamar estes procedimentos apartir de uma linha de comandos do IBM i, através de comandos CL.

Observando os catálogos do sistema através de STRSQL, pode ver o conteúdo das colunas através dadefinição do trabalho para um CCSID diferente de 65535.

OmniFind Text Search Server 15

||

|

|||

|

||

|||

|

||||

||||

|

|||

|||

||||

|||

||

||||

||

Page 22: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

SYSPROC.SYSTS_STARTPode activar funções de procura de texto de DB2 chamando o procedimento armazenadoSYSPROC.SYSTS_START.

As funções de procura de texto incluem suporte para consultas SQL que utilizam a função CONTAINS, afunção SCORE e os procedimentos armazenados de administração utilizados para manter índices deprocura de texto.

Execute o procedimento armazenado SYSPROC.SYSTS_START sempre que um servidor for adicionado oualterado na tabela QSYS2.SYSTEXTSERVERS.

Se as funções de procura de texto não forem iniciadas, a base de dados devolve SQLCODE -20424 com ocódigo de razão 4 para as funções CONTAINS e SCORE. Os procedimentos administrativosSYSPROC.SYSTS_CREATE e SYSPROC.SYSTS_UPDATE falham também com o SQLCODE -20424, se oservidor não tiver sido iniciado.

Para os servidores de procura de texto contidos na tabela QSYS2.SYSTEXTSERVERS, são processadosnomes de TCP/IP. Várias chamadas do procedimento armazenado SYSPROC.SYSTS_START não sãoconsideradas um erro. Este processo permite verificar a resolução de endereços na tabelaQSYS2.SYSTEXTSERVERS.

Se o servidor for um servidor local, esta chamada de procedimento armazenado inicia o servidor, casoeste ainda não tenha sido iniciado. Se o servidor for um servidor remoto, a chamada de procedimentoverifica se o servidor está activo, mas não o inicia.

Pré-requisitos

Antes de chamar o procedimento armazenado SYSPROC.SYSTS_START, verifique se a tabelaQSYS2.SYSTEXTSERVERS contém, pelo menos, uma entrada.

Autorização

O ID de utilizador sob o qual este procedimento armazenado é invocado tem de dispor dos seguintesprivilégios:v Autoridade *EXECUTE no procedimentov Privilégio SELECT e UPDATE na tabela SYSTXTSRVRS.v Autoridade *EXECUTE na biblioteca QSYS2 do ficheiro SYSTXTSRVRS.v Autoridade *JOBCTL ou utilização da função especial de segurança QIBM_DB_SQLADM.

Para obter informações sobre as autoridades sobre o sistema correspondentes a privilégios de SQL,consulte o tópico GRANT (Privilégios sobre tabela ou vista).

Sintaxe

�� SYSPROC.SYSTS_START ( )serveridaliasname

��

O qualificador de esquema é SYSPROC.

Parâmetro

serverid ou aliasnameEspecifica o identificador do servidor a iniciar. Um ID de servidor serverid ou aliasname de servidor

16 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

||

|||

||

||||

||||

|||

|

||

|

||

|

|

|

|

||

|

|||||||||||||||||||

|

|

|

||

Page 23: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

consiste numa cadeia. Se não for fornecido um identificador, a predefinição consiste em iniciar todosos servidores. A cadeia do identificador tem de corresponder a um ID de servidor (serverid) válidoexistente na coluna SERVERID ou a um nome alternativo (aliasname) de servidor existente na colunaALIASNAME da tabela QSYS2.SYSTEXTSERVERS. Se o identificador puder ser convertido num valorinteiro, é interpretado como um serverid. Se o identificador não puder ser convertido num valorinteiro, é interpretado como um aliasname de servidor.

O tipo de dados deste parâmetro é VARCHAR(128).

Nota: Apenas os servidores identificados como servidores de produção são iniciados caso não sejaespecificado um valor para serverid ou aliasname. Os servidores de produção são identificadospelo parâmetro SERVERCLASS = 0 na tabela QSYS2.SYSTEXTSERVERS. Todos os servidoresde teste têm de ser iniciados através da especificação do serverid ou aliasname associado aoservidor de teste.

Para iniciar todos os servidores de produção:CALL SYSPROC.SYSTS_START().

Parainiciar um servidor com um ID de 1:CALL SYSPROC.SYSTS_START(1)

Parainiciar um servidor com um nome alternativo de "LOCAL_SERVER":CALL SYSPROC.SYSTS_START('LOCAL_SERVER')

Parainiciar um servidor com um nome alternativo de "local_server":CALL SYSPROC.SYSTS_START('"local_server"')

Conceitos relacionados

“Nome alternativo de servidor” na página 11Pode utilizar um nome alternativo de servidor para atribuir um nome com significado a um servidor.Tarefas relacionadas

“Iniciar o OmniFind Text Search Server for DB2 for i” na página 64Pode iniciar o OmniFind Text Search Server for DB2 for i chamando o procedimentoSYSPROC.SYSTS_START.Referências relacionadas

“Tabela de administração QSYS2.SYSTEXTSERVERS” na página 105Pode consultar a localização em que os servidores de procura de texto estão instalados utilizando a tabelade administração QSYS2.SYSTEXTSERVERS.“CONTAINS” na página 38Pode utilizar a função CONTAINS para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve um resultado que indica se foi encontradauma correspondência.“SCORE” na página 40Pode utilizar a função SCORE para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve uma classificação de relevância que avalia onível de correspondência de uma documento relativamente à consulta.

SYSPROC.SYSTS_STOPPode chamar o procedimento armazenado SYSPROC.SYSTS_STOP para parar funções de procura de textode DB2. Este procedimento armazenado define o valor de SERVERSTATUS no catálogoQSYS2.SYSTEXTSERVERS como 1 (parado).

OmniFind Text Search Server 17

||||||

|

|||||

||

|||

|||

|||

|

||

|

|||

|

|||

||||

||||

|

|||

Page 24: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Após a conclusão deste procedimento armazenado, as consultas SQL que utilizam as funções CONTAINSou SCORE ou procedimentos armazenados de administração utilizados para manutenção de índicesdevolvem uma falha sem tentar contactar um servidor de procura de texto.

Nota: A conclusão dos procedimentos administrativos e das consultas SQL que estejam a utilizar asfunções incorporadas CONTAINS ou SCORE em execução quando o procedimento SYSTS_STOP éinvocado é permitida.

As alterações À tabela de referência do índice continuam a ser registadas, mesmo quando o servidor estáparado. No entanto, as actualizações agendadas do índice não ocorrem até que o procedimentoSYSPROC.SYSTS_START seja invocado.

Autorização

O ID de utilizador sob o qual este procedimento armazenado é invocado tem de dispor dos seguintesprivilégios:v Autoridade *EXECUTE no procedimentov Privilégios SELECT e UPDATE na tabela SYSTEXTSERVERS.v Autoridade *EXECUTE na biblioteca QSYS2 do ficheiro SYSTEXTSERVERS.v Autoridade *JOBCTL ou utilização da função especial de segurança QIBM_DB_SQLADM.

Para obter informações sobre as autoridades sobre o sistema correspondentes a privilégios de SQL,consulte o tópico GRANT (Privilégios sobre tabela ou vista).

Sintaxe

�� SYSTS_STOP ( )serveridaliasname

��

O qualificador de esquema é SYSPROC.

Parâmetro

serverid ou aliasnameEspecifica o identificador do servidor a parar. Um ID de servidor serverid ou aliasname de servidorconsiste numa cadeia. Se não for fornecido um identificador, a predefinição consiste em parar todosos servidores. A cadeia do identificador tem de corresponder a um ID de servidor (serverid) válidoexistente na coluna SERVERID ou a um nome alternativo (aliasname) de servidor existente na colunaALIASNAME da tabela QSYS2.SYSTEXTSERVERS. Se o identificador puder ser convertido num valorinteiro, é interpretado como um serverid. Se o identificador não puder ser convertido num valorinteiro, é interpretado como um aliasname de servidor.

O tipo de dados deste parâmetro é VARCHAR(128).

Para parar todos os servidores de produção:CALL SYSPROC.SYSTS_STOP().

Para pararum servidor com um ID de 1:CALL SYSPROC.SYSTS_STOP(1)

Para pararum servidor com um nome alternativo de "LOCAL_SERVER":CALL SYSPROC.SYSTS_STOP('LOCAL_SERVER')

18 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|||

|||

|||

|

||

|

|

|

|

||

|

|||||||||||||||||||

|

|

|

||||||||

|

||

|||

|||

Page 25: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Paraparar um servidor com um nome alternativo de "local_server":CALL SYSPROC.SYSTS_STOP('"local_server"')

Conceitos relacionados

“Nome alternativo de servidor” na página 11Pode utilizar um nome alternativo de servidor para atribuir um nome com significado a um servidor.Referências relacionadas

“Tabela de administração QSYS2.SYSTEXTSERVERS” na página 105Pode consultar a localização em que os servidores de procura de texto estão instalados utilizando a tabelade administração QSYS2.SYSTEXTSERVERS.“SYSPROC.SYSTS_START” na página 16Pode activar funções de procura de texto de DB2 chamando o procedimento armazenadoSYSPROC.SYSTS_START.“CONTAINS” na página 38Pode utilizar a função CONTAINS para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve um resultado que indica se foi encontradauma correspondência.“SCORE” na página 40Pode utilizar a função SCORE para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve uma classificação de relevância que avalia onível de correspondência de uma documento relativamente à consulta.

SYSPROC.SYSTS_CREATEPode chamar o procedimento armazenado SYSPROC.SYSTS_CREATE para criar um índice de procura detexto. Este procedimento armazenado activa uma coluna de texto para indexação de procura de texto. Oíndice de procura de texto pode, deste modo, ser utilizado em consultas SQL que contenham as funçõesCONTAINS ou SCORE.

O índice de procura de texto é criado num dos servidores de procura de texto apresentada na tabelaQSYS2.SYSTEXTSERVERS. O índice de procura de texto não é actualizado de forma síncrona quando atabela DB2 é actualizada. Em alternativa, um registo de alterações à tabela DB2 é captado pelosactivadores e colocado numa tabela de passagem.

Nota: Este procedimento armazenado define apenas o índice de procura de texto. O índice de procura detexto não contém quaisquer dados até à primeira invocação do procedimento armazenadoSYSPROC.SYSTS_UPDATE para o novo índice de procura de texto. Pode criar o índice de procurade texto após o preenchimento inicial da tabela. Ao criar o índice de procura de texto após opreenchimento inicial da tabela, evitará o accionamento de activadores de alterações antes de umaactualização inicial do índice.

Pré-requisitos

Antes da chamado do procedimento armazenado SYSPROC.SYSTS_CREATE, verifique os seguintespré-requisitos:v As funções de procura de texto de DB2 foram iniciadas através da invocação do procedimento

armazenado SYSPROC.SYSTS_START e pelo menos um servidor de procura de texto está em execução.v A tabela inclui uma coluna definida como chave principal, índice único ou ROWID.v A tabela QSYS2.SYSTEXTSERVERS contém, pelo menos, uma entrada.

OmniFind Text Search Server 19

|||

|

||

|

|||

|||

||||

||||

|

||||

||||

||||||

|

||

||

|

|

|

Page 26: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Autorização

Os privilégios detidos pelo ID de autorização da instrução têm de incluir, no mínimo, um dos seguintesprivilégios:v O privilégio de criação no esquema. Para obter mais informações, consulte o tópico Autorização,

privilégios e propriedade de objectos.v Autoridade administrativa

Os privilégios detidos pelo ID de autorização da instrução têm de incluir, no mínimo, um dos seguintesprivilégios:v As seguintes autoridades sobre o sistema:

– *USE para o comando Criar ficheiro lógico (CRTLF)– *CHANGE para o dicionário de dados, se a biblioteca na qual o índice de texto é criado for um

esquema SQL com um dicionário de dadosv Autoridade administrativa

Os privilégios detidos pelo ID de autorização da instrução têm de incluir também, pelo menos um dosseguintes privilégios:v Para a tabela referenciada:

– O privilégio INDEX na tabela– A autoridade *EXECUTE sobre o sistema na biblioteca que contém a tabela

v Autoridade administrativav Se forem especificados nomes SQL e existir um perfil de utilizador com o mesmo nome que a

biblioteca na qual o índice de texto é criado, e esse nome for diferente do ID de autorização dainstrução, os privilégios detidos pelo ID de autorização da instrução têm de incluir, pelo menos, umdos seguintes privilégios:– A autoridade *ADD sobre o sistema para o perfil de utilizador com esse nome– Autoridade administrativa

Se for referenciado um tipo distinto, os privilégios detidos pelo ID de autorização da instrução têm deincluir, pelo menos, um dos seguintes privilégios:v Para cada tipo distinto identificado na instrução:

– O privilégio USAGE sobre o tipo distinto, e– A autoridade *EXECUTE sobre o sistema na biblioteca que contém o tipo distinto

v Autoridade administrativa

Para obter informações sobre as autoridades sobre o sistema correspondentes a privilégios de SQL,consulte o tópico GRANT (Privilégios sobre tabela ou vista).

Sintaxe

�� SYSTS_CREATE ( indexSchemanull

, indexName , textSource , options ) ��

O qualificador de esquema é SYSPROC.

20 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

||

||

|

||

|

|

||

|

||

|

|

|

|

||||

|

|

||

|

|

|

|

||

|

||||||||||||||||||||||||||||||||

|

|

Page 27: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Parâmetros

indexSchemaIdentifica o esquema do índice de procura de texto. Se este parâmetro for nulo, é utilizado o valor doregisto especial CURRENT SCHEMA para o invocador. Este valor tem de corresponder a um nomeSQL válido.

Nota: Coloque os nomes entre aspas caso estes entrem em conflito com palavras-chave de SQL oucom palavras-chave do OmniFind que possam ser utilizadas.

O tipo de dados deste parâmetro é VARCHAR(128).

indexNameIdentifica o nome do índice de procura de texto. O nome do índice de procura de texto, juntamentecom o esquema de índice, identifica de forma exclusiva o índice de procura de texto no subsistemaDB2. É necessário especificar um valor diferente de nulo para este parâmetro. Este valor tem decorresponder a um nome SQL válido.

Nota: Coloque os nomes entre aspas caso estes entrem em conflito com palavras-chave de SQL oucom palavras-chave do OmniFind que possam ser utilizadas.

O tipo de dados para este parâmetro é VARCHAR(128).

textSourceIdentifica a especificação de tabela e coluna para a origem do texto do documento. Este parâmetropode incluir funções definidas pelo utilizador. É necessário especificar um valor diferente de nulopara este parâmetro.

O tipo de dados para este parâmetro é VARCHAR(1024).

textSource:

tableSchema. tableName ( text-column-name )function-name ( text-column-name )

function-schema .

tableSchemaIdentifica o esquema da tabela na qual o índice de procura de texto é criado.

Nota: Coloque os nomes entre aspas caso estes entrem em conflito com palavras-chave deSQL ou com palavras-chave do OmniFind que possam ser utilizadas.

tableNameIdentifica o nome da tabela de texto que contém a coluna na qual o índice de procura detexto externo é criado.

Notas:

v Não são suportados vistas e ficheiros lógicos.v Um nome alternativo tem de apontar para uma tabela ou um único membro de um

ficheiro físico.v Coloque os nomes entre aspas caso estes entrem em conflito com palavras-chave de

SQL ou palavras-chave do OmniFind.

text-column-nameIdentifica o nome da coluna que contém o texto utilizado para criar o índice de procura detexto. Esta coluna tem de ser do tipo CHAR, CHAR FOR BIT DATA, BINARY, VARCHAR,VARCHAR FOR BIT DATA, VARBINARY, CLOB, DBCLOB, BLOB, XML, GRAPHIC ouVARGRAPHIC. Se o tipo de dados não corresponder a um destes tipos, pode especificar umafunção externa que devolve um tipo de dados suportado.

OmniFind Text Search Server 21

|

||||

||

|

|||||

||

|

||||

|

|

||||||||||||||||||||||||||||||||||||

|

||

||

|||

|

|

||

||

||||||

Page 28: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Notas:

v Apenas é permitido um índice de procura de texto para uma coluna. Se existir umíndice de procura de texto para a coluna, é devolvido o SQLCODE-20427.

v Coloque os nomes entre aspas caso estes entrem em conflito com palavras-chave deSQL ou palavras-chave do OmniFind.

function-schema. function-nameIdentifica o esquema e o nome de uma função incorporada ou definida pelo utilizador. Afunção pode ser utilizada para modificar um documento de texto armazenado na coluna. Afunção pode também ser utilizada para aceder a documentos de texto numa coluna que nãoseja de um tipo de dados suportado. A função pode também ser utilizada para aceder a umdocumento armazenado noutra localização. A função tem um parâmetro de entrada para otipo de dados da coluna de texto. Por exemplo, um número inteiro utilizado como chaveexterna para o conteúdo do documento noutra tabela. A função devolve um valor de um dostipos de dados suportados pelo OmniFind Text Search for DB2 for i. A função converte oconteúdo da coluna de texto em conteúdo do documento indexado.

Notas:

v Não são permitidas funções de conversão e funções com mais do que umargumento.

v Coloque os nomes entre aspas caso estes entrem em conflito com palavras-chave deSQL ou com palavras-chave do OmniFind que possam ser utilizadas.

optionsA cadeia de caracteres que especifica as várias opções disponíveis para este procedimentoarmazenado.

O tipo de dados para este parâmetro é VARCHAR(32000).

opções:

text-default-information update-characteristics index-configuration-options

text-default-information:

CCSID ccsid LANGUAGE language FORMAT format

text-default-informationEspecifica o identificador do conjunto de caracteres codificados utilizado ao indexar documentosde texto binário. Especifica também o idioma utilizado ao processar documentos e o formato dosdocumentos de texto na coluna.

CCSID ccsidEspecifica o identificador do conjunto de caracteres codificados utilizado para um índice deprocura de texto numa coluna com um tipo de dados binários. O valor predefinido é 1208(UTF-8), sendo retirado da tabela QSYS2.SYSTEXTDEFAULTS. Todos os CCSIDs suportadospara conversão para UTF-8 pelos serviços de conversão do IBM i são permitidos para esteparâmetro.

Este parâmetro é ignorado para um índice de procura de texto numa coluna com um tipo dedados não binários. As colunas de texto herdam o CCSID da especificação de tabela. O valorccsid é ignorado quando o valor format é definido como INSO.

LANGUAGE languageEspecifica o idioma que o OmniFind Text Search Server for DB2 for i utiliza para o

22 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

||

||

||||||||||

|

||

||

|||

|

|

||||||||||||||||||||||||||||

|

|

||||||||||||||||||||||||||||||||||

|

||||

||||||

|||

||

Page 29: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

processamento linguístico de documentos de texto. O valor predefinido é en_US (inglês). Seespecificar o valor deste parâmetro como AUTO, o OmniFind Text Search Server for DB2 for itenta determinar o idioma.

Importante: Se o idioma dos documentos não for inglês, não utilize o valor predefinidoen_US. Altere o valor para o idioma dos documentos. Caso contrário, oprocessamento linguístico não funcionará conforme esperado.

FORMAT formatIdentifica o formato dos documentos de texto na coluna, como, por exemplo, HTML. OOmniFind Text Search Server for DB2 for i tem de saber qual o formato, ou tipo de conteúdo,dos documentos de texto que pretende indexar e procurar. Se não especificar o parâmetroformat, o valor predefinido é retirado da coluna FORMAT na tabelaQSYS2.SYSTEXTDEFAULTS. Os valores de format suportados são TEXT, HTML, XML e INSO.

O valor INSO do parâmetro format permite ao OmniFind Text Search Server for DB2 for ideterminar o formato. Neste caso, o valor ccsid é ignorado. Se o OmniFind Text Search Serverfor DB2 for i não conseguir determinar o formato do documento, é anotado um erro dedocumento no registo de trabalhos, durante o processamento, pelo procedimento armazenadoSYSPROC.SYSTS_UPDATE.

Nota: Se não especificar o parâmetro format durante a criação do índice sobre uma coluna detipo de dados XML, o valor predefinido é XML. Se especificar o parâmetro format comoTEXT ou INSO, a funcionalidade de procura XML não estará disponível neste índice.Além disso, é apresentada uma mensagem de aviso no registo de trabalhos.

características-actualização:

NONEUPDATE FREQUENCY < características-actualização >

UPDATE MINIMUM alteraçõesmín

características-actualizaçãoEspecifica a frequência das actualizações automáticas para o índice de procura de texto. Especificatambém o número mínimo de alterações a documentos de texto antes de o índice de procura detexto ser actualizado de forma incremental, na altura especificada.

UPDATE FREQUENCY frequência-actualizaçãoEspecifica quando deverão ser efectuadas actualizações automáticas ao índice de procura detexto. O valor predefinido é NONE. Esta opção poderá ser útil para uma coluna de texto naqual não existem mais alterações. A opção update-frequency suporta dois formatos diferentes.

frequência-actualização (Formato 1):

� � �

NONED ( * ) H ( * ) M ( * )

, , ,

0..6 0..23 0..590..6 0..23 0..59

NONESe NONE for especificado, não são efectuadas mais actualizações de índice. Aactualização tem de ser iniciada manualmente. Esta opção poderá ser útil para umacoluna de texto na qual não estão planeadas outras alterações.

D Especifica o dia ou dias da semana em que o índice é actualizado. Um asterisco (*)especifica todos os dias. 0 especifica Domingo.

OmniFind Text Search Server 23

|||

|||

||||||

|||||

||||

|

||||||||||||||||||||||||||||||

|

||||

||||

|

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

|

||||

|||

Page 30: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

H Especifica a hora ou horas a que o índice é actualizado. Um asterisco (*) especificatodas as horas.

M Especifica o minuto ou minutos em que o índice é actualizado. Não é possívelespecificar um asterisco (*). A frequência mínima de actualização é de 5 minutos.

Exemplo: Este exemplo especifica que a actualização do índice é executada a cada 30minutos.UPDATE FREQUENCY D(*) H(*) M(0,30)

frequência-actualização (Formato 2, cronológico):

< minuto> < hora> <diaDoMÊs> <mêsDoAno> <diaDaSemana>

O formato da opção frequência-actualização (cronológica) consiste numa lista de cinco valoresseparados por um espaço em branco. Os cinco valores representam os minutos, horas, dias domês, meses do ano e dias da semana, começando ao Domingo.

Se especificar um intervalo de valores ou um asterisco (*), pode especificar um valor deparagem utilizando uma barra (/) no final do intervalo especificado.

Exemplo: Este exemplo especifica que a actualização do índice será executada a cada quartode hora (0,15,30,45) nas horas pares, entre as 8.00h e as 18.45h (8-18/2 é equivalente a8,10,12,14,16,18), de Segunda a Sexta-feira, todos os meses do ano (* * 1-5).0,15,30,45 8-18/2 * * 1-5

minuto Especifica os minutos da hora em que o índice de procura de texto deve seractualizado. Pode especificar um asterisco (*) para um intervalo de 5 minutos ouespecificar um número inteiro entre 0 e 59. Não é possível repetir valores. Afrequência mínima de actualização é de 5 minutos.Os valores 1,4 e 8 não são válidos.

frequência-actualização (minuto):

*/ 0...59

,

0...59 - 0...59/ 0...59

0...59

hora Especifica as horas do dia em que o índice de procura de texto deve ser actualizado.Pode especificar um asterisco (*) para cada hora ou especificar um número inteiroentre 0 e 23. Não é possível repetir valores.

frequência-actualização (hora):

*/ 0...23

,

0...23 - 0...23/ 0...23

0...23

diaDoMêsEspecifica os dias do mês em que o índice de procura de texto deve ser actualizado.Pode especificar um asterisco (*) para cada dia ou especificar um número inteiro entre1 e 31. Não é possível repetir valores.

24 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|||

|||

||

|

|

||||||||||||||||||

|||

||

|||

|

|||||

|

|||||||||||||||||||||||||||||||||||||

|

||||

|

|||||||||||||||||||||||||||||||||||||

|

||||

Page 31: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

frequência-actualização (diaDoMÊs):

*/ 1...31

,

1...31 - 1...31/ 1...31

1...31

mêsDoAnoEspecifica os meses do ano em que o índice de procura de texto deve ser actualizado.Pode especificar um asterisco (*) para cada mês ou especificar um número inteiroentre 1 e 12. Não é possível repetir valores.

frequência-actualização (mêsDoAno):

*/ 1...12

,

1...12 - 1...12/ 1...12

1...12

diaDaSemanaEspecifica os dias da semana em que o índice de procura de texto deve seractualizado. Pode especificar um asterisco (*) para cada dia ou especificar um númerointeiro entre 0 e 7. Os números 0 e 7 são valores válidos para Domingo. Não épossível repetir valores.

frequência-actualização (diaDaSemana):

*/ 0...7

,

0...7 - 0...7/ 0...7

0...7

UPDATE MINIMUM alteraçõesmínEspecifica o número mínimo de alterações de registo efectuadas a uma tabela subjacente antesde o índice de procura de texto ser actualizado de forma incremental na altura especificadana opção frequência-actualização. O valor tem de corresponder a um número inteiro entre 1 e2147483647. O valor predefinido é retirado da coluna UPDATEMINIMUM na tabelaQSYS2.SYSTEXTDEFAULTS.

Esta opção é ignorada ao actualizar o índice de procura de texto, excepto se especificar aopção USING UPDATE MINIMUM no procedimento armazenadoSYSPROC.SYSTS_UPDATE.

opções-configuração-índice:

INDEX CONFIGURATION ( �

,

opção valor )

OmniFind Text Search Server 25

|

|||||||||||||||||||||||||||||||||||||

|

||||

|

|||||||||||||||||||||||||||||||||||||

|

|||||

|

|||||||||||||||||||||||||||||||||||||

|

||||||

|||

|

|||||||||||||||||||||||||

|

Page 32: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

opções-configuração-índiceEspecifica valores específicos do índice como pares de valores de opção. Tem de colocar osvalores de cadeia entre plicas. Uma plica dentro de um valor de cadeia tem de ser representadapor duas plicas consecutivas.

CJKSEGMENTATIONEspecifica o método de segmentação a utilizar ao indexar documentos para os idiomas CJK(chinês, japonês, coreano). Os valores suportados são MORPHOLOGICAL e NGRAM. Se ovalor de CJKSEGMENTATION não for especificado, é utilizado o valor predefinido. O valorpredefinido é especificado pelo valor DEFAULTNAME na tabela QSYS2.SYSTEXTDEFAULTS.

COMMENTEspecifica um comentário que é armazenado na coluna REMARKS da tabela deadministração QSYS2.SYSTEXTINDEXES e como descrição da recolha do OmniFind TextSearch Server for DB2 for i.

O valor para esta opção consiste num valor de cadeia menor ou igual a 512 bytes.

IGNOREEMPTYDOCSEspecifica se os documentos vazios devem ou não ser representados no índice de procura detexto. Os documentos vazios são os documentos com uma cadeia vazia ou um valor nulo.

Os valores suportados para esta opção são 0 (zero) e 1. O valor predefinido é 1.

Se esta opção for definida como 1, os documentos vazios não são representados no índice deprocura de texto. Se utilizar esta opção e alterar o conteúdo do documento para vazio, aactualização incremental seguinte elimina os documentos do índice de procura de texto.

KEYCOLUMNEspecifica o nome de uma coluna única a utilizar como coluna de chaves no índice de texto.A coluna de chaves é utilizada para associar dados no índice de texto a um documento oulinha na tabela base. A coluna especificada tem de ter uma restrição de chave principal ou umíndice único.Se o parâmetro KEYCOLUMN não for especificado, é utilizada a coluna ROWIDda tabela, caso exista. Caso contrário, é utilizada a chave principal definida na tabela.

SERVEREspecifica o ID ou nome alternativo do servidor a utilizar para armazenar o índice de procurade texto. Se for utilizado um ID, o valor corresponde a um número inteiro que tem de existirna coluna SERVERID do catálogo QSYS2.SYSTEXTSERVERS. Se for utilizado um nomealternativo, o valor corresponde a uma cadeia que tem de existir na coluna ALIASNAME docatálogo QSYS2.SYSTEXTSERVERS. Se o parâmetro SERVER não for especificado, apredefinição consiste em seleccionar o servidor com o menor número de índices de procurade texto entre os servidores da tabela QSYS2.SYSTEXTSERVERS nos quais o parâmetroSERVERSTATUS está definido como 0 (zero), o que significa que o servidor está disponível.

UPDATEAUTOCOMMITEspecifica a frequência de execução de uma operação de consolidação ao obter documentosdurante uma actualização de índice. Um valor de 0 (zero) significa que uma operação deconsolidação ocorre apenas no final do processamento.

O valor tem de corresponder a um número inteiro entre 0 (zero) e 2147483647. O valorpredefinido é 100.

Sugestão de desempenho: O valor de UPDATEAUTOCOMMIT pode ter um impactosubstancial do desempenho das actualizações de índices. A operação de consolidação que temlugar no intervalo especificado assegura a existência de um ponto de controlo consistente apartir do qual a actualização do índice pode ser reiniciada, caso seja interrompida. Noentanto, a consolidação suspende também temporariamente o processo de actualização. Oaumento do valor de UPDATEAUTOCOMMIT (ou a respectiva definição como 0) podemelhorar substancialmente o desempenho de actualização, especialmente no que respeita à

26 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

||||

|||||

||||

|

|||

|

|||

||||||

|||||||||

||||

||

|||||||

Page 33: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

actualização inicial. O valor especificado tem de ter em conta um equilíbrio entre anecessidade de desempenho e a necessidade de capacidade de recuperação, com base nafrequência de actualização de índices.

Valores predefinidos para o parâmetro opções

Ao instalar o OmniFind Text Search for DB2 for i, a tabela QSYS2.SYSTEXTDEFAULTS é criada epreenchida com valores predefinidos para o parâmetro options do procedimento armazenadoSYSPROC.SYSTS_CREATE.

A tabela que se segue apresenta as opções, os valores predefinidos e as descrições das opções.

Tabela 2. Valores predefinidos para o parâmetro opções

OpçãoValorpredefinido Descrição

CCSID 1208 Especifica o identificador do conjunto de caracterescodificados utilizado quando documentos de textobinário são indexados.

CJKSEGMENTATION NGRAM Especifica o método de segmentação a utilizar aoindexar documentos para os idiomas CJK (chinês,japonês, coreano).

LANGUAGE en_US Especifica o idioma utilizado para processardocumentos de texto.

FORMAT TEXT Identifica o formato de documentos de texto na coluna.O formato predefinido corresponde a texto simples,excepto se o tipo de dados for XML.

UPDATEFREQUENCY NONE Indica que não estão agendadas actualizaçõesautomáticas.

UPDATEMINIMUM 1 Se pelo menos um documento tiver sido alterado desdea última actualização de índice, o procedimentoarmazenado SYSPROC.SYSTS_UPDATE inicia oprocessamento.

IGNOREEMPTYDOCS 1 Especifica que os documentos vazios (documentos comuma cadeia vazia ou um valor nulo) não sãorepresentados no índice de procura de texto. Oscampos de metadados para estes documentos não estãodisponíveis para procura.

UPDATEAUTOCOMMIT 100 Especifica a frequência com que uma operação deconsolidação é executada ao obter documentos duranteuma actualização de índice.

MINIMUMUPDATEINTERVAL 5 Especifica os intervalos para a opçãoUPDATEFREQUENCY. Os intervalos não podem serinferiores a 5 minutos.

USEREXITTHREADS 0 Reservado

OmniFind Text Search Server 27

|||

|

|||

|

||

||||

|||||

|||||

||||

|||||

||||

||||||

|||||||

|||||

|||||

||||

Page 34: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Conceitos relacionados

“Formatos de documento suportados” na página 6Os dados de colunas de texto podem corresponder a texto simples, um documento HTML, umdocumento XML ou qualquer outro documento reconhecido pelo motor de procura.“Tipos de dados suportados” na página 7Os dados nas colunas de texto que pretende indexar e procurar podem ser dados binários ou dados decaracteres.Referências relacionadas

“Tabela de administração QSYS2.SYSTEXTSERVERS” na página 105Pode consultar a localização em que os servidores de procura de texto estão instalados utilizando a tabelade administração QSYS2.SYSTEXTSERVERS.“Tabela de administração QSYS2.SYSTEXTINDEXES” na página 102Pode consultar informações acerca de cada índice de procura de texto na tabela de administraçãoQSYS2.SYSTEXTINDEXES. Cada índice de procura de texto tem um nome, um nome de esquema e umnome de recolha associada no servidor de procura de texto.“Tabela de administração QSYS2.SYSTEXTDEFAULTS” na página 101Pode consultar os parâmetros e valores predefinidos na tabela de administraçãoQSYS2.SYSTEXTDEFAULTS. Esta tabela é criada ao instalar o OmniFind Text Search for DB2 for i.“SYSPROC.SYSTS_UPDATE” na página 35Pode chamar o procedimento armazenado SYSPROC.SYSTS_UPDATE para actualizar o índice de procurade texto de modo a que reflicta o conteúdo actual da coluna de texto.“SYSPROC.SYSTS_START” na página 16Pode activar funções de procura de texto de DB2 chamando o procedimento armazenadoSYSPROC.SYSTS_START.“Idiomas suportados” na página 9Pode especificar o processamento de documentos de texto utilizando um idioma específico.

SYSPROC.SYSTS_ALTERPode chamar o procedimento armazenado SYSPROC.SYSTS_ALTER para modificar atributos de umíndice criado pelo procedimento SYSPROC.SYSTS_CREATE. Apenas os atributos explicitamenteespecificados neste procedimento são alterados. Todos os restantes atributos do índice permaneceminalterados.

Este procedimento é útil se necessitar de alterar atributos do índice, como, por exemplo, a frequência deactualização, após o índice já ter sido criado.

Pré-requisitos

Antes de chamar o procedimento armazenado SYSPROC.SYSTS_ALTER, verifique os seguintespré-requisitos:v O índice de procura de texto foi criado (através da invocação do procedimento armazenado

SYSPROC.SYSTS_CREATE).

Autorização

Os privilégios detidos pelo ID de autorização da instrução têm de incluir, no mínimo, um dos seguintesprivilégios:v O privilégio de criação no esquema. Para obter mais informações, consulte o tópico Autorização,

privilégios e propriedade de objectos.v Autoridade administrativa

28 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

|||

|||

|

|||

||||

|||

|||

|||

||

|

||||

||

|

||

||

|

||

||

|

Page 35: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Os privilégios detidos pelo ID de autorização da instrução têm de incluir, no mínimo, um dos seguintesprivilégios:v As seguintes autoridades sobre o sistema:

– *USE para o comando Criar ficheiro lógico (CRTLF)– *CHANGE para o dicionário de dados, se a biblioteca na qual o índice de texto é criado for um

esquema SQL com um dicionário de dadosv Autoridade administrativa

Os privilégios detidos pelo ID de autorização da instrução têm de incluir também, pelo menos um dosseguintes privilégios:v Para a tabela referenciada:

– O privilégio INDEX na tabela– A autoridade *EXECUTE sobre o sistema na biblioteca que contém a tabela

v Autoridade administrativav Se forem especificados nomes SQL e existir um perfil de utilizador com o mesmo nome que a

biblioteca na qual o índice de texto é criado, e esse nome for diferente do ID de autorização dainstrução, os privilégios detidos pelo ID de autorização da instrução têm de incluir, pelo menos, umadas seguintes autoridades:– Autoridade *ADD sobre o sistema para o perfil de utilizador com esse nome– Autoridade administrativa

Se for referenciado um tipo distinto, os privilégios detidos pelo ID de autorização da instrução têm deincluir, pelo menos, um dos seguintes privilégios:v Para cada tipo distinto identificado na instrução:

– O privilégio USAGE sobre o tipo distinto, e– A autoridade *EXECUTE sobre o sistema na biblioteca que contém o tipo distinto

v Autoridade administrativa

Para obter informações sobre as autoridades sobre o sistema correspondentes a privilégios de SQL,consulte o tópico GRANT (Privilégios sobre tabela ou vista).

Sintaxe

�� SYSTS_ALTER ( indexSchema , indexName , options ) ��

O qualificador de esquema é SYSPROC.

Parâmetros

indexSchemaIdentifica o esquema do índice de procura de texto. Se este parâmetro for nulo, é utilizado o valor doregisto especial CURRENT SCHEMA para o invocador.

O tipo de dados deste parâmetro é VARCHAR(128).

indexNameIdentifica o nome do índice de procura de texto. O nome do índice de procura de texto, juntamentecom o esquema de índice, identifica de forma exclusiva o índice de procura de texto no subsistemaDB2. É necessário especificar um valor diferente de nulo para este parâmetro.

O tipo de dados deste parâmetro é VARCHAR(128).

OmniFind Text Search Server 29

||

|

|

||

|

||

|

|

|

|

||||

|

|

||

|

|

|

|

||

|

||||||||||||||||||||||

|

|

|||

|

||||

|

Page 36: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

optionsA cadeia de caracteres que especifica as várias opções disponíveis para este procedimentoarmazenado.

O tipo de dados deste parâmetro é VARCHAR(32000).

O parâmetro não pode corresponder a NULL.

options:

informações-função-rename características-actualização opções-configuração-índice

informação-função-rename:

RENAME FUNCTION nome-funçãoesquema-função .

Especifica a função definida pelo utilizador cujo nome será alterado.

esquema-função.nome-funçãoEspecifica o esquema e o nome da função definida pelo utilizador.

Esta opção é utilizada para alterar uma função especificada durante a criação de um índice. Se afunção for alterada, o procedimento SYSTS_UPDATE utiliza a nova função para indexar a coluna detexto.

Se a função tiver sido alterada, o procedimento SYSTS_UPDATE não altera os dados existentes doíndice. Apenas os dados novos alterados após a última actualização são processados.

características-actualização:

NONEUPDATE FREQUENCY frequência-actualização

UPDATE MINIMUM alteraçõesmín

características-actualizaçãoEspecifica a frequência das actualizações automáticas para o índice de procura de texto. Especificatambém o número mínimo de alterações a documentos de texto antes de o índice de procura detexto ser actualizado de forma incremental, na altura especificada.

UPDATE FREQUENCY frequência-actualizaçãoEspecifica quando deverão ser efectuadas actualizações automáticas ao índice de procura detexto. O valor predefinido é NONE. Esta opção poderá ser útil para uma coluna de texto naqual não existem mais alterações. A opção frequência-actualização suporta dois formatosdiferentes.

frequência-actualização (Formato 1):

� � �

NONED ( * ) H ( * ) M ( * )

, , ,

0..6 0..23 0..590..6 0..23 0..59

NONESe NONE for especificado, não são efectuadas mais actualizações de índice. A

30 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|||

|

|

|

||||||||||||||||||||||||||||

|

|

||||||||||||||||||

|

|

||

|||

||

|

||||||||||||||||||||||||||||||

|

||||

|||||

|

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

|

||

Page 37: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

actualização tem de ser iniciada manualmente. Esta opção poderá ser útil para umacoluna de texto na qual não estão planeadas outras alterações.

D Especifica o dia ou dias da semana em que o índice é actualizado. Um asterisco (*)especifica todos os dias. 0 especifica Domingo.

H Especifica a hora ou horas a que o índice é actualizado. Um asterisco (*) especificatodas as horas.

M Especifica o minuto ou minutos em que o índice é actualizado. Não é possívelespecificar um asterisco (*). A frequência mínima de actualização é de 5 minutos.

Exemplo: Este exemplo especifica que a actualização do índice é executada a cada 30minutos.UPDATE FREQUENCY D(*) H(*) M(0,30)

frequência-actualização (Formato 2, cronológico):

< minuto> < hora> <diaDoMÊs> <mêsDoAno> <diaDaSemana>

O formato da opção frequência-actualização (cronológica) consiste numa lista de cinco valoresseparados por um espaço em branco. Os cinco valores representam os minutos, horas, dias domês, meses do ano e dias da semana, começando ao Domingo.

Se especificar um intervalo de valores ou um asterisco (*), pode especificar um valor deparagem utilizando uma barra (/) no final do intervalo especificado.

Exemplo: Este exemplo especifica que a actualização do índice será executada a cada quartode hora (0,15,30,45) nas horas pares, entre as 8.00h e as 18.45h (8-18/2 é equivalente a8,10,12,14,16,18), de Segunda a Sexta-feira, todos os meses do ano (* * 1-5).0,15,30,45 8-18/2 * * 1-5

minuto Especifica os minutos da hora em que o índice de procura de texto deve seractualizado. Pode especificar um asterisco (*) para um intervalo de 5 minutos ouespecificar um número inteiro entre 0 e 59. Não é possível repetir valores. Afrequência mínima de actualização é de 5 minutos.Não são permitidos os valores 1,4ou 8.

frequência-actualização (minuto):

*/ 0...59

,

0...59 - 0...59/ 0...59

0...59

hora Especifica as horas do dia em que o índice de procura de texto deve ser actualizado.Pode especificar um asterisco (*) para cada hora ou especificar um número inteiroentre 0 e 23. Não é possível repetir valores.

OmniFind Text Search Server 31

||

|||

|||

|||

||

|

|

||||||||||||||||||

|||

||

|||

|

||||||

|

|||||||||||||||||||||||||||||||||||||

|

||||

Page 38: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

frequência-actualização (hora):

*/ 0...23

,

0...23 - 0...23/ 0...23

0...23

diaDoMêsEspecifica os dias do mês em que o índice de procura de texto deve ser actualizado.Pode especificar um asterisco (*) para cada dia ou especificar um número inteiro entre1 e 31. Não é possível repetir valores.

frequência-actualização (diaDoMÊs):

*/ 1...31

,

1...31 - 1...31/ 1...31

1...31

mêsDoAnoEspecifica os meses do ano em que o índice de procura de texto deve ser actualizado.Pode especificar um asterisco (*) para cada mês ou especificar um número inteiroentre 1 e 12. Não é possível repetir valores.

frequência-actualização (mêsDoAno):

*/ 1...12

,

1...12 - 1...12/ 1...12

1...12

diaDaSemanaEspecifica os dias da semana em que o índice de procura de texto deve seractualizado. Pode especificar um asterisco (*) para cada dia ou especificar um númerointeiro entre 0 e 7. Os números 0 e 7 são valores válidos para Domingo. Não épossível repetir valores.

frequência-actualização (diaDaSemana):

*/ 0...7

,

0...7 - 0...7/ 0...7

0...7

UPDATE MINIMUM alteraçõesmínEspecifica o número mínimo de alterações de registo efectuadas a uma tabela subjacente antes

32 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

|||||||||||||||||||||||||||||||||||||

|

||||

|

|||||||||||||||||||||||||||||||||||||

|

||||

|

|||||||||||||||||||||||||||||||||||||

|

|||||

|

|||||||||||||||||||||||||||||||||||||

|

||

Page 39: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

de o índice de procura de texto ser actualizado de forma incremental na altura especificadana opção frequência-actualização. O valor tem de corresponder a um número inteiro entre 1 e2147483647.

opções-configuração-índice:

INDEX CONFIGURATION ( �

,

opção valor )

COMMENTEspecifica um comentário que é armazenado na coluna REMARKS da tabela de administraçãoQSYS2.SYSTEXTINDEXES e como descrição da recolha do OmniFind Text Search Server for DB2for i.

O valor para esta opção consiste num valor de cadeia menor ou igual a 512 bytes.

UPDATEAUTOCOMMITEspecifica a frequência de execução de uma operação de consolidação ao obter documentosdurante uma actualização de índice. Um valor de 0 (zero) significa que uma operação deconsolidação ocorre apenas no final do processamento.

O valor tem de corresponder a um número inteiro entre 0 (zero) e 2147483647.

Sugestão de desempenho: O valor de UPDATEAUTOCOMMIT pode ter um impacto substancialdo desempenho das actualizações de índices. A operação de consolidação que tem lugar nointervalo especificado assegura a existência de um ponto de controlo consistente a partir do quala actualização do índice pode ser reiniciada, caso seja interrompida. No entanto, a consolidaçãosuspende também temporariamente o processo de actualização. O aumento do valor deUPDATEAUTOCOMMIT (ou a respectiva definição como 0) pode melhorar substancialmente odesempenho de actualização, especialmente no que respeita à actualização inicial. O valorespecificado tem de ter em conta um equilíbrio entre a necessidade de desempenho e anecessidade de capacidade de recuperação, com base na frequência de actualização de índices.

Referências relacionadas

“SYSPROC.SYSTS_CREATE” na página 19Pode chamar o procedimento armazenado SYSPROC.SYSTS_CREATE para criar um índice de procura detexto. Este procedimento armazenado activa uma coluna de texto para indexação de procura de texto. Oíndice de procura de texto pode, deste modo, ser utilizado em consultas SQL que contenham as funçõesCONTAINS ou SCORE.“SYSPROC.SYSTS_UPDATE” na página 35Pode chamar o procedimento armazenado SYSPROC.SYSTS_UPDATE para actualizar o índice de procurade texto de modo a que reflicta o conteúdo actual da coluna de texto.“Tabela de administração QSYS2.SYSTEXTINDEXES” na página 102Pode consultar informações acerca de cada índice de procura de texto na tabela de administraçãoQSYS2.SYSTEXTINDEXES. Cada índice de procura de texto tem um nome, um nome de esquema e umnome de recolha associada no servidor de procura de texto.

SYSPROC.SYSTS_DROPPode chamar o procedimento armazenado SYSPROC.SYSTS_DROP para desactivar um índice de procurade texto definido através da utilização do procedimento armazenado SYSPROC.SYSTS_CREATE.

Recomenda-se que desactive um índice de procura de texto, utilizando o procedimento armazenadoSYSPROC.SYSTS_DROP, antes de desactivar a tabela.

Ao desactivar a vista que representa o índice de procura de texto, mesmo que em resultado de umainstrução DROP TABLE CASCADE, é efectuada uma tentativa de desactivação do índice de procura de

OmniFind Text Search Server 33

|||

|

|||||||||||||||||||||||||

|

||||

|

||||

|

|||||||||

|

|||||

|||

||||

|

||

||

||

Page 40: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

texto. No entanto, uma vez que o índice de procura de texto não pode ser desactivado sob controlo deconsolidações, a vista SQL não pode ser desactivada sob controlo de consolidações.

Se não for possível alcançar o servidor de procura de texto, a recolha no servidor poderá ficar isolada.Nesse caso, a recolha tem de ser eliminada manualmente. Quando o servidor estiver novamentedisponível, utilize a ferramenta de administração do OmniFind Text Search Server for DB2 for i paraeliminar a recolha no servidor.

No tópico “Ferramentas de administração” na página 70, pode encontrar informações acerca dasferramentas que podem ser utilizadas para identificar índices isolados e do procedimento armazenadoSTSPROC.SYSTS_REMOVE para eliminar índices isolados.

Pré-requisitos

Antes de chamar o procedimento armazenado SYSPROC.SYSTS_DROP, verifique os seguintespré-requisitos:v As funções de procura de texto de DB2 foram iniciadas através da chamada do procedimento

armazenado SYSPROC.SYSTS_START.v O índice de procura de texto foi criado (através da invocação do procedimento armazenado

SYSPROC.SYSTS_CREATE).v Certifique-se de que os seguintes procedimentos armazenados não estão em execução para o índice de

procura de texto que pretende desactivar: SYSPROC.SYSTS_CREATE, SYSPROC.SYSTS_UPDATE eSYSPROC.SYSTS_DROP.

Autorização

Os privilégios detidos pelo ID de autorização da instrução têm de incluir, pelo menos, um dos seguintesprivilégios:v As seguintes autoridades sobre o sistema:

– As autoridades *OBJOPR e *OBJEXIST sobre o sistema no índice de texto a desactivar– A autoridade *EXECUTE sobre o sistema na biblioteca que contém o índice de texto a desactivar

v Autoridade administrativa

Para obter informações sobre as autoridades sobre o sistema correspondentes a privilégios de SQL,consulte o tópico GRANT (Privilégios sobre tabela ou vista).

Sintaxe

�� SYSTS_DROP ( indexSchemanull

, indexName ) ��

O qualificador de esquema é SYSPROC.

Parâmetros

indexSchemaIdentifica o esquema do índice de procura de texto. Se este parâmetro for nulo, é utilizado o valor doregisto especial CURRENT SCHEMA para o invocador.

O tipo de dados deste parâmetro é VARCHAR(128).

indexNameIdentifica o nome do índice de procura de texto. O nome do índice de procura de texto, juntamentecom o esquema de índice, identifica de forma exclusiva o índice de procura de texto no subsistemaDB2. É necessário especificar um valor diferente de nulo para este parâmetro.

34 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

||

||||

|||

|

||

||

||

|||

|

||

|

|

|

|

||

|

||||||||||||||||||||||||

|

|

|

|||

|

||||

Page 41: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

O tipo de dados deste parâmetro é VARCHAR(128).Referências relacionadas

“SYSPROC.SYSTS_CREATE” na página 19Pode chamar o procedimento armazenado SYSPROC.SYSTS_CREATE para criar um índice de procura detexto. Este procedimento armazenado activa uma coluna de texto para indexação de procura de texto. Oíndice de procura de texto pode, deste modo, ser utilizado em consultas SQL que contenham as funçõesCONTAINS ou SCORE.“SYSPROC.SYSTS_START” na página 16Pode activar funções de procura de texto de DB2 chamando o procedimento armazenadoSYSPROC.SYSTS_START.“SYSPROC.SYSTS_UPDATE”Pode chamar o procedimento armazenado SYSPROC.SYSTS_UPDATE para actualizar o índice de procurade texto de modo a que reflicta o conteúdo actual da coluna de texto.“SYSPROC.SYSTS_REMOVE” na página 73Pode remover índices isolados com o procedimento armazenado de SQL SYSPROC.SYSTS_REMOVE.

SYSPROC.SYSTS_UPDATE

Pode chamar o procedimento armazenado SYSPROC.SYSTS_UPDATE para actualizar o índice de procurade texto de modo a que reflicta o conteúdo actual da coluna de texto.

Uma vez que a actualização de um índice de procura de texto é uma operação extensiva, o índice deprocura de texto não é actualizado de forma síncrona quando a tabela DB2 é actualizada. Em vez disso,as alterações à coluna da tabela DB2 são captadas por um activar e gravadas numa tabela de passagem.O índice de procura de texto é actualizado na próxima vez que o procedimento armazenadoSYSPROC.SYSTS_UPDATE for invocado ou quando a opção UPDATE FREQUENCY indicar que deve seractualizado. Deste modo, alguns pedidos de procura poderão não reflectir actualizações recentes À tabela.

Este procedimento armazenado é devolvido apenas após todo o processamento de actualização para oíndice de procura de texto no OmniFind Text Search Server for DB2 for i estar concluído. A duraçãodepende do número de entradas na tabela de passagem na altura em que o procedimentoSYSTS_UPDATE é chamado. Durante o processo de actualização, o índice de procura de texto continua aser pesquisável.

Se tiver ocorrido um problema durante a indexação de um documento a partir da tabela base, a colunada tabela de passagem com TOBEDELETED apresenta um valor definido como E (erro) ou W (aviso). Podeobter estes registos com um procedimento armazenado que inclui a seguinte consulta:SELECT s.TOBEDELETED, based_on_columnsFROM based_on_table t INNER JOIN QSYS2.stagingtablesON (QQQ_TEXTSEARCH_KEY(t.k1, t.k2, t.k3, ...) = s.KEYID)WHERE s.TOBEDELETED IN('E','W')

Neste caso, based_on_columns consiste na lista de colunas que necessita ver na tabela based_on_table.based_on_table é a tabela que está a ser indexada. staging table é a tabela de passagem apresentada noscatálogos para o índice de procura de texto. k1, k2, k3, ... é a lista de colunas chave na chaveprincipal, ID de linha ou chave única utilizada para criar o índice de procura de texto. Após corrigir oserros desses documentos, execute a actualização novamente.

Se uma actualização de índice for solicitada durante a execução de outra actualização do mesmo índice, édevolvido um erro. É apenas permitida a execução de uma actualização de cada vez para umdeterminada índice.

OmniFind Text Search Server 35

|

|

|||||

|||

|||

||

|

||

||||||

|||||

|||

||||

|||||

|||

Page 42: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Pré-requisitos

Antes de chamar o procedimento armazenado SYSPROC.SYSTS_UPDATE, verifique os seguintespré-requisitos:v O índice de procura de texto foi criado (através da invocação do procedimento armazenado

SYSPROC.SYSTS_CREATE).v Os seguintes procedimentos armazenados não estão em execução para o índice de procura de texto que

pretende actualizar: SYSPROC.SYSTS_CREATE, SYSPROC.SYSTS_UPDATE e SYSPROC.SYSTS_DROP.v O servidor de procura de texto no qual o índice está localizado tem de ter sido iniciado através do

procedimento armazenado SYSTS_START. A coluna SERVERSTATUS na tabelaQSYS2.SYSTEXTSERVERS tem de ter um valor de '0' (iniciada).

Autorização

Os privilégios detidos pelo ID de autorização da instrução têm de incluir, no mínimo, um dos seguintesprivilégios:v O privilégio de criação no esquema. Para obter mais informações, consulte o tópico Autorização,

privilégios e propriedade de objectos.v Autoridade administrativa

Os privilégios detidos pelo ID de autorização da instrução têm de incluir, no mínimo, um dos seguintesprivilégios:v As seguintes autoridades sobre o sistema:

– *USE para o comando Criar ficheiro lógico (CRTLF)– *CHANGE para o dicionário de dados, se a biblioteca na qual o índice de texto é criado for um

esquema SQL com um dicionário de dadosv Autoridade administrativa

Os privilégios detidos pelo ID de autorização da instrução têm de incluir também, pelo menos um dosseguintes privilégios:v Para a tabela referenciada:

– O privilégio INDEX na tabela– A autoridade *EXECUTE sobre o sistema na biblioteca que contém a tabela

v Autoridade administrativav Se forem especificados nomes SQL e existir um perfil de utilizador com o mesmo nome que a

biblioteca na qual o índice de texto é criado, e esse nome for diferente do ID de autorização dainstrução, os privilégios detidos pelo ID de autorização da instrução têm de incluir, pelo menos, umdos seguintes privilégios:– A autoridade *ADD sobre o sistema para o perfil de utilizador com esse nome– Autoridade administrativa

Se for referenciado um tipo distinto, os privilégios detidos pelo ID de autorização da instrução têm deincluir, pelo menos, um dos seguintes privilégios:v Para cada tipo distinto identificado na instrução:

– O privilégio USAGE sobre o tipo distinto, e– A autoridade *EXECUTE sobre o sistema na biblioteca que contém o tipo distinto

v Autoridade administrativa

Para obter informações sobre as autoridades sobre o sistema correspondentes a privilégios de SQL,consulte o tópico GRANT (Privilégios sobre tabela ou vista).

36 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

||

||

||

|||

|

||

||

|

||

|

|

||

|

||

|

|

|

|

||||

|

|

||

|

|

|

|

||

Page 43: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Sintaxe

�� SYSTS_UPDATE ( indexSchemanull

, indexName , options ) ��

O qualificador de esquema é SYSPROC.

Parâmetros

indexSchemaIdentifica o esquema do índice de procura de texto. Se este parâmetro for nulo, é utilizado o valor doregisto especial CURRENT SCHEMA para o invocador.

O tipo de dados deste parâmetro é VARCHAR(128).

indexNameIdentifica o nome do índice de procura de texto. O nome do índice de procura de texto, juntamentecom o esquema de índice, identifica de forma exclusiva o índice de texto integral no subsistema DB2.É necessário especificar um valor diferente de nulo para este parâmetro.

O tipo de dados para este parâmetro é VARCHAR(128).

optionsUm cadeia de caracteres que especifica a opção disponível para este procedimento armazenado.

A opção disponível é USING UPDATE MINIMUM. Esta opção utiliza as definições de USINGUPDATE MINIMUM que especificou para o procedimento armazenado SYSPROC.SYSTS_CREATE. Aopção inicia uma actualização incremental apenas se o número especificado de alterações for atingido.A predefinição consiste em iniciar o processo de actualização incondicionalmente.

USING UPDATE MINIMUM:

USING UPDATE MINIMUM

OmniFind Text Search Server 37

|

||||||||||||||||||||||||||||

|

|

|

|||

|

||||

|

||

||||

|

||||||||||||||

|

Page 44: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Conceitos relacionados

“Truncamento de documentos” na página 15O OmniFind Text Search Server for DB2 for i limita o número de caracteres que podem ser indexadospara cada documento de texto. Por vezes, este limite de caracteres resulta no truncamento de documentosde texto longos no índice de procura de texto.Referências relacionadas

“SYSPROC.SYSTS_CREATE” na página 19Pode chamar o procedimento armazenado SYSPROC.SYSTS_CREATE para criar um índice de procura detexto. Este procedimento armazenado activa uma coluna de texto para indexação de procura de texto. Oíndice de procura de texto pode, deste modo, ser utilizado em consultas SQL que contenham as funçõesCONTAINS ou SCORE.“SYSPROC.SYSTS_START” na página 16Pode activar funções de procura de texto de DB2 chamando o procedimento armazenadoSYSPROC.SYSTS_START.“SYSPROC.SYSTS_DROP” na página 33Pode chamar o procedimento armazenado SYSPROC.SYSTS_DROP para desactivar um índice de procurade texto definido através da utilização do procedimento armazenado SYSPROC.SYSTS_CREATE.

Procurar com um índice de procura de textoPode utilizar as funções CONTAINS e SCORE numa instrução SQL com o OMNIFIND. CONTAINS eSCORE são utilizadas para efectuar procuras num índice de procura de texto, utilizando critérios deargumentos de procura especificados pelo utilizador. Pode também indexar e procurar documentos XML.

CONTAINSPode utilizar a função CONTAINS para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve um resultado que indica se foi encontradauma correspondência.

�� CONTAINS ( nome-coluna , argumento-procura, constante-cadeia

(1)) ��

Notas:

1 constante-cadeia tem de estar em conformidade com as regras das opções de argumento-procura.

opções-argumento-procura:

�(1)

QUERYLANGUAGE = valorRESULTLIMIT = valor

OFFSYNONYM = ON

Notas:

1 Não é possível especificar a mesma cláusula mais do que uma vez.

O esquema é QSYS2.

nome-colunaEspecifica um nome qualificado ou não qualificado de uma coluna que inclui um índice de procurade texto que será procurado. A coluna tem de existir na tabela ou vista identificada na cláusula

38 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

||||

|

|||||

|||

|||

||

|||

|

|||

||||||||||||||||||||||||||||

|

|

||

|

|||||||||||||||||||||||||||||||||||||||||

|

|

||

|

|||

Page 45: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

FROM da instrução. A coluna da tabela, ou a coluna da tabela base subjacente, tem de ter um índicede procura de texto associado (SQLSTATE 38H12). A expressão subjacente da coluna de uma vistatem de corresponder a uma referência de coluna simples à coluna de uma tabela subjacente,directamente ou através de outra vista imbricada.

argumento-procuraEspecifica uma expressão que devolve um valor de cadeia que contém os termos utilizados naprocura. A expressão não pode ser constituída apenas por espaços em branco ou pela cadeia vazia(SQLSTATE 38H14). O comprimento real da cadeia não pode exceder 32704 bytes. Este comprimentopoderá ser ainda mais limitado, dependendo do que for suportado pelo servidor de procura de texto(SQLSTATE 38H10). O valor é convertido em Unicode antes de ser utilizado para procurar o índicede procura de texto.

constante-cadeiaIdentifica uma constante de cadeia que especifica as opções do argumento de procura activadas paraa função.

As opções que podem ser especificadas como parte das opções-argumento-procura são as seguintes:

QUERYLANGUAGE=valorEspecifica o idioma da consulta. O valor pode corresponder a qualquer um dos códigos deidioma suportados. Se a opção QUERYLANGUAGE não for especificada, a predefiniçãocorresponde ao valor de idioma do índice de procura de texto utilizado quando esta função éinvocada. Se o valor de idioma do índice de procura de texto for AUTO, o valor predefinidopara QUERYLANGUAGE é en_US.

RESULTLIMIT=valorEspecifica o número máximo de resultados que serão devolvidos pelo motor de procurasubjacente. O valor pode corresponder a um valor inteiro 1 - 2 147 483 647. Se a opçãoRESULTLIMIT não for especificada, não existirá qualquer valor limite para a consulta.

Esta função escalar poderá não ser chamada para cada linha de resultados, dependendo doplano seleccionado pelo optimizador. Esta função pode ser chamada uma vez para atotalidade da consulta ao motor de procura subjacente. É devolvido um conjunto deresultados de todas as chaves principais correspondentes. Este conjunto de resultados é, emseguida, anexado à tabela que contém a coluna, de modo a identificar as linhas de resultados.Neste caso, o valor de RESULTLIMIT actua como FETCH FIRST ?? ROWS do motor deprocura de texto subjacente e pode ser utilizado como uma optimização. Se o motor deprocura for chamada para cada linha do resultado devido ao facto de este ser considerado omelhor plano, a opção RESULTLIMIT é ignorada.

SYNONYM = OFF ou SYNONYM = ONEspecifica se deve ou não ser utilizado um dicionário de sinónimos associado ao índice deprocura de texto. Pode adicionar um dicionário de sinónimos a uma recolha, utilizando aferramenta de sinónimos.

OFF OFF é o valor predefinido.

ON Utilize o dicionário de sinónimos associado ao índice de procura de texto.

O resultado da função consiste num número inteiro grande. Se o segundo argumento puder ser nulo, oresultado pode ser nulo. Se o segundo argumento for nulo, o resultado será um valor nulo.

O resultado será 1 se o documento incluir uma correspondência para os critérios de procura especificadosno argumento de procura. Caso contrário, o resultado será 0. O resultado será igualmente 0 se o valor dacoluna for nulo. Se o argumento da procura for Nulo, o resultado corresponderá ao valor nulo.

CONTAINS é uma função não determinista.

OmniFind Text Search Server 39

||||

|||||||

|||

|

||||||

||||

|||||||||

||||

||

||

||

|||

|

Page 46: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Exemplo 1

A instrução que se segue localiza todos os funcionários que tenham �COBOL� no currículo.SELECT EMPNOFROM EMP_RESUMEWHERE RESUME_FORMAT = 'ascii'AND CONTAINS(RESUME, 'COBOL') = 1

Exemplo 2

O argumento de procura não tem de ser uma constante de cadeia. O argumento de procura podecorresponder a qualquer expressão de cadeia SQL, incluindo uma cadeia contida numa variável desistema central. O instrução que se segue procura o termo exacto "ate" na coluna COMMENT.

Nota: O termo "ate" tem de estar delimitado por aspas de modo a que apenas o termo exacto sejaprocurado e as variações linguísticas não sejam tidas em consideração.

char search_arg[100]; /* input host variable */...EXEC SQL DECLARE C3 CURSOR FORSELECT CUSTKEYFROM K55ADMIN.CUSTOMERSWHERE CONTAINS(COMMENT, :search_arg)= 1ORDER BY CUSTKEY;strcpy(search_arg, "\"ate\""');EXEC SQL OPEN C3;...

Exemplo 3

A instrução que se segue localiza, aleatoriamente, 10 estudantes que escreveram redacções online quecontêm a expressão "combustível fóssil" em espanhol, "combustible fósil." Estes estudantes são necessáriospara uma entrevista de rádio. Utilize o dicionário de sinónimos criado para o índice de procura de textoassociado. Uma vez que apenas são necessários 10 estudantes, optimize a consulta utilizando a opçãoRESULTLIMIT para limitar o número de resultados do servidor de procura de texto subjacente.SELECT FIRSTNME, LASTNAME

FROM STUDENT_ESSAYSWHERE CONTAINS(TERM_PAPER, 'combustible fósil',

'QUERYLANGUAGE= es_ES RESULTLIMIT = 10 SYNONYM=ON') = 1

Tarefas relacionadas

“Procurar num índice de procura de texto” na página 15Pode efectuar procuras num índice de procura de texto, utilizando uma instrução SQL com uma funçãoCONTAINS ou SCORE. Os critérios de argumentos de procura são especificados na função.Referências relacionadas

“SCORE”Pode utilizar a função SCORE para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve uma classificação de relevância que avalia onível de correspondência de uma documento relativamente à consulta.“Sintaxe de argumentos de procura” na página 43Pode especificar um argumento de procura como condição de uma procura de termos em documentos detexto. O argumento é constituído por parâmetros de procura e um ou mais termos de procura. As funçõesde procura de texto escalar de SQL que utilizam argumentos de procura são CONTAINS e SCORE.

SCOREPode utilizar a função SCORE para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve uma classificação de relevância que avalia onível de correspondência de uma documento relativamente à consulta.

40 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

|

||||

|

|||

||

||||||||||

|

|||||

||||

|

|||

|

||||

||||

|

|||

Page 47: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

��(1)

SCORE ( nome-coluna , argumento-procura, constante-cadeia

) ��

Notas:

1 constante-cadeia tem de estar em conformidade com as regras das opções de argumento-procura.

opções-argumento-procura:

�(1)

QUERYLANGUAGE = valorRESULTLIMIT = valor

OFFSYNONYM = ON

Notas:

1 Não é possível especificar a mesma cláusula mais do que uma vez.

O esquema é QSYS2.

nome-colunaEspecifica um nome qualificado ou não qualificado de uma coluna que inclui um índice de procurade texto que será procurado. A coluna tem de existir na tabela ou vista identificada na cláusulaFROM da instrução. A coluna da tabela, ou a coluna da tabela base subjacente, tem de ter um índicede procura de texto associado (SQLSTATE 38H12). A expressão subjacente da coluna de uma vistatem de corresponder a uma referência de coluna simples à coluna de uma tabela subjacente, querdirectamente quer através de outra vista imbricada.

argumento-procuraEspecifica uma expressão que devolve um valor de cadeia que contém os termos utilizados naprocura. A expressão não pode ser constituída apenas por espaços em branco ou pela cadeia vazia(SQLSTATE 38H14). O comprimento real da cadeia não pode exceder 32704 bytes. Este comprimentopoderá ser ainda mais limitado, dependendo do que for suportado pelo servidor de procura de texto(SQLSTATE 38H10). O valor é convertido em Unicode antes de ser utilizado para procurar o índicede procura de texto.Se argumento-procura for nulo, o resultado corresponderá ao valor nulo.

constante-cadeiaIdentifica uma constante de cadeia que especifica as opções do argumento de procura activadas paraa função.

As opções que podem ser especificadas como parte das opções-argumento-procura são as seguintes:

QUERYLANGUAGE=valorEspecifica o idioma da consulta. O valor pode corresponder a qualquer um dos códigos deidioma suportados. Se a opção QUERYLANGUAGE não for especificada, a predefiniçãocorresponde ao valor de idioma do índice de procura de texto utilizado quando esta função éinvocada. Se o valor de idioma do índice de procura de texto for AUTO, o valor predefinidopara QUERYLANGUAGE é en_US.

RESULTLIMIT=valorEspecifica o número máximo de resultados devolvidos pelo motor de procura subjacente. Ovalor pode corresponder a um valor inteiro 1 - 2 147 483 647. Se a opção RESULTLIMIT nãofor especificada, não existirá qualquer valor limite para a consulta.

Esta função escalar poderá não ser chamada para cada linha de resultados, dependendo doplano seleccionado pelo optimizador. Esta função pode ser chamada uma vez para atotalidade da consulta ao motor de procura subjacente. É devolvido um conjunto de

OmniFind Text Search Server 41

||||||||||||||||||||||||||||

|

|

||

|

|||||||||||||||||||||||||||||||||||||||||

|

|

||

|

|||||||

|||||||

|||

|

||||||

||||

|||

Page 48: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

resultados de todas as chaves principais correspondentes. Este conjunto de resultados é, emseguida, anexado à tabela que contém a coluna, de modo a identificar as linhas de resultados.Neste caso, o valor de RESULTLIMIT actua como FETCH FIRST ?? ROWS do motor deprocura de texto e pode ser utilizado como uma optimização. Se o motor de procura forchamada para cada linha do resultado devido ao facto de este ser considerado o melhorplano, a opção RESULTLIMIT é ignorada.

SYNONYM = OFF ou SYNONYM = ONEspecifica se deve ou não ser utilizado um dicionário de sinónimos associado ao índice deprocura de texto. Pode adicionar um dicionário de sinónimos a uma recolha, utilizando aferramenta de sinónimos.

OFF OFF é o valor predefinido.

ON Utilize o dicionário de sinónimos associado ao índice de procura de texto.

O resultado da função consistem num número de vírgula flutuante de precisão dupla. Se o segundoargumento puder ser nulo, o resultado pode ser nulo. Se o segundo argumento for nulo, o resultado seráum valor nulo.

O resultado será maior que 0 mas menor que 1 se a coluna incluir uma correspondência para os critériosde procura especificados pelo argumento de procura. Quanto maior for a frequência de localização deuma correspondência, maior será o valor do resultado. Se a coluna não incluir uma correspondência, oresultado será 0. A classificação corresponderá igualmente a 0 se o valor da coluna for nulo.

SCORE é uma função não determinista.

Exemplo

A instrução que se segue gera uma lista de funcionários ordenada pelos resumos que apresentam amelhor correspondência com programmer AND (java OR cobol). Além disso, é devolvido um valor derelevância normalizado entre 0 (zero) e 100.SELECT EMPNO, INTEGER(SCORE(RESUME, 'programmer AND(java OR cobol)') * 100) AS RELEVANCEFROM EMP_RESUMEWHERE RESUME_FORMAT = 'ascii'ORDER BY RELEVANCE DESC

42 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

||||||

||||

||

||

|||

||||

|

|

|||

|||||

Page 49: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Tarefas relacionadas

“Procurar num índice de procura de texto” na página 15Pode efectuar procuras num índice de procura de texto, utilizando uma instrução SQL com uma funçãoCONTAINS ou SCORE. Os critérios de argumentos de procura são especificados na função.Referências relacionadas

“CONTAINS” na página 38Pode utilizar a função CONTAINS para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve um resultado que indica se foi encontradauma correspondência.“SYSPROC.SYSTS_CREATE” na página 19Pode chamar o procedimento armazenado SYSPROC.SYSTS_CREATE para criar um índice de procura detexto. Este procedimento armazenado activa uma coluna de texto para indexação de procura de texto. Oíndice de procura de texto pode, deste modo, ser utilizado em consultas SQL que contenham as funçõesCONTAINS ou SCORE.“Sintaxe de argumentos de procura”Pode especificar um argumento de procura como condição de uma procura de termos em documentos detexto. O argumento é constituído por parâmetros de procura e um ou mais termos de procura. As funçõesde procura de texto escalar de SQL que utilizam argumentos de procura são CONTAINS e SCORE.

Sintaxe de argumentos de procuraPode especificar um argumento de procura como condição de uma procura de termos em documentos detexto. O argumento é constituído por parâmetros de procura e um ou mais termos de procura. As funçõesde procura de texto escalar de SQL que utilizam argumentos de procura são CONTAINS e SCORE.

Para qualquer processamento específico de idioma durante uma procura, pode especificar um valor parao parâmetro QUERYLANGUAGE como opção de argumento de procura. O valor pode corresponder aqualquer um dos códigos de idioma suportados.

Se o parâmetro QUERYLANGUAGE não for especificado, o valor predefinido corresponde ao valor deidioma do índice de procura de texto utilizado quando esta função é chamada.

Se o valor de idioma do índice de procura de texto for AUTO, o valor predefinido paraQUERYLANGUAGE é en_US.

Limitações

Não é possível utilizar as funções CONTAINS e SCORE numa restrição de SQL ou definição de índice.Pode utilizá-las em instruções de consulta SQL e ver definições tendo em conta as seguintes restrições:v Se uma vista, expressão de tabela imbricada ou expressão de tabela comum facultar uma coluna de

procura para uma função escalar CONTAINS ou SCORE, e se a vista, expressão de tabela imbricada ouexpressão de tabela comum em questão incluir uma cláusula DISTINCT na instrução SELECT exterior,a lista SELECT tem de conter todos os campos de chave correspondentes do índice de procura detexto. Caso contrário, é devolvida a mensagem SQL 38H12.

v Se uma vista, expressão de tabela imbricada ou expressão de tabela comum facultar uma coluna deprocura de texto para uma função escalar CONTAINS ou SCORE, a vista, expressão de tabelaimbricada ou expressão de tabela comum em questão não pode incluir uma instrução UNION,EXCEPT ou INTERSECT no nível SELECT exterior. Caso contrário, é devolvida a mensagem SQL38H12.

v Se uma expressão de tabela comum facultar uma coluna de procura de texto para uma função escalarCONTAINS ou SCORE, a expressão de tabela comum pode ser novamente referenciada na totalidadeda consulta quando a referência não fornecer uma coluna de procura de texto para uma função escalarCONTAINS ou SCORE. Caso contrário, é devolvida a mensagem SQL 38H12.

OmniFind Text Search Server 43

|

|||

|

||||

|||||

||||

|

|||

|||

||

||

|

||

|||||

|||||

||||

Page 50: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

v Não é possível criar uma função com origem nas funções escalares CONTAINS ou SCORE. Casocontrário, é devolvida a mensagem SQL SQL0457.

v A consulta pode ser executada através do SQL Query Engine (SQE).

Procura simples

Para efectuar uma procura por palavra-chave simples, introduza uma ou mais palavras-chave naconsulta. O motor de procura devolve documentos que contêm todas as palavras-chave ou variações daspalavras-chave.

Por exemplo, se introduzir rei, o motor de procura devolve todos os documentos que contêm a palavrarei ou reis. Se introduzir a consulta rei lear, o motor de procura devolve documentos que contêm ostermos rei e lear.

Para encontrar resultados mais precisos, utilize palavras-chave mais específicas. Por exemplo, utilize cafétorrado francês em vez de café ou caminhadas em Kauai em vez de férias no Havai.

Se uma procura por palavra-chave simples revolver demasiados documentos que não correspondam aoque procura, pode utilizar operadores para aperfeiçoar a procura.

Exclusão de termos numa procura

Utilize o sinal de subtracção (-) para excluir termos. Por exemplo, se pretender encontrar documentoscom o termo lear e não eduardo, introduza a consulta lear -eduardo.

O sinal de subtracção (-) aplica-se também a um termo e respectivas variantes. Por exemplo, a consulta-eduardo exclui documentos que contêm a palavra eduardos.

procura por expressões

Se pretender garantir que os termos são apresentados exactamente na sequência em que os introduziu,pode utilizar aspas. Por exemplo, se pretender visualizar documentos com o termo exacto rei lear, e nãoexpressões relacionadas como reino de lear ou rei e rainha lear, introduza "rei lear". A procura nãoé sensível a maiúsculas e minúsculas, mas as variantes do termo não são consideradas comocorrespondências.

Carácter global numa procura

O carácter global (*) ajuda a encontrar documentos quando não tem a certeza da ortografia integral ou sepretender encontrar variações do termo. Por exemplo, a consulta checo* devolve documentos com ostermos checo, checoslováquia, checoslovaco, república checa e outros resultados possíveis.

Pode também utilizar o carácter global numa procura por expressões. Por exemplo, a consulta "John *Kennedy" devolve documentos com os termos John Fitzgerald Kennedy e John F Kennedy mas não JohnKennedy. A consulta Mi*l Gorbachev devolve Mikhail Gorbachev.

A adição de um carácter global no início de uma consulta (por exemplo, *heco) pode fazer com que omotor de procura demore mais tempo a devolver os resultados.

Procuras por pelo menos um dos termos

O operador lógico OR especifica que pelo menos um dos termos de uma consulta tem de ser apresentadono documento devolvido. Por exemplo, a consulta (otelo OR otello) devolve documentos que contêm otermo otelo ou otello.

44 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

||

|

|

|||

|||

||

||

|

||

||

|

|||||

|

|||

|||

||

|

|||

Page 51: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Pode utilizar os operadores lógicos AND, OR e NOT em combinações, utilizando parêntesis. Porexemplo, a consulta carocha OR (jaguar AND NOT carro) devolve documentos com os termos carocha oujaguar mas não carro.

Tem de introduzir os operadores lógicos AND, OR e NOT em maiúsculas. Utilize os parêntesis paraagrupar.Conceitos relacionados

“Procura XML” na página 48Pode indexar e procurar documentos XML. A gramática de procura XML utiliza um subconjunto dalinguagem W3 XPath com extensões para procura de texto. As extensões suportam procuras porintervalos de valores numéricos, de data e de data e hora que podem ser associados a um atributo ouelemento XML. Os elementos estruturais podem ser utilizados separadamente ou combinados com textolivre em consultas.Referências relacionadas

“CONTAINS” na página 38Pode utilizar a função CONTAINS para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve um resultado que indica se foi encontradauma correspondência.“SCORE” na página 40Pode utilizar a função SCORE para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve uma classificação de relevância que avalia onível de correspondência de uma documento relativamente à consulta.

Exemplos de consulta simplesAs consultas simples para as funções CONTAINS e SCORE procuram uma única palavra ou váriaspalavras num índice de procura de texto.

O motor de procura ignora os espaços em branco entre caracteres. A cadeia de procura não pode estarvazia nem conter apenas espaços em branco (SQLSTATE 38H14).

A tabela que se segue apresenta alguns exemplos de consultas de procura simples.

Tabela 3. Exemplos de consulta simples

Tipos de palavra de procura Exemplos Resultados da procura

Palavra única rei Devolve todos os documentos quecontêm a palavra rei ou reis. Estaconsulta corresponde a diferentesvariações linguísticas da palavra e não ésensível a maiúsculas e minúsculas.

Várias palavras rei lear Devolve todos os documentos quecontêm rei e lear. O operadorpredefinido é o operador lógico AND.

Os operadores AND e + estão implícitos em todas as consultas. Por exemplo, a consulta Rei Leardevolve os mesmos resultados que Rei AND Lear ou Rei + Lear.

É necessário introduzir os operadores lógicos NOT, AND e OR em maiúsculas.

OmniFind Text Search Server 45

|||

||

|

||||||

|

||||

||||

|||

||

|

||

|||

|||||||

||||||

||

|

Page 52: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Referências relacionadas

“CONTAINS” na página 38Pode utilizar a função CONTAINS para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve um resultado que indica se foi encontradauma correspondência.“SCORE” na página 40Pode utilizar a função SCORE para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve uma classificação de relevância que avalia onível de correspondência de uma documento relativamente à consulta.

Operadores de procura avançadaPode utilizar operadores de procura avançada para aperfeiçoar os resultados da procura para a funçãoCONTAINS e a função SCORE.

Na tabela que se segue, a primeira coluna descreve o operador que pode utilizar numa consulta deprocura. Tem de introduzir os operadores lógicos NOT, AND e OR em maiúsculas. A segunda colunaapresenta uma consulta exemplo que poderá introduzir. A terceira coluna descreve os tipos de resultadosque poderão ser apresentados na consulta exemplo.

Tabela 4. Operadores de procura avançada e exemplos de consulta complexa

Operadores Exemplos Resultados da procura

AND "Rei Lear" AND "Otelo"

"Rei Lear" "Otelo"

Ambas as consultas devolvemdocumentos que contêm os termos ReiLear e Otelo. O operador AND é ooperador de conjunção predefinido. Senão existir um operador lógico entre osdois termos, é utilizado o operadorAND. Por exemplo, a consulta Rei Learé igual à consulta Rei AND Lear.

OR "Rei Lear" OR Lear Devolve documentos que contêm ReiLear ou apenas Lear. O operador ORassocia os dois termos e encontra umdocumento correspondente, caso um dosdois termos exista num documento.

NOT "Rei Lear"NOT "Norman Lear"

Devolve documentos que contêm ReiLear mas não Norman Lear.

" "

(Correspondência exacta)

Primeira consulta:

"Rei Lear"

Segunda consulta:

"rei"

A primeira consulta devolve a expressãoexacta Rei Lear.

A segunda consulta devolve apenas apalavra rei e não outras formas damesma, como, por exemplo, reis oureino.

*

(Carácter global)

test*te*to

Devolve documentos que podemcorresponder a várias combinações, taiscomo teste, testes e testador ou tectoe texto.

46 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

||||

||||

|||

||||

||

|||

||

|

||||||||

|||||||

|||||

|

|

|

|

|

|

||

||||

|

|

||||||

Page 53: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Tabela 4. Operadores de procura avançada e exemplos de consulta complexa (continuação)

Operadores Exemplos Resultados da procura

^

(Factor de aumento da classificação)palavraou expressão^número

Primeira consulta:

"Rei Lear"^4 "Ricardo III"

Segunda consulta:

título: (descarregamento de software)^5visualizador de pdfs -envio

A primeira consulta faz com que osdocumentos com a expressão Rei Learsejam apresentados numa posiçãosuperior na lista de resultados daprocura.

A segunda consulta faz com que umdocumento intitulado descarregamentode software seja apresentado numaposição superior na lista de resultados.

Embora o factor de aumento tenha deser positivo, pode ser inferior a 1. Porexemplo, 0,2. O número do factor deaumento não tem limite.

+

(Inclui)

+Lear Rei Devolve todos os documentos quecontêm Lear e Rei, o que corresponde auma consulta igual a Lear AND Rei.

-

(Exclui)

"Rei Lear" -"Lear Jet" Devolve documentos que contém ReiLear mas não Lear Jet.

( ) (Rei OR Lear) AND peças Devolve documentos que contêm Rei ouLear e peças. Os parêntesis asseguramque o termo peças é encontrado e queRei ou Lear estão presentes nodocumento.

\

(Carácter de escape)

\(1\+1\)\:2 Devolve documentos que contêm(1+1):2. Utilize \ para autorizarcaracteres especiais que façam parte dasintaxe da consulta. Os caracteresespeciais são: +, -, &&, ||, !, (, ), {, }, [,], ^, ", ~, *, ?, : e \. Se um carácterespecial for precedido pelo carácter deescape, será analisado como parte daconsulta.

Referências relacionadas

“CONTAINS” na página 38Pode utilizar a função CONTAINS para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve um resultado que indica se foi encontradauma correspondência.“SCORE” na página 40Pode utilizar a função SCORE para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve uma classificação de relevância que avalia onível de correspondência de uma documento relativamente à consulta.

Exemplo com as funções CONTAINS e SCOREPode utilizar as funções CONTAINS e SCORE na mesma consulta. A consulta procura um índice deprocura de texto e devolve se e com que frequência o documento de texto corresponde aos critérios doargumento de procura.

O exemplo da tabela que se segue utiliza dados da tabela base LIVROS com as colunas ISBN(VARCHAR(20)), RESUMO (VARCHAR(10000)) e PREÇO (INTEGER).

OmniFind Text Search Server 47

|

|||

|

|||

|

|

|

||

|||||

||||

||||

|

|

||||

|

|

|||

|||||||

|

|

|||||||||||

|

||||

||||

||||

||

Page 54: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Tabela 5. A tabela base LIVROS

ISBN RESUMO PREÇO

i1 "a b c" 7

i2 "a b d" 10

i3 "a e a" 8

Pode executar a seguinte consulta:SELECT ISBN, SCORE(RESUMO,'"b"')FROM LIVROSWHERE CONTAINS (RESUMO,'"b"') = 1

Esta consulta devolve as duas seguintes linhas:i1, 0.3i3, 0.4

Os valores de classificação podem ser ligeiramente diferentes consoante o conteúdo da coluna de texto.Referências relacionadas

“CONTAINS” na página 38Pode utilizar a função CONTAINS para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve um resultado que indica se foi encontradauma correspondência.“SCORE” na página 40Pode utilizar a função SCORE para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve uma classificação de relevância que avalia onível de correspondência de uma documento relativamente à consulta.

Procura XMLPode indexar e procurar documentos XML. A gramática de procura XML utiliza um subconjunto dalinguagem W3 XPath com extensões para procura de texto. As extensões suportam procuras porintervalos de valores numéricos, de data e de data e hora que podem ser associados a um atributo ouelemento XML. Os elementos estruturais podem ser utilizados separadamente ou combinados com textolivre em consultas.

Os documentos têm de ser indexados para incluir a marcação XML, para que o índice possa serprocurado utilizado a sintaxe de consulta xmlxp. A indexação de documentos é efectuada através dautilização da opção “FORMAT XML” no momento da criação do índice.

Os índices criados numa edição anterior podem ser utilizados para efectuar procuras. No entanto, osdocumentos indexados numa edição anterior não dispõem de informações necessárias para utilização detodas as funcionalidades da procura XML disponíveis numa edição mais recente. Os documentosadicionados ou actualizados no índice de procura de texto após a actualização para a nova ediçãoincluem as informações adicionais.

Uma actualização pode resultar na não inclusão de documentos indexados na edição anterior em algunsresultados de procura. O armazenamento armazenado SYSPROC.SYSTS_REPRIMEINDEX pode serutilizado para recriar o índice e resolver este problema.

Para utilizar as funções incorporadas CONTAINS e SCORE do OMNIFIND para procurar dados XML, acadeia de consulta tem de começar pelo prefixo de consulta @xmlxp:. O prefixo é seguido por umaexpressão de consulta de Procura XML válida. O prefixo de termo 'opaco' @xmlxp indica que uma procuraé executada utilizando a expressão de caminho da consulta.

Por exemplo: CONTAINS(columnname, '@xmlxp:''expressão_consulta'' ').

48 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

||

|||

|||

|||

||||

|

|||

|

||

|

|

||||

||||

|

|||||

|||

|||||

|||

||||

|

Page 55: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

As plicas ' ' em torno da expressão_consulta têm de ser duplicadas, uma vez que estão contidas dentrode uma cadeia SQL, consistindo, na prática, numa cadeia dentro de uma cadeia.

O prefixo de termo opaco @xpath: utilizado nas edições anteriores do OmniFind Text Search Server forDB2 for i é suportado para permitir a compatibilidade com edições anteriores. No entanto, está obsoleto enão é recomendado.

A lista que se segue destaca as funções chave da procura XML:

Procura estrutural XML

Ao incluir termos XML opacos especiais em consultas, pode procurar elementos estruturais e texto noâmbito desses elementos em documentos XML. Os elementos estruturais consistem em nomes decontrolos, nomes de atributos e valores de atributos. Os nomes de elementos e controlos são sensíveis amaiúsculas e minúsculas.

Criação de símbolos de consulta XML

A criação de símbolos é o processo de análise de entrada de dados em símbolos. São criados símbolos detexto livre em termos de consulta XML da mesma forma que são criados símbolos de texto em termos deconsulta não XML. No entanto, os termos opacos imbricados não são suportados. A procura de texto livrenão é sensível a maiúsculas e minúsculas.

Esquema XML e DTD

Nenhum esquema XML associado ao documento XML é descarregado e os valores predefinidos não sãoindexados.

Valores numéricos

São suportados predicados que comparam valores de atributos ou elementos a números.

Valores de elementos

São suportados predicados que comparam valores de elementos a números ou datas. O elemento quecontém a data ou número tem de ser um elemento XML que contenha apenas o número ou data. Osespaços em branco à direita ou à esquerda são ignorados.

Valores de cadeia

A utilização do operador = para um argumento de cadeia num predicado requer uma correspondênciaintegral de todas as palavras-chave da cadeia com símbolos no espaço do texto identificado. A ordem dossímbolos não é importante quando a correspondência é executada.

Valores de data e hora

São suportados predicados que comparam atributos ou elementos de data ou de data e hora.

Expressões de caminho:

Tabela 6. Expressões de caminho

Expressão @xmlxp Descrição

TagName Selecciona um controlo denominado TagName e todos osrespectivos descendentes.

@AttributeName Selecciona um atributo denominado @AttributeName.

OmniFind Text Search Server 49

||

|||

|

|

||||

|

||||

|

||

|

|

|

|||

|

|||

|

|

|

||

||

|||

||

Page 56: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Tabela 6. Expressões de caminho (continuação)

Expressão @xmlxp Descrição

/ Efectua a selecção a partir do nó raiz.

// Selecciona controlos e atributos correspondentes quesejam descendentes da posição actual e correspondam àexpressão.

. O nó do controlo ou elemento actual.

Tabela 7. Exemplos de expressões de caminho:

Expressão @xmlxp Resultado

/Document Devolve todos os documentos com um controlo de nívelsuperior Document.

//Document Devolve todos os documentos com um controlo Documentem qualquer nível.

/Document/Child1 Devolve todos os documentos com um controlo de nívelsuperior Document que tenha um controlo descendentedirecto Child1.

/Document//Child1 Devolve todos os documentos com um controlo de nívelsuperior Document que tenha um controlo descendenteChild1 em qualquer nível.

/Root/@attr1 Devolve todos os documentos com um controlo de nívelsuperior Root com um atributo attr1.

/Root//@attr1 Devolve todos os documentos com um controlo de nívelsuperior Root com um atributo attr1 nesse controlo raizou em qualquer controlo descendente.

//@attr1 Devolve todos os documentos que tenham um atributo@attr1 em qualquer nível.

Nota: A expressão da Procura XML tem de ter um nome de controlo ou atributo real na expressão decaminho relativo. / e //, por si próprias, não são consultas de procura válidas.

As expressões de caminho são apenas para a frente e apenas num único eixo.

Suporte de caracteres globais de expressão de caminho

Na expressão de caminho, a carácter global especial * pode ser utilizado para indicar exactamente umcontrolo, com qualquer nome.

Os caracteres globais de expressão de caminho à esquerda são ignorados.

As utilizações seguintes de caracteres globais de expressão de caminho não são suportadas e resultam emerros:v Uma expressão que faz referência apenas a caracteres globais e não a elementos ou atributos

específicos.v Um atributo de carácter global em qualquer nível: /Tag/@*.v Um carácter global imediatamente precedente a uma expressão de predicado: /Root/*[//anytag].v Um carácter global utilizado numa comparação de predicados: /Root[* > 5].v Um carácter global como prefixo de espaço de nomes XML: //*:tagname.v Um carácter global com um prefixo de espaço de nomes XML: //ns:*.v Um carácter global utilizado como parte de um nome de controlo: /start*.

50 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

||

||

||||

|||

||

||

|||

|||

||||

||||

|||

||||

||||

||

|

|

||

|

||

||

|

|

|

|

|

|

Page 57: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Tabela 8. Exemplos de caracteres globais de expressão de caminho:

Expressão @xmlxp Resultado

/Root/*/T1 Todos os documentos que tenham um controlo de nívelsuperior Root com um controlo descendente T1 com umnível intermédio.

/Root/*//T1 Todos os documentos que tenham um controlo de nívelsuperior Root com um controlo descendente T1 com umou mais níveis intermédios.

Predicados

Os predicados são utilizados para especificar um valor ou condição que um elemento ou atributo tem desatisfazer. Os predicados são sempre colocados entre parêntesis rectos: [].

Tabela 9. Exemplos de predicados:

Expressão @xmlxp Resultado

/Book[Sentences] O controlo de nível superior é Book e tem de ter umdescendente directo Sentences.

/Book[.//Sentences and .//Author] O controlo de nível superior é Book e tem de ter osdescendentes Sentences e Author. Cada descendente sópode estar um nível abaixo de Book.

Uma vez que as expressões de caminho são sempre direccionadas para a frente, e limitadas a um únicoacesso, as expressões de caminho em predicados têm de ser relativas ao nó actual. /Book[/Root] e/Book[//Root] não são válidas, uma vez que, em ambos os casos, a expressão de caminho de predicadocomeça com o controlo de nível superior ‘Root' em vez do nó actual.

Comparações numéricas

O OMNIFIND suporta os operadores =, <=, >=, >, < e != para comparações de elementos e atributos comvalores inteiros e de vírgula flutuante.

Os valores numéricos dos elementos são apenas indexados se os elementos forem simples. Não podemconter caracteres adicionais (para além do espaço em branco) e não podem ter quaisquer elementosdescendentes. Os elementos complexos são indexados apenas como texto.

Tabela 10. Exemplos de comparações numéricas:

Expressão @xmlxp Resultado

/Book[@id_num = 12345] O controlo de nível superior é Book e tem de ter umatributo id_num com um valor de 12345.

/Book[Cost <= 100.50] O controlo de nível superior é Book. Book tem umelemento descendente directo Cost com um valornumérico menor ou igual a 100.50.

Comparações de data e data e hora

O OMNIFIND suporta os operadores =, <=, >=, >, < e != para comparações de elementos e atributos comvalores de data e de data e hora.

Em elementos simples, apenas os valores de data e hora são indexados. Estes elementos não podemconter caracteres adicionais (para além do espaço em branco) e não podem ter quaisquer elementosdescendentes. Os elementos complexos são indexados apenas como texto.

OmniFind Text Search Server 51

||

||

||||

|||||

|

||

||

||

|||

|||||

||||

|

||

|||

||

||

|||

|||||

|

||

|||

Page 58: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Durante a indexação, os valores de atributos e o texto contido em controlos XML simples sãoexaminados. Se for determinado que o texto corresponde a um formato de data ou data e hora ISO, éindexado como uma data ou data e hora que pode ser procurada num predicado.

Durante uma procura, o valor de data ou de data e hora tem de ser colocado dentro de uma chamada defunção xs:date() ou xs:dateTime(), de modo a que seja reconhecido como o tipo de dados correcto.

Um tipo de dados de data e hora XML num documento XML pode especificar um valor de fuso horário.No entanto, quando um valor de data e hora é indexado, o servidor de procura de texto trunca valoresde fuso horário durante a indexação. Deste modo, os fusos horários não são tidos em consideraçãodurante procuras XML que impliquem tipos de dados de data ou de data e hora.

Além disso, um valor de data e hora com uma hora de 24 é apenas permitido se os minutos e ossegundos corresponderem a zero. O valor será tratado como um valor entre o último instante de um diae o primeiro instante do dia seguinte.

Quando um valor de data ou de data e hora é especificado num predicado de procura XML, ocorre umerro de sintaxe se for especificado um fuso horário no valor.

O tipo de dados de data e hora suporta até 12 dígitos de segundos fraccionados.

Tabela 11. Exemplos de comparação de data e data e hora:

Expressão @xmlxp Resultado

/Book[@publishDate > xs:date(“2000-01-01”)] O controlo de nível superior é Book. Book tem umatributo publishDate maior do que a data de 2000-01-01.

/Book[purchaseTime > xs:dateTime(“2009-05-20T13:00:00”)]

O controlo de nível superior é Book. Book tem umdescendente directo purchaseTime que corresponde auma expressão de data e hora maior do que2009-05-20T13:00:00.000000.

Contains e excludes em marcação XML

As funções contains e excludes são utilizadas para executar procuras de texto integral na marcação XML.Contains devolve true se a consulta estiver contida no nó destino; excludes devolve true se a consultaNÃO estiver contida no nó destino.

Por exemplo, localize todos os documentos com um controlo de nível superior denominado email e umdescendente directo denominado body que contenha variações do expressão “Orçamento dodepartamento”.@xnkxo:''/email[body contains (“orçamento do departamento”)]''

O texto livre transmitido à função contains ou excludes é processado da mesma forma que qualquer outraprocura de texto livre. A procura não é sensível a maiúsculas e minúsculas e as variações linguísticas sãotidas em consideração. A consulta indicada acima tem correspondência com “orçamentos dedepartamentos” e com “orçamento para o departamento”.

A procura pode ser restringida a uma correspondência exacta, utilizando as aspas tradicionais, como, porexemplo, @xmlxp:''/email[body contains(“””orçamento do departamento”””)] ''. As aspas que indicamuma correspondência exacta têm de ser duplicadas, de modo a que não sejam interpretadas como o fimda cadeia de texto livre contains.

52 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|||

||

||||

|||

||

|

||

||

|||

|||||||

|

|||

|||

|

||||

||||

Page 59: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Tabela 12. Exemplos de contains e excludes:

Expressão @xmlxp Resultado

/Book[abstract contains(“cão AND gato”)] Controlo de nível superior Book que tem um controlodescendente abstract que contém variações linguísticasdos termos cão e gato.

/Book[abstract contains(“cão AND gato”)]/Book/@title[. contains(“cão OR gato”)]

O controlo de nível superior Book tem um atributo titleque contém variações linguísticas de cão ou gato.

/Book/Title[. contains(“””Todos os cães merecem océu”””)]

Controlo de nível superior Book com um descendentedirecto Title que contém todos os cães merecem o céupor ordem e sem que sejam consideradas variaçõeslinguísticas.

/Book[abstract excludes(“cão AND gato”)] Controlo de nível superior Book que contém um controlodescendente abstract que não contém variaçõeslinguísticas dos termos cão e gato.

Operador de correspondência de cadeias completas

O operador = com um argumento de cadeia num predicado requer uma correspondência integral detodos os símbolos da cadeia com todos os símbolos do texto identificado. Os equivalentes linguísticos nãosão considerados. A ordem dos termos procurados não é significativa. Não é necessário que o elementoou atributo contenha apenas o texto que foi pesquisado.

Tabela 13. Exemplos de operadores de correspondência integral de cadeias:

Expressão @xmlxp Resultado

/Book[@author = “Nicholas Lawrence”] Controlo de nível superior Book que tem um atributoauthor. author tem de conter os termos NicholasLawrence. As variações linguísticas desses termos não sãoconsideradas correspondências.

/Book[author = “””Nicholas Lawrence”””] Controlo de nível superior Book que tem um descendentedirecto author. author tem de conter os termos NicholasLawrence por ordem. As variações linguísticas dessestermos não são consideradas correspondências.

Operadores lógicos

Os operadores lógicos and e or podem ser utilizados em predicados.

Tabela 14. Exemplos de operadores lógicos:

Expressão @xmlxp Resultado

/Book[@author = “””Nicholas Lawrence”””]/Price[. <1000 and @unit = “dólares”]

Controlo de nível superior Book que tem um atributoauthor. author tem de conter os termos NicholasLawrence por ordem. As variações linguísticas dessestermos não são consideradas correspondências.

Book tem de ter um descendente directo Price com umvalor < 1000. O nó Price tem de ter um atributo @unitcom um valor de dólares.

Precedência de operadores

Em predicados de procura XML, os operadores de limitação e de comparação têm precedência sobreoperadores lógicos e todos os operadores lógicos têm a mesma precedência.

OmniFind Text Search Server 53

||

||

||||

||||

||||||

|||||

|

||||

||

||

|||||

||||||

|

|

||

||

||||||

||||

|

||

Page 60: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

v Os operadores de limitação são contains e excludes.v Os operadores de comparação são =, !=, <, >, <= e >=.v Os operadores lógicos são and e or.

Pode utilizar parêntesis de modo a assegurar a precedência pretendida.Referências relacionadas

“Sintaxe de argumentos de procura” na página 43Pode especificar um argumento de procura como condição de uma procura de termos em documentos detexto. O argumento é constituído por parâmetros de procura e um ou mais termos de procura. As funçõesde procura de texto escalar de SQL que utilizam argumentos de procura são CONTAINS e SCORE.“SYSPROC.SYSTS_REPRIMEINDEX” na página 74Pode recriar o índice e iniciar uma actualização inicial utilizando o procedimento armazenadoSYSPROC.SYSTS_REPRIMEINDEX. Utilize este procedimento armazenado se pretender restaurar dadosda tabela base.“CONTAINS” na página 38Pode utilizar a função CONTAINS para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve um resultado que indica se foi encontradauma correspondência.“SCORE” na página 40Pode utilizar a função SCORE para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve uma classificação de relevância que avalia onível de correspondência de uma documento relativamente à consulta.

Suporte de espaço de nomes de procura XMLPode utilizar um espaço de nomes para determinar o âmbito de elementos e atributos num documento.Os espaços de nomes são úteis para restringir a procura de consulta a elementos com significado nodocumento.

Descrição geral

Em XML, os nomes de elementos e atributos são seleccionados pelo programador. Estes nomes podemcriar conflitos quando documentos XML de aplicações diferentes são misturados.

Deste modo, é útil restringir a procura de consulta aos elementos com significado no documento,especialmente quando se forem estiverem indexados vários tipos de documentos diferentes. A restriçãoda consulta pode ser efectuada através da utilização de espaços de nomes.

Os espaços de nomes faculta a definição de âmbito dos elementos e atributos do documento, de modo agarantir a correcta interpretação dos valores. Os espaços de nomes são descritos com um nome longo(URI) e, opcionalmente, um nome abreviado denominado denominado Qname (nome qualificado).<?xml version='1.0'?>

<doc xmlns:x="http://example.com/ns/abc"><x:p/>

</doc>

http://example.com/ns/abc é o nome longo do espaço de nomes e x é o prefixo Qname. Um prefixoQname é útil como abreviatura para o espaço de nomes de referência de cada elemento.

O elemento p é qualificado pelo espaço de nomes http://example.com/ns/abc.

O espaço de nomes predefinido

Pode ser especificado um espaço de nomes predefinido para elementos XML. O espaço de nomespredefinido é aplicável ao controlo actual e aos controlos descendentes. Qualquer controlo nãoqualificado no espaço de nomes herda o espaço de nomes predefinido.

54 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

|

|

|

|

||||

||||

||||

||||

||||

|

||

|||

|||

||||

||

|

|

|||

Page 61: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

<?xml version='1.0'?><doc xmlns="http://example.com/ns/abc">

<p/></doc>

Neste caso, os elementos doc e p encontram-se no espaço de nomes http://example.com/ns/abc.

Espaços de nomes de atributos

Um atributo poderá ter um espaço de nomes diferente do espaço de nomes do respectivo elementoassociado.

Elemento e atributo, qualificado:<dog xmlns:an="http://example.org/animals" xmlns:sz=”http://example.org/sizes”><an:breed sz:size=”Medium”>Mutt</an:breed></dog>

Existe uma diferença na forma como os elementos e os atributos herdam o espaço de nomes quando estenão é especificado explicitamente. Os elementos não qualificados recebem o espaço de nomes predefinidodo âmbito em que se encontram. Os atributos não qualificados não têm espaços de nomes.

Elemento e atributo, não qualificado:<dog xmlns:an="http://example.org/animals"><breed size=”Medium”>Mutt</an:breed></dog>

Neste exemplo, o elemento breed tem um espaço de nomes de http://example.org/animals. No entanto,o atributo size não tem qualquer espaço de nomes associado.

Para obter mais informações sobre espaços de nomes XML, consulte a Recomendação da W3Crelativamente a espaços de nome em XML, que pode ser encontrada em World Wide Web

Consortium(W3C) (http://www.w3.org) .

Prefixos Qname reservados

Os seguintes prefixos Qname estão reservados e não podem ser utilizados para qualificar elementosdefinidos pelo utilizador: xml, xs, xsi, fn, local.

Utilizar espaços de nomes em procurasOs prefixos QName e os espaços de nomes predefinidos têm de ser especificados no prólogo de consulta@xmlxp do termo da procura.

Prólogo exemplo que efectua o mapeamento do espaço de nomes ns1 com o URI "http://mycompany.com"declare namespace ns1 = "http://mycompany.com";

Prólogo exemplo que especifica que todos os elementos não qualificados são qualificados pelo URI"http://mycompany.com":declare default element namespace "http://mycompany.com"

Se uma consulta não declarar nenhum prefixo QName de espaços de nomes ou um espaço de nomespredefinido, os espaços de nomes não são considerados na consulta. Um nome de elemento ou atributo éconsiderado uma correspondência caso exista em qualquer espaço de nomes.

Se for declarado um prefixo QName ou um espaço de nomes predefinido, os nomes de elementos ouatributos só serão considerados uma correspondência se existirem no espaço de nomes especificado.

OmniFind Text Search Server 55

||||

|

|

||

|

|||

|||

|

|||

||

||

|

|

||

|||

|

|

||

|

|||

||

Page 62: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

A sintaxedeclare default element namespace "”;

pode ser utilizada para indicar que os controlos não qualificados não se encontram em qualquer espaçode nomes.

NÃO é necessário que os prefixos QName utilizados na cadeia de procura XML correspondam ao prefixoQName utilizado no documento XML. As correspondências baseiam-se apenas no URI de nome longo.

Exemplos:

Restrinja a procura ao atributo attr do elemento test, em que o elemento test é correlacionado com onamespace (espaço de nomes) "http://posample.org" e attr não se encontra em qualquer namespace.Utilize o namespace predefinido para simplificar a sintaxe.CONTAINS(myxmlcol, '@xmlxp:''declare default element namespace “http://myexample.org”;/test[@attr > xs:date(“2005-01-01”)]''')

Restrinja a procura ao atributo attr do elemento test, em que o elemento test tem um namespace de"http://myexample.org". Utilize a sintaxe de namespace explícita, utilizando o prefixo QName abc.CONTAINS(myxmlcol, '@xmlxp:''declare namespace abc = “http://myexample.org”;/abc:test[@attr < xs:date(“2009-01-01”)]''')

Restrinja a procura aos elementos descendentes shipTo name e billTo name do elemento purchaseOrder,que é explicitamente correlacionado com o namespace "http://myexample.org" utilizando o prefixo QNamens1. É também especificado um espaço de nomes predefinido ("http://mastsample.org"), que se aplica ashipTo, name e billTo.CONTAINS(myxmlcol, '@xmlxp:'' declare default namespace "http://mastsample.org";declare namespace ns1 = "http://posample.org"; /ns1:purchaseOrder[shipTo/name = "Jane"and billTo/name = "Jason"]''')

Restrinja a procura ao atributo name (explicitamente definido no espaço de nomes "http://posample.org")do elemento shipTo (no espaço de nomes predefinido "http://mastsample.org"), que é um descendentedo elemento purchaseOrder (explicitamente definido no espaço de nomes "http://posample.org"). Oespaço de nomes predefinido "http://mastsample.org" aplica-se aos elementos shipTo, billTo e name.CONTAINS(myxmlcol, '@xmlxp:'' declare default namespace "http://mastsample.org";declare namespace ns1 = "http://posample.org"; /ns1:purchaseOrder/shipTo[@ns1:name =

"Jane" and billTo/name = "Jason"]''')

Exemplo de procura XMLv Crie uma tabela XML_DOCUMENTS no esquema XMLTEST para armazenar os documentos XML:

CREATE TABLE XMLTEST.XML_DOCUMENTS (ID INT, XML_DATA XML, PRIMARY KEY (ID));

v Crie um índice de procura de texto denominado XML_INDEX sobre a coluna XML:call SYSPROC.SYSTS_CREATE('XMLTEST', 'XML_INDEX', 'XMLTEST.XML_DOCUMENTS(XML_DATA)', '');

v Insira alguns documentos XML:INSERT INTO XMLTEST.XML_DOCUMENTS (ID, XML_DATA)VALUES(1,

'<BOOK publication_date="2009-01-01">' ||' <TITLE> OmniFind Text Search Server for DB2 </TITLE>' ||' <ID_NUMBER> 1 ></ID_NUMBER>' ||' <CHAPTER>' ||' <NUMBER> 1 </NUMBER>' ||' <TITLE> Introdução </TITLE>' ||' <ABSTRACT> Este capítulo irá apresentar ao leitor as funcionalidades do OmniFind

for DB2 for IBM i </ABSTRACT>' ||' </CHAPTER>'||' <CHAPTER>' ||' <NUMBER> 2 </NUMBER>' ||

56 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

|

||

||

|

|||

||

||

||

||||

|||

||||

|||

|

|

|

|

|

|

|||||||||||||

Page 63: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

' <TITLE> Criar um índice de procura de texto </TITLE>' ||' <ABSTRACT> Este capítulo irá explicar como criar um índice de procura de texto </ABSTRACT>' ||' </CHAPTER>' ||'</BOOK>');

INSERT INTO XMLTEST.XML_DOCUMENTS (ID, XML_DATA)VALUES(2,

'<BOOK publication_date="2010-02-01">' ||' <TITLE> Utilizar o tipo de dados XML para DB2 for IBM i </TITLE>' ||' <ID_NUMBER> 2 ></ID_NUMBER>' ||' <CHAPTER>' ||' <NUMBER> 1 </NUMBER>' ||' <TITLE> Introdução </TITLE>' ||' <ABSTRACT> Este capítulo irá apresentar ao leitor o tipo de dados XML de DB2 </ABSTRACT>' ||' </CHAPTER> ' ||' <CHAPTER>' ||' <NUMBER> 2 </NUMBER>' ||' <TITLE> Inserir dados XML numa tabela DB2 </TITLE>' ||' <ABSTRACT> Este capítulo irá explicar como inserir dados XML numa tabela DB2 </ABSTRACT>' ||' </CHAPTER>' ||' <CHAPTER>' ||' <NUMBER> 3 </NUMBER>' ||' <TITLE> Procurar dados XML </TITLE>' ||' <ABSTRACT> Este capítulo irá explicar como consultar dados em colunas XML

utilizando as funções incorporadas CONTAINS e SCORE </ABSTRACT>' ||' </CHAPTER>' ||'</BOOK>');

INSERT INTO XMLTEST.XML_DOCUMENTS (ID, XML_DATA)VALUES(3,

'<BOOK xmlns="http://www.ibm.com/digital_media_library"' ||' publication_date="2010-02-01">' ||' <TITLE> Utilizar espaços de nomes com o OmniFind Text Search Server for DB2 for IBM i </TITLE>' ||' <ID_NUMBER> 2 </ID_NUMBER>' ||' <CHAPTER>' ||' <NUMBER> 1 </NUMBER>' ||' <TITLE> Introdução </TITLE>' ||' <ABSTRACT> Este capítulo irá apresentar ao leitor os espaços de nomes XML </ABSTRACT>' ||' </CHAPTER>' ||' <CHAPTER>' ||' <NUMBER> 2 </NUMBER>' ||' <TITLE> Utilizar espaços de nomes predefinidos </TITLE>' ||' <ABSTRACT> Este capítulo irá explicar como utilizar um espaço de nomes numa procura XML </ABSTRACT>' ||' </CHAPTER>' ||'</BOOK>');

v Actualize o índice:CALL SYSPROC.SYSTS_UPDATE('XMLTEST', 'XML_INDEX', '');

Consultas exemplo

Exemplo 1:

Localize todos os documentos que tenham um elemento raiz BOOK com um descendente directo TITLE quecontenha DB2.SELECT IDFROM XMLTEST.XML_DOCUMENTSWHERE CONTAINS(XML_DATA, '@xmlxp:''/BOOK/TITLE[. contains("DB2")]'' ') = 1;

Uma vez que o prólogo do espaço de nomes não é especificado no termo de procura, nenhum espaço denomes é considerado na procura.

OmniFind Text Search Server 57

||||

||||||||||||||||||||||

|||||||||||||||||

|

|

|

|

||

|||

||

Page 64: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Tabela 15. Resultado

ID

1

2

3

Exemplo 2:

Localize todos os documentos que tenham um elemento raiz BOOK com um descendente directo TITLE quecontenha DB2.Utilize um espaço de nomes de elemento predefinido para indicar que BOOK e TITLE têm deestar no espaço de nomes (namespace) "http://www.ibm.com/digital_media_library”.SELECT IDFROM XMLTEST.XML_DOCUMENTSWHERE CONTAINS(XML_DATA, '@xmlxp:''declare default element namespace"http://www.ibm.com/digital_media_library";/BOOK/TITLE[. contains("DB2")]'' ') = 1;

Tabela 16. Resultado

ID

3

Exemplo 3:

Localize todos os documentos que tenham um elemento raiz BOOK com um atributo publication_dateapós "2010-01-01" e um elemento descendente TITLE que contenha DB2. Restrinja a procura de modo aque os controlos BOOK e TITLE não possam existir em nenhum espaço de nomes.SELECT IDFROM XMLTEST.XML_DOCUMENTSWHERE CONTAINS(XML_DATA, '@xmlxp:''declare default element namespace "";/BOOK[@publication_date > xs:date("2010-01-01")]/TITLE[. contains("DB2")]'' ') = 1;

Tabela 17. Resultado

ID

2

Exemplo 4:

Localize todos os documentos com um elemento raiz BOOK (não no espaço de nomes) que tenham umdescendente directo CHAPTER (também não no espaço de nomes) que contenha informações sobre comoinserir dados numa tabela XML.SELECT IDFROM XMLTEST.XML_DOCUMENTSWHERE CONTAINS(XML_DATA, '@xmlxp:''declare default element namespace "";/BOOK/CHAPTER[. contains("inserir dados XML numa tabela")]'' ') = 1;

Nota:

v O texto contido em CHAPTER inclui o texto contido nos elementos ABSTRACT e TITLE que sãodescendentes de CHAPTER.

v A cadeia de procura não é sensível a maiúsculas e minúsculas e as variações linguísticas daspalavras da procura são consideradas.

58 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

||

|

|

|

||

|

|||

|||||

||

|

||

|

|||

||||

||

|

||

|

|||

||||

|

||

||

Page 65: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Tabela 18. Resultado

ID

2

Exemplo 5:

Localize todos os documentos com um elemento raiz BOOK (no espaço de nomes “http://www.ibm.com/digital_media_library”) que tenham um descendente directo CHAPTER (também no espaço de nomes“http://www.ibm.com/digital_media_library”). CHAPTER tem de ter um descendente directo NUMBER (noespaço de nomes “http://www.ibm.com/digital_media_library") com um valor de 1 e ainda conterinformações de texto sobre como efectuar procuras num espaço de nomes XML.SELECT IDFROM XMLTEST.XML_DOCUMENTSWHERE CONTAINS(XML_DATA, '@xmlxp:''declare namespace ns1 = "http://www.ibm.com/digital_media_library";/ns1:BOOK/ns1:CHAPTER[. contains("procurar XML utilizando um espaço de nomes") and NUMBER = 1]'' ') = 1;

O documento n.º 3 é o único documento com controlos no espaço de nomes correcto, mas apresentaapenas correspondências de palavras-chave num capítulo com um valor numérico de 2 (não 1).

Não são devolvidas linhas.

Tabela 19. Resultado

ID

Exemplo 6:

Localize todos os documentos com um elemento raiz BOOK(no espaço de nomes “http://www.ibm.com/digital_media_library”) que tenham um descendente directo CHAPTER (no espaço de nomes“http://www.ibm.com/digital_media_library”). CHAPTER tem de ter um descendente directo NUMBER (noespaço de nomes “http://www.ibm.com/digital_media_library”) com um valor de 1. BOOK tem de ter umdescendente CHAPTER (não necessariamente com um descendente NUMBER) que contenha informações detexto sobre como efectuar procuras num espaço de nomes XML.SELECT IDFROM XMLTEST.XML_DOCUMENTSWHERE CONTAINS(XML_DATA, '@xmlxp:''declare namespace ns1 = "http://www.ibm.com/digital_media_library";/ns1:BOOK[ns1:CHAPTER contains("procurar XML utilizando um espaço de nomes")]/ns1:CHAPTER[ns1:NUMBER = 1]'' ') = 1;

O documento 3 inclui um elemento CHAPTER que corresponde aos critérios de CONTAINS e um elementoCHAPTER com um descendente NUMBER que tem um valor de 1. Por conseguinte, o documento 3corresponde a esta consulta.

Tabela 20. Resultado

ID

3

OmniFind Text Search Server 59

||

|

||

|

|||||

||||

||

|

||

|

||

|

||||||

||||

|||

||

|

||

Page 66: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Referências relacionadas

“SYSPROC.SYSTS_CREATE” na página 19Pode chamar o procedimento armazenado SYSPROC.SYSTS_CREATE para criar um índice de procura detexto. Este procedimento armazenado activa uma coluna de texto para indexação de procura de texto. Oíndice de procura de texto pode, deste modo, ser utilizado em consultas SQL que contenham as funçõesCONTAINS ou SCORE.“SYSPROC.SYSTS_UPDATE” na página 35Pode chamar o procedimento armazenado SYSPROC.SYSTS_UPDATE para actualizar o índice de procurade texto de modo a que reflicta o conteúdo actual da coluna de texto.“CONTAINS” na página 38Pode utilizar a função CONTAINS para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve um resultado que indica se foi encontradauma correspondência.

Exemplo de procura XMLEste exemplo inclui uma tabela de documentos XML, um índice de procura de texto sobre uma colunaXML na tabela e seis procuras de texto SQL utilizando a função CONTAINS.

Nota: Ao utilizar os exemplos de código está implícita a aceitação dos termos do “Informações sobrelicença de código e exclusão de responsabilidade (disclaimer)” na página 110.

v Crie uma tabela XML_DOCUMENTS no esquema XMLTEST para armazenar os documentos XML:CREATE TABLE XMLTEST.XML_DOCUMENTS (ID INT, XML_DATA XML, PRIMARY KEY (ID));

v Crie um índice de procura de texto denominado XML_INDEX sobre a coluna XML:call SYSPROC.SYSTS_CREATE('XMLTEST', 'XML_INDEX', 'XMLTEST.XML_DOCUMENTS(XML_DATA)', '');

v Insira alguns elementos XML:INSERT INTO XMLTEST.XML_DOCUMENTS (ID, XML_DATA)VALUES(1,

'<BOOK publication_date="2009-01-01">' ||' <TITLE> OmniFind Text Search Server for DB2 </TITLE>' ||' <ID_NUMBER> 1 ></ID_NUMBER>' ||' <CHAPTER>' ||' <NUMBER> 1 </NUMBER>' ||' <TITLE> Introdução </TITLE>' ||' <ABSTRACT> Este capítulo irá apresentar ao leitor as funcionalidades do OmniFind

for DB2 for IBM i </ABSTRACT>' ||' </CHAPTER>'||' <CHAPTER>' ||' <NUMBER> 2 </NUMBER>' ||' <TITLE> Criar um índice de procura de texto </TITLE>' ||' <ABSTRACT> Este capítulo irá explicar como criar um índice de procura de texto </ABSTRACT>' ||' </CHAPTER>' ||'</BOOK>');

INSERT INTO XMLTEST.XML_DOCUMENTS (ID, XML_DATA)VALUES(2,

'<BOOK publication_date="2010-02-01">' ||' <TITLE> Utilizar o tipo de dados XML para DB2 for IBM i </TITLE>' ||' <ID_NUMBER> 2 ></ID_NUMBER>' ||' <CHAPTER>' ||' <NUMBER> 1 </NUMBER>' ||' <TITLE> Introdução </TITLE>' ||' <ABSTRACT> Este capítulo irá apresentar ao leitor o tipo de dados XML de DB2 </ABSTRACT>' ||' </CHAPTER> ' ||' <CHAPTER>' ||' <NUMBER> 2 </NUMBER>' ||' <TITLE> Inserir dados XML numa tabela DB2 </TITLE>' ||' <ABSTRACT> Este capítulo irá explicar como inserir dados XML numa tabela DB2 </ABSTRACT>' ||' </CHAPTER>' ||' <CHAPTER>' ||' <NUMBER> 3 </NUMBER>' ||

60 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

|||||

|||

||||

|||

||

|

|

|

|

|

|||||||||||||||||

|||||||||||||||||

Page 67: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

' <TITLE> Procurar dados XML </TITLE>' ||' <ABSTRACT> Este capítulo irá explicar como consultar dados em colunas XML

utilizando as funções incorporadas CONTAINS e SCORE </ABSTRACT>' ||' </CHAPTER>' ||'</BOOK>');

INSERT INTO XMLTEST.XML_DOCUMENTS (ID, XML_DATA)VALUES(3,

'<BOOK xmlns="http://www.ibm.com/digital_media_library"' ||' publication_date="2010-02-01">' ||' <TITLE> Utilizar espaços de nomes com o OmniFind Text Search Server for DB2 for IBM i </TITLE>' ||' <ID_NUMBER> 2 </ID_NUMBER>' ||' <CHAPTER>' ||' <NUMBER> 1 </NUMBER>' ||' <TITLE> Introdução </TITLE>' ||' <ABSTRACT> Este capítulo irá apresentar ao leitor os espaços de nomes XML </ABSTRACT>' ||' </CHAPTER>' ||' <CHAPTER>' ||' <NUMBER> 2 </NUMBER>' ||' <TITLE> Utilizar espaços de nomes predefinidos </TITLE>' ||' <ABSTRACT> Este capítulo irá explicar como utilizar um espaço de nomes numa procura XML </ABSTRACT>' ||' </CHAPTER>' ||'</BOOK>');

v Actualize o índice:CALL SYSPROC.SYSTS_UPDATE('XMLTEST', 'XML_INDEX', '');

Consultas exemplo

Procura 1:

Localize todos os documentos que tenham um elemento raiz BOOK com um descendente directo TITLE quecontenha DB2.SELECT IDFROM XMLTEST.XML_DOCUMENTSWHERE CONTAINS(XML_DATA, '@xmlxp:''/BOOK/TITLE[. contains("DB2")]'' ') = 1;

Uma vez que o prólogo do espaço de nomes não é especificado no termo de procura, nenhum espaço denomes é considerado na procura.

Tabela 21. Resultado

ID

1

2

3

Procura 2:

Localize todos os documentos que tenham um elemento raiz BOOK com um descendente directo TITLE quecontenha DB2.Utilize um espaço de nomes de elemento predefinido para indicar que BOOK e TITLE têm deestar no espaço de nomes (namespace) "http://www.ibm.com/digital_media_library”.SELECT IDFROM XMLTEST.XML_DOCUMENTSWHERE CONTAINS(XML_DATA, '@xmlxp:''declare default element namespace"http://www.ibm.com/digital_media_library";/BOOK/TITLE[. contains("DB2")]'' ') = 1;

OmniFind Text Search Server 61

|||||

|||||||||||||||||

|

|

|

|

||

|||

||

||

|

|

|

||

|

|||

|||||

Page 68: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Tabela 22. Resultado

ID

3

Procura 3:

Localize todos os documentos que tenham um elemento raiz BOOK com um atributo publication_dateapós "2010-01-01" e um elemento descendente TITLE que contenha DB2. Restrinja a procura de modo aque os controlos BOOK e TITLE não possam existir em nenhum espaço de nomes.SELECT IDFROM XMLTEST.XML_DOCUMENTSWHERE CONTAINS(XML_DATA, '@xmlxp:''declare default element namespace "";/BOOK[@publication_date > xs:date("2010-01-01")]/TITLE[. contains("DB2")]'' ') = 1;

Tabela 23. Resultado

ID

2

Procura 4:

Localize todos os documentos com um elemento raiz BOOK (não no espaço de nomes) que tenham umdescendente directo CHAPTER (também não no espaço de nomes) que contenha informações sobre comoinserir dados numa tabela XML.SELECT IDFROM XMLTEST.XML_DOCUMENTSWHERE CONTAINS(XML_DATA, '@xmlxp:''declare default element namespace "";/BOOK/CHAPTER[. contains("inserir dados XML numa tabela")]'' ') = 1;

Nota:

v O texto contido em CHAPTER inclui o texto contido nos elementos ABSTRACT e TITLE que sãodescendentes de CHAPTER.

v A cadeia de procura não é sensível a maiúsculas e minúsculas e as variações linguísticas daspalavras da procura são consideradas.

Tabela 24. Resultado

ID

2

Procura 5:

Localize todos os documentos com um elemento raiz BOOK (no espaço de nomes “http://www.ibm.com/digital_media_library”) que tenham um descendente directo CHAPTER (também no espaço de nomes“http://www.ibm.com/digital_media_library”). CHAPTER tem de ter um descendente directo NUMBER (noespaço de nomes “http://www.ibm.com/digital_media_library") com um valor de 1 e ainda conterinformações de texto sobre como efectuar procuras num espaço de nomes XML.SELECT IDFROM XMLTEST.XML_DOCUMENTSWHERE CONTAINS(XML_DATA, '@xmlxp:''declare namespace ns1 = "http://www.ibm.com/digital_media_library";/ns1:BOOK/ns1:CHAPTER[. contains("procurar XML utilizando um espaço de nomes") and NUMBER = 1]'' ')= 1;

O documento n.º 3 é o único documento com controlos no espaço de nomes correcto, mas apresentaapenas correspondências de palavras-chave num capítulo com um valor numérico de 2 (não 1).

62 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

||

|

||

|

|||

||||

||

|

||

|

|||

||||

|

||

||

||

|

||

|

|||||

|||||

||

Page 69: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Não são devolvidas linhas.

Tabela 25. Resultado

ID

Procura 6:

Localize todos os documentos com um elemento raiz BOOK(no espaço de nomes “http://www.ibm.com/digital_media_library”) que tenham um descendente directo CHAPTER (no espaço de nomes“http://www.ibm.com/digital_media_library”). CHAPTER tem de ter um descendente directo NUMBER (noespaço de nomes “http://www.ibm.com/digital_media_library”) com um valor de 1. BOOK tem de ter umdescendente CHAPTER (não necessariamente com um descendente NUMBER) que contenha informações detexto sobre como efectuar procuras num espaço de nomes XML.SELECT IDFROM XMLTEST.XML_DOCUMENTSWHERE CONTAINS(XML_DATA, '@xmlxp:''declare namespace ns1 = "http://www.ibm.com/digital_media_library";/ns1:BOOK[ns1:CHAPTER contains("procurar XML utilizando um espaço de nomes")]/ns1:CHAPTER[ns1:NUMBER = 1]'' ') = 1;

O documento 3 inclui um elemento CHAPTER que corresponde aos critérios de CONTAINS e um elementoCHAPTER com um descendente NUMBER que tem um valor de 1. Por conseguinte, o documento 3corresponde a esta consulta.

Tabela 26. Resultado

ID

3

Gramática de consulta de procura XMLA gramática para Procura XML baseia-se num subconjunto da linguagem XPath, que é definida pelagramática EBNF (Extended Backus-Naur Form). As consultas que não se encontrem em conformidadecom a gramática suportada são rejeitadas pelo analisador de consultas.

A gramática EBNF foi simplificada através de:v Proibição de nomes de caminhos absolutos em expressões de predicados.v Reconhecimento de apenas um eixo (controlo) e apenas direccionado para a frente.v Aplicação de restrições semânticas adicionais à utilização do carácter global (consulte a secção anterior

sobre "Suporte de caracteres globais de expressão de caminho", no tópico “Procura XML” na página 48.v Exigência de que a declaração de espaço de nomes seja especificada na cadeia de procura antes de

qualquer utilização, implícita ou explícita, do espaço de nomes. Se a declaração de espaço de nomesnão for incluída, os espaços de nomes não são considerados na procura.

v As expressões de caminhos relativos têm de ter um nome de controlo ou atributo incluído naexpressão. As consultas ‘/', para selecção do nó raiz, e ‘//', para selecção de todos os nós, não sãoexpressões válidas.

A tabela que se segue apresenta a gramática suportada na notação EBNF.

Tabela 27. Gramática de consulta suportada na notação EBNF

Símbolo Produção

XMLQuery ::= QueryPrefix NameSpaceDeclaration QueryString| QueryPrefix QueryString

QueryPrefix ::= @xmlxp:

QueryString ::= "'" PathExpr "'"

OmniFind Text Search Server 63

|

||

|

||

|

||||||

||||

|||

||

|

||

||||

|

|

|

||

|||

|||

|

||

||

|||

||

||

Page 70: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Tabela 27. Gramática de consulta suportada na notação EBNF (continuação)

PathExpr ::= RelativePathExpr| "/" RelativePathExpr?| "//" RelativePathExpr

RelativePathExpr ::= StepExpr ( ( "/" | "//" ) StepExpr )*

StepExpr ::= ( "." | AbbrevForwardStep ) Predicate?

AbbrevForwardStep ::= "@"? (QName | "*")

Predicate ::= "[" PredicateExpr "]"

PredicateExpr ::= Expr| PredicateExpr ( "and" | "or" )| "(" PredicateExpr ")"

Expr ::= ComparisonExpr | ContainmentExpr

ComparisonExpr ::= PathExpr ComparisonOp Literal

ComparisonOp ::= "=" | "<" | ">" | "!=" | "<=" | ">="

Literal ::= StringLiteral | NumericLiteral | DateLiteral

ContainmentExpr ::= PathExpr "contains" "(" StringLiteral ")"| PathExpr "excludes" "(" StringLiteral ")"

StringLiteral ::= "\"" [^"]* "\""| "'" [^']* "'"

DateLiteral ::= "xs:date(\"" xmlDate "\")"| "xs:dateTime(\"" xmlDateTime "\")"

xmlDate ::= yyyy"-"mm"-"dd

xmlDateTime ::= yyyy"-"mm"-"dd [T] hh":"mm":"ss"."uuuuuu

NameSpaceDeclaration ::= defaultNameSpace (NameSpacePrefixDeclaration)*

defaultNameSpace ::= “declare default element namespace“ StringLiteral “;”

NameSpacePrefixDeclaration ::= “declare namespace” NameSpacePrefix “=”StringLiteral “;”

NameSpacePrefix ::= [^”:]+

Administrar um OmniFind(r) Text Search Server for DB2(r) for iPode administrar o OmniFind Text Search Server for DB2 for i utilizando as técnicas e ferramentas que seseguem.

Iniciar o OmniFind Text Search Server for DB2 for iPode iniciar o OmniFind Text Search Server for DB2 for i chamando o procedimentoSYSPROC.SYSTS_START.

O OMNIFIND inicia o servidor de texto automaticamente, conforme necessário, desde que oSERVERSTATUS no catálogo QSYS2.SYSTEXTSERVERS corresponda a 0. Esta política permite ao servidorde procura de texto ser iniciado automaticamente quando o sistema central é iniciado. No entanto, podeiniciar o servidor manualmente, se necessário.

Para iniciar o servidor:

CALL SYSPROC.SYSTS_START(serverid)

64 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

||||

||

||

||

||

||||

||

||

||

||

|||

|||

|||

||

||

||

|||

|||

|||

||

||

|

||

||||

|

|

Page 71: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Se for bem sucedido, o SERVERSTATUS no catálogo QSYS2.SYSTEXTSERVERS é definido como 0 após oprocedimento ter sido chamado. Quando o servidor é local,os trabalhos que se seguem estão activos emsegundo plano:v QJVAEXEC userx BCI 0.0 JVM-com.ibm.esv QJVAEXEC userx BCI 0.0 PGM-OutsideInPv QJVAEXEC userx BCI 0.0 PGM-OutsideInPv QJVAEXEC userx BCI 0.0 PGM-OutsideInPv QJVAEXEC userx BCI 0.0 PGM-OutsideInP

em que userx corresponde ao ID de utilizador do administrador que chamou o procedimentoarmazenado.

Poderá demorar alguns minutos até que todos estes trabalhos estejam activos e que o servidor de textopossa ser utilizado.Referências relacionadas

“SYSPROC.SYSTS_START” na página 16Pode activar funções de procura de texto de DB2 chamando o procedimento armazenadoSYSPROC.SYSTS_START.“Tabela de administração QSYS2.SYSTEXTSERVERS” na página 105Pode consultar a localização em que os servidores de procura de texto estão instalados utilizando a tabelade administração QSYS2.SYSTEXTSERVERS.

Parar o OmniFind Text Search Server for DB2 for iPode parar o OmniFind Text Search Server for DB2 for i manualmente, utilizando o script deencerramento fornecido.

Se tiver instalado o OmniFind Text Search Server for DB2 for i como um serviço, o servidor de procurade texto pára automaticamente sempre que o sistema central for encerrado. No entanto, pode parar oservidor manualmente, mesmo que tenha instalado o OmniFind Text Search Server for DB2 for i comoum serviço.

Para parar o OmniFind Text Search Server for DB2 for i:1. Indique no catálogo SYSTEXTSERVER que o servidor deve ser parado, chamando

SYSPROC.SYSTS_STOP.v Para parar todos os servidores: CALL SYSPROC.SYSTS_STOP().v Para parar um servidor específico:

a. Consulte o catálogo do servidor para obter o serverid que pretende parar:SELECT SERVERID,SERVERPORT,SERVERSTATUS,SERVERPATH

FROM QSYS2.SYSTEXTSERVERS

Nota: SERVERPATH identifica o servidor. SERVERSTATUS indica se o servidor está actualmenteactivo (0) ou inactivo (1).

b. Chame SYSPROC.SYSTS_STOP, especificando o serverid numérico ou o nome alternativo doservidor que pretende parar:CALL SYSPROC.SYSTS_STOP(serverid).

2. (Opcional) Pare o servidor chamando o script de encerramento. A paragem do servidor termina todosos trabalhos do servidor de procura de texto no sistema central. Pare o servidor no ambiente Qshell.Para encerrar o servidor local, introduza o seguinte comando na linha de comandos:QSH CMD('cd /QOpenSys/QIBM/ProdData/TextSearch/server1/bin; shutdown.sh') .

OmniFind Text Search Server 65

|||

|

|

|

|

|

||

||

|

|||

|||

|

||

||||

|

||

|

|

|

|

|

||

||

|

||

|

|

Page 72: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Se o servidor a encerrar não for o servidor local predefinido criado pelo processo de instalação, énecessário obter o valor correcto de SERVERPATH a partir de QSYS2.SYSTEXTSERVERS. Utilize esseSERVERPATH em vez de /QOpenSys/QIBM/ProdData/TextSearch/server1/bin.Se parar o servidor utilizando o sript de shutdown, o catálogo SERVERSTATUS não é alterado para oestado inactivo (1). Na próxima vez que os procedimentos armazenados SYSTS_CREATE,SYSTS_UPDATE e SYSTS_DROP forem chamados, ou quando uma função incorporada CONTAINSou SCORE for invocada como parte de uma consulta SQL, o servidor será iniciado automaticamente.

Referências relacionadas

“SYSPROC.SYSTS_STOP” na página 17Pode chamar o procedimento armazenado SYSPROC.SYSTS_STOP para parar funções de procura de textode DB2. Este procedimento armazenado define o valor de SERVERSTATUS no catálogoQSYS2.SYSTEXTSERVERS como 1 (parado).“Tabela de administração QSYS2.SYSTEXTSERVERS” na página 105Pode consultar a localização em que os servidores de procura de texto estão instalados utilizando a tabelade administração QSYS2.SYSTEXTSERVERS.

Guardar e restaurar índices de procura de texto

Pode guardar e restaurar os índices de procura de texto com ou sem dados.

Guardar e restaurar um índice de procura de texto sem dadosPode guardar e restaurar uma estrutura de índice de procura de texto sem os dados do índice. Oprocesso de salvaguarda e restauro pode ser executado através dos comandos CL SAVOBJ e SAVLIB.

Ao criar um índice de procura de texto através de SYSTS_CREATE, é criada uma vista de DB2, utilizandoo esquema e o nome do índice como nome da vista. A vista funciona como um mecanismo para guardare restaurar a estrutura do índice.

O utilizador pode guardar a vista utilizando os mesmos métodos utilizados para guardar tabelas e vistasde base de dados. (Consulte os comandos CL SAVOBJ ou SAVLIB.) Guardar a vista automaticamenteguarda informações adicionais necessárias para recriar o índice durante o restauro.

A vista pode ser restaurada utilizando o comando CL RSTOBJ ou RSTLIB. O DB2 for i reconhece que avista representa um índice de procura de texto e recria o índice. Após a recriação da estrutura do índice,será submetida uma actualização ao trabalho de segundo plano para que os dados do índice sejamnovamente preenchidos.

É necessário ter aspectos adicionais em consideração durante o processo de restauro:1. Se não for possível reiniciar o servidor de procura de texto, ou se um produto necessário não estiver

instalado no sistema, ocorrerá uma falha no restauro. Consulte os Requisitos de software para obteruma lista dos produtos necessários.

2. Se o índice de procura de texto existir no sistema, são executadas as seguintes acções.a. Se as informações do índice existente corresponderem exactamente ao índice que está a ser

restaurado, o restauro é executado com êxito. O índice não é recriado.b. Se as informações do índice existente não corresponderem ao índice que está a ser restaurado e

não puderem ser modificadas sem a recriação do índice, ocorrerá uma falha no restauro.c. Se as informações do índice existente não corresponderem ao índice que está a ser restaurado mas

puderem ser modificadas através SYSTS_ALTER, o índice existente é alterado de modo acorresponder ao índice que foi guardado. O índice não é recriado.

3. O índice é restaurado para utilizar o mesmo servidor de procura de texto que estava em utilização nomomento da salvaguarda. Se o servidor utilizado no momento da salvaguarda não for definido, éseleccionado um servidor disponível actualmente. Se o servidor guardado for definido mas nãoestiver disponível, ocorrerá uma falha no restauro.

66 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|||

||||

|

||||

|||

|

|

|||

|||

|||

||||

|

|||

|

||

||

|||

||||

Page 73: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

4. Se não for possível criar o índice de procura de texto por qualquer outro motivo, como, por exemplo,uma coluna incompatível na tabela de referência. ocorrerá uma falha no restauro.

5. O nome da tabela de passagem em QSYS2, os nomes de activadores adicionados à tabela de referênciae o nome da recolha no servidor de procura de texto podem sofrer alterações. Quaisquer autoridadesespeciais concedidas a estes objectos não serão mantidas.

6. Os sinónimos adicionados ao dicionário de sinónimos do índice de procura de texto não sãomantidos.

7. Se o índice existir nos catálogos do Sistema na altura do restauro e a vista não existir actualmente nosistema, apenas é restaurada a vista. A tabela de passagem, a recolha do servidor de procura de textoe os activadores na tabela de referência não são criados.Neste caso, parte-se do princípio de que o índice de procura de texto faz parte de um restauro maiorno qual os componentes individuais do índice foram explicitamente guardados pelo utilizador e estãoagora a ser todos restaurados (como, por exemplo, o restauro da totalidade do sistema).Todos os componentes necessários do índice têm de ser restaurados para que o índice funcione. É daresponsabilidade dos utilizadores assegurar que todos os componentes do índice são sincronizados.

Os índices de procura de texto são suportados pelo comando Restaurar objectos diferidos (RSTDFROBJ).A utilização do parâmetro DFRID nos comandos CL RSTOBJ e RSTLIB é recomendada. Este parâmetropermite que os índices de Procura de texto sejam restaurados através da utilização do comandoRSTDFROBJ após a correcção de condições comuns que impedem a criação do índice.

Seguem-se exemplos de condições que causam o diferimento do índice:v Um produto necessário não está instalado.v Um servidor de procura de texto não estava disponível ou definido.v A tabela de referência não existia.Referências relacionadas

“SYSPROC.SYSTS_CREATE” na página 19Pode chamar o procedimento armazenado SYSPROC.SYSTS_CREATE para criar um índice de procura detexto. Este procedimento armazenado activa uma coluna de texto para indexação de procura de texto. Oíndice de procura de texto pode, deste modo, ser utilizado em consultas SQL que contenham as funçõesCONTAINS ou SCORE.“SYSPROC.SYSTS_ALTER” na página 28Pode chamar o procedimento armazenado SYSPROC.SYSTS_ALTER para modificar atributos de umíndice criado pelo procedimento SYSPROC.SYSTS_CREATE. Apenas os atributos explicitamenteespecificados neste procedimento são alterados. Todos os restantes atributos do índice permaneceminalterados.Informações relacionadas

Guardar objecto (SAVOBJ)Guardar biblioteca (SAVLIB)Restaurar objecto (RSTOBJ)Restaurar biblioteca (RSTLIB)Restaurar objectos diferidos (RSTDFROBJ)

Guardar e restaurar um índice de procura de texto com dadosGuardar e restaurar um índice de procura de texto com dados é uma operação mais completa do quesem dados.

É necessário ter os seguintes objectos:v O índice de procura de texto (armazenado no sistema de ficheiros integrado).

OmniFind Text Search Server 67

||

|||

||

|||

|||

||

||||

|

|

|

|

|

|||||

|||||

|

|

|

|

|

|

|||

|

|

Page 74: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

v A tabela de passagem utilizada como ficheiro de registo que efectua o rastreio de alterações de registona tabela base (sobre a qual o índice é criado). A tabela de passagem encontra-se na biblioteca QSYS2.O nome começa por QDBTS; por exemplo, QDBTS00001.

v A vista, que corresponde ao objecto de base de dados que representa o índice de texto. A vista tem omesmo nome que o índice de texto.

v A tabela base sobre a qual o índice é criado.v Os catálogos de SQL que armazenam as informações para efectuar o rastreio do índice.

Execute os seguintes passos para guardar os índices de procura de texto:1. Recomendado: actualize os índices executando, primeiro, operações de actualização (SYSTS_UPDATE)

para os índices de procura de texto.2. Guarde a tabela base e a vista utilizando técnicas para guardar padrão, como o comando SAVOBJ.3. Guarde as tabelas de passagem que se encontram na biblioteca QSYS2, utilizando técnicas para

guardar padrão. Por exemplo, SAVOBJ LIB(QSYS2) OBJ(QDBTS*).4. Guarde os catálogos do índice de procura de texto na biblioteca QSYS2:

Os nomes de catálogos começam sempre por SYSTXT; por exemplo, SYSTXTSRVR. Tal como osrestantes catálogos de SQL na biblioteca QSYS2, é da responsabilidade do utilizador assegurar que éguardada uma cópia de segurança e que esta está disponível.Esta cópia de segurança pode ser executada de uma de duas formas:a. A totalidade da biblioteca pode ser guardada como parte do comando SAVLIB, especificando o

parâmetro LIB como *ALLUSR ou *IBM.b. Os catálogos de procura de texto específicos podem ser guardados utilizando o comando SAVOBJ,

especificando LIB(QSYS2) e OBJ((SYSTXT*)).5. Guarde as informações do índice de procura de texto no sistema de ficheiros integrado. Estas

informações incluem a totalidade do conteúdo do directório config sob o caminho do servidor detexto.O caminho do servidor de texto pode ser determinado consultando a coluna SERVERPATH docatálogo SYSTXTSRVR para o servidor em questão. O caminho do servidor tem o directório binanexado, que será substituído pelo directório config.Uma técnica comum para guardar consiste em utilizar o comando SAV, embora qualquer tipo decompressão de salvaguarda funcione.

Nota: Estas informações de salvaguarda são apenas aplicáveis para servidores de texto em execução noIBM i.

Exemplo:

Suponha que pretende guardar todos os índices de texto associados ao servidor de texto predefinidocriado pelo OMNIFIND. Tem uma tabela QGPL/MYDOCS com o índice de texto QGPL/MYDOCIXcriado sobre a mesma. Neste exemplo, o suporte de salvaguarda consiste em ficheiros de salvaguarda.

Execute os seguintes passos:1. Guarde todas as tabelas de passagem e os catálogos do OMNIFIND da QSYS2:

SAVOBJ OBJ(QDBTS* SYSTXT*) LIB(QSYS2) DEV(*SAVF) SAVF(QGPL/SAVFQSYS2)

2. Guarde a tabela base e a vista:SAVOBJ OBJ(MYDOCS MYDOCIX) LIB(QGPL) DEV(*SAVF) SAVF(QGPL/SAVFMYFILE)

3. Utilizando SQL, obtenha o nome de caminho do servidor de texto. Neste exemplo, serverid = 2:SELECT SERVERPATH FROM systxtsrvr WHERE serverid=2

O valor de SERVERPATH devolvido é /QOpenSys/QIBM/ProdData/TextSearch/server1/bin/.

Nota: Verifique se está a efectuar a consulta a partir do servidor correcto.

68 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|||

||

|

|

|

||

|

||

|

|||

|

||

||

|||

|||

||

||

|

|||

|

|

|

|

|

|

|

|

|

Page 75: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

4. Substitua config por bin/ e guarde os índices de procura:SAV DEV('/QSYS.LIB/QGPL.LIB/SAVIFS.FILE') OBJ(('/QOpenSys/QIBM/ProdData/TextSearch/server1/config'))

Os índices de texto estão agora guardados nos ficheiros de salvaguarda QGPL/SAVFMYFILE,QGPL/SAVFQSYS2 e QGPL/SAVIFS.

O restauro do índice de texto tem de ser efectuado na mesma que ordem que a acção de salvaguarda. Oscatálogos de QSYS2 TÊM de ser restaurados primeiro.Referências relacionadas

“SYSPROC.SYSTS_UPDATE” na página 35Pode chamar o procedimento armazenado SYSPROC.SYSTS_UPDATE para actualizar o índice de procurade texto de modo a que reflicta o conteúdo actual da coluna de texto.Informações relacionadas

Guardar objecto (SAVOBJ)Guardar biblioteca (SAVLIB)

Determinação de problemasPode utilizar as mensagens de sistema e de rastreio registadas para determinar a origem dos problemasque possam ocorrer.

O os registos de servidor do OmniFind Text Search Server for DB2 for i estão localizados no directório<INSTALL_HOME>/log. O registo de servidor predefinido criado na instalação está localizado no directório/QOpenSys/QIBM/ProdData/TextSearch/server1/log.

Por predefinição, o registo de rastreio está desactivado e o nível de registo do sistema está definido comoinformational. Pode utilizar a ferramenta de configuração para alterar as opções de nível de rastreio eregisto.

Os registos do servidor são rodados por tamanho. São armazenadas as cinco cópias mais recentes deregistos do servidor que não tenham mais de 8 MB. Pode ver e guardar os registos do servidor,utilizando o script fornecido.

No IBM i ou num servidor Linux, o script é logformatter.sh. Num servidor Windows, o script élogformatter.bat.

Opções

O script inclui as seguintes opções.

-f logfileEspecifica o ficheiro de registo do servidor que pretende formatar.

-l localeEspecifica o locale a utilizar ao escrever as mensagens reformatadas. Por exemplo, especifique en_USpara inglês ou ja_JP para japonês. Este valor é opcional. O valor predefinido é en_US.

-o outputfileEspecifica o ficheiro de saída no qual as mensagens de registo reformatadas devem ser reescritas,utilizando a codificação UTF-8. Este valor é opcional. Se não especificar esta opção, é utilizado umficheiro de saída padrão.

-? Imprime a mensagem de ajuda. Este valor é opcional.

-v Especifica o modo de apresentação de mensagens de depuração. Este valor é opcional.

OmniFind Text Search Server 69

|

||

||

||

|

|||

|

|

|

|

||

|||

|||

|||

||

|

|

||

|||

||||

||

||

Page 76: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Ver e guardar registos do servidorPode utilizar os scripts fornecidos para ver e guardar os registos do servidor. Estes registos podem ajudara determinar a origem de problemas.

Para ver e guardar um registo do servidor:1. Para ver o registo do servidor, execute um dos seguintes comandos:

Opção Descrição

No IBM i (no ambiente QSH) bin/logformatter.sh -flog/System.0.log

Num servidor Linux bin/logformatter.sh -flog/System.0.log

Num servidor Windows bin/logformatter.bat -flog/System.0.log

2. Para guardar o registo do servidor num ficheiro de modo a que possa ler o registo num editor deficheiros, execute os seguintes comandos:

Opção Descrição

No IBM i (no ambiente QSH) bin/logformatter.sh-f log/System.0.log–o <output filename>

Num servidor Linux bin/logformatter.sh-f log/System.0.log–o <output filename>

Num servidor Windows bin/logformatter.bat-f log/System.0.log–o <output filename>

Ferramentas de administração

O OMNIFIND disponibiliza ferramentas que podem ser utilizadas para tarefas comuns. Estas tarefasincluem a configuração e administração de um servidor de procura de texto adicional e a adição de umdicionário de sinónimos a uma recolha.

Estas ferramentas consistem em procedimentos base e não comandos CL. Podem ser chamadas noambiente de script que é iniciado através dos comandos CL Iniciar QSH (STRQSH) ou QSH (QSH).

Estas ferramentas não autenticam IDs de utilizador. No entanto, estas ferramentas só podem serutilizadas por um utilizador com acesso válido ao servidor de procura de texto.Informações relacionadas

Iniciar QSH (STRQSH)Iniciar QSH (QSH)

Ferramenta de configuraçãoUtilize a ferramenta de configuração para personalizar definições de configuração após a instalação doOmniFind Text Search Server for DB2 for i.

Para personalizar as definições de configuração, é necessário parar o servidor de procura de texto antesde executar a ferramenta de configuração.

No entanto, quando o servidor está em execução, pode visualizar as seguintes opções:v o sinal de autenticação actual

70 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

||

|

|

|||

|||

|||

||||

||

|||

||||

||||

|||||

|

|||

||

||

|

|

|

|||

||

|

|

Page 77: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

v a porta do servidorv as propriedades actuais do sistema

A ferramenta configServerAndDB2

A ferramenta configServerAndDB2 (configServerAndDB2.sh) está localizada no directório do sistema deficheiros integrado /QOpenSys/QIBM/ProdData/TextSearch. Esta ferramenta pode ser utilizada para criar oumodificar entradas no ficheiro de catalogação SYSTEXTSERVERS do DB2.

Pode também ser utilizada para configurar o sinal de autenticação ou o número de porta associado aoservidor específico. A ferramenta modifica ou define os valores de SERVERAUTHTOKEN eSERVERPORT no ficheiro de catalogação SYSTEXTSERVERS do DB2.

Se pretender criar um servidor adicional que seja executado localmente no sistema, utilize, em alternativa,a “Ferramenta ServerInstance” na página 81.

A ferramenta configServerAndDB2 (configServerAndDB2.sh) é chamada através de cinco parâmetros:1. O primeiro parâmetro é generateToken ou configureHTTPListener.2. O segundo parâmetro é -serverPath.3. O terceiro parâmetro corresponde ao caminho para o nó raiz no sistema de ficheiros integrado no

qual as informações relacionadas com o servidor estão estão armazenadas. Exemplo:/QOpenSys/QIBM/ProdData/TextSearch/server2.

4. O quarto e o quinto parâmetros variam consoante o valor do primeiro parâmetro.v Se o primeiro parâmetro for generateToken, o quarto parâmetro é -seed seguido de um número

inteiro (por exemplo, 1) como quinto parâmetrov Se o primeiro parâmetro for configureHTTPListener, o quarto parâmetro é -adminHTTPPort. O

quinto parâmetro é um valor inteiro utilizado como porta socket para o servidor.

Seguem-se dois exemplos:v STRQSH

cd /QOpenSys/QIBM/ProdData/TextSearchconfigServerAndDB2.sh generateToken -serverPath /QOpenSys/QIBM/ProdData/TextSearch/server2 -seed 1

v STRQSHcd /QOpenSys/QIBM/ProdData/TextSearchconfigServerAndDB2.sh configureHTTPListener -serverPath /QOpenSys/QIBM/ProdData/TextSearch/server2

-adminHTTPPort 9997

O script configTool

O script configTool.sh está disponível para cada servidor local. Não é recomendável que este script sejautilizado para modificar entradas de servidor. Pode utilizá-lo para imprimir as informações do servidor(tais como printAll e printToken).

Tabela 28. Comandos para executar a ferramenta de configuração

No IBM i:

configTool.sh<opção_comando_obrigatória><argumentos_globais_obrigatórios><argumentos_globais_opcionais><opções_comando_opcionais>

Num servidor Linux

OmniFind Text Search Server 71

|

|

|

|||

|||

||

|

|

|

|||

|

||

||

||||||||

|

|||

||

|

|||||

|

Page 78: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Tabela 28. Comandos para executar a ferramenta de configuração (continuação)

configTool.sh<opção_comando_obrigatória><argumentos_globais_obrigatórios><argumentos_globais_opcionais><opções_comando_opcionais>

Num servidor Windows

configTool.bat<opção_comando_obrigatória><argumentos_globais_obrigatórios><argumentos_globais_opcionais><opções_comando_opcionais>

Opções de comando

A ferramenta de configuração suporta as seguintes opções de comando:

configureParamsEspecifica os parâmetros do sistema que podem ser configurados. Pode configurar os seguintesparâmetros:

-configPathEspecifica o caminho absoluto para a pasta de configuração que contém o ficheiro config.xml.

-adminHTTPPortEspecifica o número da porta HTTP de administração. Se ocorrer um erro, é devolvido um códigode erro -3.

-logPathEspecifica o caminho absoluto para o directório do registo.

-temDirPathEspecifica o caminho absoluto para o directório temporário.

-numberOfIndexersEspecifica o número te subsistemas de indexação de procura de texto simultâneos.

-numberOfTokenizersEspecifica o número de subsistemas simultâneos utilizados para analisar os dados introduzidospara símbolos.

-maxDocumentSizeEspecifica o número máximo de caracteres que serão indexados para um documento. Se ocorrerum erro, é devolvido um código de erro -3.

-logLevelEspecifica o nível de registo para mensagens do sistema no ficheiro de registo. O nívelpredefinido é informational. As opções adicionais são warning e severe.

-maxHeapSizeInicia e termina o tamanho da pilha num formato aceite pela Java Virtual Machine. Se ocorrer umerro, é devolvido um código de erro -5.

printTokenImprime o sinal de autenticação actual e a chave de codificação.

printAllImprime todos os valores actuais para as opções que podem ser configuradas com esta ferramenta.

printAdminHTTPPortImprime o valor actual para a porta HTTP de administração.

72 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

|||||

|

||||||

|

|

|||

||

|||

||

||

||

|||

|||

|||

|||

||

||

||

Page 79: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

generateTokenGera o sinal de autenticação.

Argumentos globais

-configPathEspecifica o caminho absoluto para a pasta de configuração que contém o ficheiro config.xml. Esteargumento global é obrigatório.

-localeEspecifica a definição de locale de cinco caracteres para escrever mensagens no ficheiro de rastreio. Senão especificar esta definição, é utilizado o valor predefinido, -en_US.

Exemplo

Num servidor Linux, utilize o seguinte comando para imprimir o sinal de autenticação actual:configTool.sh printToken -configPath <path> <optional_global_arguments>

Informações relacionadas

Iniciar QSH (QSH)

SYSPROC.SYSTS_REMOVEPode remover índices isolados com o procedimento armazenado de SQL SYSPROC.SYSTS_REMOVE.

Autorização

O nome de recolha dos possíveis índices isolados pode ser identificado através da utilização da Funçãode tabela definida pelo utilizador (UDTF) QDBTS_LISTINXSTS.

Os privilégios detidos pelo ID de autorização da instrução têm de incluir um destes privilégios:v Autoridade *JOBCTLv Utilização de função especial de segurança QIBM_DB_SQLADM

Sintaxe

>>-SYSPROC.SYSTS_REMOVE ( nome-recolha ) -><

Parâmetro

nome-recolhaEspecifica um literal de cadeia que identifica o nome da recolha a remover.

Nota: Este procedimento utiliza o procedimento base adminTool.sh para remover o directório de recolha.Para utilizar este procedimento base, o servidor tem de estar no estado de funcionamento. Se oservidor não for iniciado, este procedimento devolve uma mensagem de erro.

SQL para SYSTS_REMOVECREATE PROCEDURE SYSPROC.SYSTS_REMOVE(

IN COLLECTIONNAME VARCHAR(255) CCSID 1208)EXTERNAL NAME QDBTSLIB.DSN5RMCOLLDYNAMIC RESULT SETS 0LANGUAGE C++PARAMETER STYLE SQLPROGRAM TYPE MAINCOMMIT ON RETURN NOINHERIT SPECIAL REGISTERS;

OmniFind Text Search Server 73

||

|

|||

|||

|

|

|

|

|

||

|

||

|

|

|

|

|

|

||

|||

|

|||||||||

Page 80: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Exemplosv Para remover um índice isolado com um nome de recolha de 0_65_2815_2008_06_02_11_58_22_901726

do grupo de ASPs *SYSBASE , introduza o seguinte comando a partir de qualquer interface de SQL:CALL SYSPROC.SYSTS_REMOVE('0_65_2815_2008_06_02_11_58_22_901726')

O procedimento armazenado SYSTS_REMOVE verifica se as informações de índice se encontram natabela de catalogação QSYS2.SYSTEXTINDEXES. Em caso afirmativo, a mensagem de erroDSX_INDEX_EXIST é devolvida. Caso contrário, o procedimento efectua uma procura no directórioconfig/collections do servidor 65.Se a recolha não existir, a mensagem de erro DSX_COLLECTION_NOT_FOUND é devolvida. Se arecolha existir, o procedimento chama adminTool.sh para remover a recolha.Em seguida, o procedimento verifica novamente o directório para verificar se a recolha foi removida.Se a recolha não tiver sido removida, é devolvida a mensagem de erroDSX_REMOVE_COLLECTION_FAILED ao utilizador.

Nota: Quando a recolha no servidor de procura de texto se encontra num grupo de ASPsindependentes, o módulo que chama o procedimento armazenado SYSTS_REMOVE tem de serexecutado no espaço de nomes do ASP independente. Utilize o comando Definir grupo deconjuntos de memória auxiliar (SETASPGRP).

v Para remover um índice isolado com um nome de recolha de 33_7_26_2008_06_18_21_28_39_407824 deum ASP independente iaspXXX, pode utilizar os seguintes comandos:CL:SETASPGRP(isapXXX)

SQL:CALL SYSPROC.SYSTS_REMOVE(' 33_7_26_2008_06_18_21_28_39_407824')

Nota: Se utilizar o System i Navigator, faça clique com o botão direito do rato na base de dados do ASPindependente e execute os scripts de SQL.

Referências relacionadas

“Tabela de administração QSYS2.SYSTEXTINDEXES” na página 102Pode consultar informações acerca de cada índice de procura de texto na tabela de administraçãoQSYS2.SYSTEXTINDEXES. Cada índice de procura de texto tem um nome, um nome de esquema e umnome de recolha associada no servidor de procura de texto.“Localizar índices isolados e em falta” na página 78Pode encontrar índices isolados e em falta utilizando uma Função de tabela definida pelo utilizador(UDTF) de SQL denominada QDBTS_LISTINXSTS.

SYSPROC.SYSTS_REPRIMEINDEXPode recriar o índice e iniciar uma actualização inicial utilizando o procedimento armazenadoSYSPROC.SYSTS_REPRIMEINDEX. Utilize este procedimento armazenado se pretender restaurar dadosda tabela base.

Se os dados da tabela base forem restaurados, o conteúdo actualizado não pode ser indexado durante achamada do procedimento armazenado SYSTS_UPDATE. Neste caso, o procedimento armazenadoSYSPROC.SYSTS_REPRIMEINDEX pode ser chamado para recriar o índice.

Nota: Se tiver sido criado um dicionário de sinónimos para o índice de procura de texto, este processoremove o dicionário.

Sintaxe>>-SYSPROC.SYSTS_REPRIMEINDEX( indexSchema, indexName, options) -><

O qualificador de esquema é SYSPROC.

74 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

||

|

||||

||

|||

||||

||

|

|

|

|

||

|

||||

|||

||||

|||

||

|

|

|

Page 81: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Parâmetros

indexSchemaIdentifica o esquema do índice de procura de texto. Se este parâmetro for nulo, é utilizado o valor doregisto especial CURRENT SCHEMA para o invocador.

O tipo de dados deste parâmetro é VARCHAR(128).

indexNameIdentifica o nome do índice de procura de texto. O nome do índice de procura de texto com oesquema de índice identifica de forma exclusiva o índice de texto integral no subsistema DB2. Tem deespecificar um valor que não seja nulo para este parâmetro.

O tipo de dados para este parâmetro é VARCHAR(128).

optionsUm cadeia de caracteres que especifica opções que podem ser adicionadas, de futuro, para esteprocedimento armazenado.

Importante: Tem de especificar um valor nulo para o parâmetro options. Caso contrário, poderão sergerados erros. Consulte o Exemplo que se segue para obter informações sobre comoespecificar o parâmetro options.

SQL para SYSTS_REPRIMEINDEXCREATE PROCEDURE SYSPROC.SYSTS_REPRIMEINDEX(

IN INDEXSCHEMA VARCHAR(128) CCSID 1208,IN INDEXNAME VARCHAR(128) CCSID 1208,IN OPTIONS VARCHAR(32000) CCSID 1208)

EXTERNAL NAME QDBTSLIB.DSN5RPMIDXDYNAMIC RESULT SETS 0LANGUAGE CPARAMETER STYLE SQLMODIFIES SQL DATAPROGRAM TYPE MAINCOMMIT ON RETURN NOINHERIT SPECIAL REGISTERS

Exemplov Para recriar um índice a partir de qualquer interface de SQL, introduza o seguinte comando numa

interface de SQL:CALL SYSPROC.SYSTS_REPRIMEINDEX('indexSchema1','indexName1','')

Referências relacionadas

“SYSPROC.SYSTS_UPDATE” na página 35Pode chamar o procedimento armazenado SYSPROC.SYSTS_UPDATE para actualizar o índice de procurade texto de modo a que reflicta o conteúdo actual da coluna de texto.

SYSPROC.SYSTS_VALIDITYCHECKPode verificar a existência de itens de índice válidos utilizando o procedimento armazenado de SQLSYSPROC.SYSTS_VALIDITYCHECK.

Sintaxe

Este procedimento armazenado pode corrigir alguns itens que não sejam válidos, caso o parâmetroautoFix seja especificado.

>>-SYSPROC.SYSTS_VALIDITYCHECK (indexSchema, indexName, autoFix) -><

O qualificador de esquema é SYSPROC.

OmniFind Text Search Server 75

|

|||

|

||||

|

|||

|||

|

||||||||||||

|

||

|

|

|||

|||

|

||

|

|

Page 82: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Parâmetros

indexSchemaIdentifica o esquema do índice de procura de texto. Se este parâmetro for nulo, é utilizado o valor doregisto especial CURRENT SCHEMA para o invocador.

O tipo de dados deste parâmetro é VARCHAR(128).

indexNameIdentifica o nome do índice de procura de texto. O nome do índice de procura de texto com oesquema de índice identifica de forma exclusiva o índice de texto integral no subsistema DB2. Tem deespecificar um valor que não seja nulo para este parâmetro.

O tipo de dados para este parâmetro é VARCHAR(128).

autoFixIdentifica se a correcção automática é necessária. O valor para este parâmetro pode ser apenas 0 ou 1.O significado destes valores é descrito em seguida:

0 Apenas é verificada a validade do índice.

1 A validade do índice é verificada e os itens não válidos são corrigidos.

Nota:

Se forem especificados valores diferentes de 0 ou 1, são considerados como 0.

O tipo de dados para este parâmetro é INTEGER.

Restrições: Se indexSchema e indexName forem ambos especificados como *NONE, o procedimentoarmazenado verifica apenas a validade de partes comuns do produto.

SQL para SYSTS_VALIDITYCHECKCREATE PROCEDURE SYSPROC.SYSTS_VALIDITYCHECK

(IN INDEXSCHEMA VARCHAR(128) CCSID 1208,IN INDEXNAME VARCHAR(128) CCSID 1208,IN AUTOFIX INTEGER)

EXTERNAL NAME QDBTSLIB.DSN5VALCHKDYNAMIC RESULT SETS 0LANGUAGE CPARAMETER STYLE SQLMODIFIES SQL DATAPROGRAM TYPE MAINCOMMIT ON RETURN NOINHERIT SPECIAL REGISTERS

Exemplosv Para verificar a validade de um índice, introduza o seguinte comando numa interface de SQL:

CALL SYSPROC.SYSTS_VALIDITYCHECK('indexSchema1','indexName1',0)

v Para verificar e corrigir um índice automaticamente:CALL SYSPROC.SYSTS_VALIDITYCHECK('indexSchema1','indexName1',1)

Dicionário de sinónimosUm dicionário de sinónimos pode melhorar a qualidade dos resultados da procura.

Pode adicionar um dicionário de sinónimos a uma recolha em qualquer altura.

76 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

|||

|

||||

|

|||

||

||

|

|

|

||

|

||||||||||||

|

|

|

|

|

||

|

Page 83: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Um dicionário de sinónimos é constituído por grupos de sinónimos definidos num ficheiro XML. Porexemplo:<?xml version="1.0" encoding="UTF-8"?><synonymgroups version="1.0"><synonymgroup>

<synonym>Paixão</synonym><synonym>amor</synonym><synonym>flor</synonym><synonym>linda</synonym>

</synonymgroup><synonymgroup>

<synonym>worldwide patent tracking system</synonym><synonym>wpts</synonym>

</synonymgroup></synonymgroups>

Adicionar um dicionário de sinónimos a uma recolha:

Utilize a ferramenta de sinónimos para adicionar um dicionário de sinónimos a uma recolha específica.

A especificação dos grupos de sinónimos num dicionário de sinónimos melhora a qualidade dosresultados da procura de texto. O administrador do OMNIFIND dispõe da autoridade e privilégioscorrectos para executar a ferramenta de sinónimos.

Para adicionar um dicionário de sinónimos a uma recolha, execute os seguintes passos:1. Crie um ficheiro XML de sinónimos especificando os grupos de sinónimos, tal como apresentado no

seguinte exemplo:<?xml version="1.0" encoding="UTF-8"?><synonymgroups version="1.0"><synonymgroup>

<synonym>Paixão</synonym><synonym>amor</synonym><synonym>flor</synonym><synonym>linda</synonym>

</synonymgroup><synonymgroup>

<synonym>worldwide patent tracking system</synonym><synonym>wpts</synonym>

</synonymgroup></synonymgroups>

2. Copie o ficheiro XML de sinónimos para qualquer directório no servidor de procura de texto.3. Utilize a ferramenta de sinónimos para adicionar o dicionário de sinónimos a uma recolha.

Pode adicionar um dicionário de sinónimos no modo append ou no modo replace. Se adicionar umdicionário de sinónimos no modo append, os novos sinónimos são adicionados ao dicionário desinónimos existente. Se adicionar um dicionário de sinónimos no modo replace, os sinónimosexistentes são substituídos pelos novos sinónimos definidos para o índice de procura de texto.

Opção Descrição

No IBM i, introduza o seguinte comando (na interfacede QSH):

synonymTool.sh importSynonym-synonymFile <absolute path to synonymXML file>-collectionName <collection name>-replace <[true|false]>-configPath <absolute path toconfiguration folder>

OmniFind Text Search Server 77

||

|||||||||||||

|

|

|||

|

||

|||||||||||||

|

|

||||

|||

|||||||||

Page 84: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Opção Descrição

Num servidor Linux, introduza o seguinte comando: synonymTool.sh importSynonym-synonymFile <absolute path to synonymXML file>-collectionName <collection name>-replace <[true|false]>-configPath <absolute path toconfiguration folder>

Num servidor Windows, introduza o seguinte comando: synonymTool.bat importSynonym-synonymFile <absolute path to synonymXML file>-collectionName <collection name>-replace <[true|false]>-configPath <absolute path toconfiguration folder>

Se o formato do ficheiro XML não for válido ou se o ficheiro XML estiver vazio, é devolvido umcódigo de erro.

Remover um dicionário de sinónimos de uma recolha:

Utilize o script fornecido para remover um dicionário de sinónimos de uma recolha.

O administrador do OMNIFIND tem de obter o nome da recolha da qual pretende remover o dicionáriode sinónimos.

Execute o script para remover o dicionário de sinónimos de uma recolha.

Opção Descrição

No IBM i, introduza o seguinte comando (na interfacede QSH):

removeSynonym.sh-collectionName <collection name>-configPath <absolute path toconfiguration folder>

Num servidor Linux, introduza o seguinte comando: removeSynonym.sh-collectionName <collection name>-configPath <absolute path toconfiguration folder>

Num servidor Windows, introduza o seguinte comando: removeSynonym.bat-collectionName <collection name>-configPath <absolute path toconfiguration folder>

Se uma base de dados tiver vários índices de procura de texto, terá de concluir esta tarefa para cada umadas recolhas correspondentes.

Localizar índices isolados e em falta

Pode encontrar índices isolados e em falta utilizando uma Função de tabela definida pelo utilizador(UDTF) de SQL denominada QDBTS_LISTINXSTS.

Um índice pode ser isolado se um procedimento armazenado SYSTS_DROP for chamado e o servidor forparado durante a execução do procedimento.

A função QDBTS_LISTINXSTS combina todos os conjuntos de sistema de ficheiros integrado e índices decatalogação do espaço de nomes actual numa única tabela. A função decide qual o conjunto de memóriaauxiliar (ASP) independente ou *SYSBASE definido. Em seguida, pesquisa o directório de recolha de cadaservidor no ASP independente ou no *SYSBASE.

78 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

||

||||||||

|||||||||||

|

|

||

|

|||

||||||

|||||

||||||

||

|

||

||

||||

Page 85: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Para o *SYSBASE, são verificados todos os directórios de servidor em /QOpenSys/QIBM/ProdData/TextSearch. Para ASPs independentes, são verificados todos os directórios de servidor em /the ASPnumber/QOpenSys/QIBM/ProdData/TextSearch. Por exemplo, se o número do ASP independente for 67,todos os directórios de servidor em /67/QOpenSys/QIBM/ProdData/TextSearch serão verificados.

Para informações de índice de catalogação, são obtidos dados a partir da tabela de catalogaçãoQSYS2.SYSTEXTINDEXES. Se pretender verificar servidores num ASP independente, emita o comandoDefinir grupo de conjuntos de memória auxiliar (SETASPGRP) antes de chamar esta função.

Se pretender remover possíveis índices isolados do sistema de ficheiros integrado após a respectivaidentificação, utilize o procedimento armazenado SYSPROC.SYSTS_REMOVE ou a “Administraçãoavançada” na página 80 (adminTool.sh).

Termos

Índice isoladoExiste uma recolha (um índice) no directório do sistema de ficheiros integrado do servidor, masnão está registado nenhum índice correspondente no catálogo QSYS2.SYSTEXTINDEXES.

Índice em faltaExistem registos de índice no catálogo QSYS2.SYSTEXTINDEXES, mas o directório de recolhacorrespondente não existe.

Sintaxe

>>-QDBTS_LISTINXSTS(--null--)---><

Formato de retorno

A função QDBTS_LISTINXSTS devolve informações de índices detectados numa tabela. Consulte oseguinte comando SQL, que é utilizado para criar a UDTF.

SQL para LISTINXSTS UDTFCREATE FUNCTION QDBTSLIB.QDBTS_LISTINXSTS()

RETURNS TABLE(COLLECTIONNAME VARCHAR(255),INDEXID INTEGER,INDEXSCHEMA VARCHAR(128),INDEXNAME VARCHAR(128),SERVERID INTEGER)

SPECIFIC qdbts_listinxstsSCRATCHPADNO FINAL CALLLANGUAGE C++PARAMETER STYLE DB2SQLEXTERNAL NAME 'QDBTSLIB/QDBTSSP(checkIndex)';

Exemplosv Detectar todos os índices isolados:

SELECT COLLECTIONNAME, SERVERIDFROM TABLE(QDBTSLIB.QDBTS_LISTINXSTS()) AS TWHERE T.INDEXSCHEMA IS NULL AND T.INDEXNAME IS NULL

v Detectar todos os índices em falta:SELECT INDEXSCHEMA, INDEXNAME

FROM TABLE(QDBTSLIB. QDBTS_LISTINXSTS()) AS TWHERE T.COLLECTIONNAME is NULL

v Detectar índices isolados no serverid = 2 no ASP independente iaspXXX:CONNECT TO iaspXXXSQL:

OmniFind Text Search Server 79

||||

|||

|||

|

|||

|||

|

|

|

||

|

||||||||||||

|

|

|||

|

|||

|

|

|

Page 86: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

SELECT T.COLLECTIONNAME, S.SERVERPATHFROM TABLE(QDBTSLIB.QDBTS_LISTINXSTS())

AS T LEFT OUTER JOIN QSYS2.SYSTEXTSERVERS S ON (T.SERVERID = S.SERVERID)WHERE T.INDEXSCHMEA IS NULL AND T.INDEXNAME IS NULL AND T.SERVERID = 2

Referências relacionadas

“SYSPROC.SYSTS_DROP” na página 33Pode chamar o procedimento armazenado SYSPROC.SYSTS_DROP para desactivar um índice de procurade texto definido através da utilização do procedimento armazenado SYSPROC.SYSTS_CREATE.“SYSPROC.SYSTS_REMOVE” na página 73Pode remover índices isolados com o procedimento armazenado de SQL SYSPROC.SYSTS_REMOVE.“Tabela de administração QSYS2.SYSTEXTINDEXES” na página 102Pode consultar informações acerca de cada índice de procura de texto na tabela de administraçãoQSYS2.SYSTEXTINDEXES. Cada índice de procura de texto tem um nome, um nome de esquema e umnome de recolha associada no servidor de procura de texto.

Administração avançadaPode utilizar a ferramenta de administração para administração avançada.

O OmniFind Text Search Server for DB2 for i pode estar em execução ao utilizar a ferramenta deadministração.

Pode utilizar a ferramenta de administração para executar as seguintes tarefas:v Verificar o estado de recolhas, como, por exemplo, saber quantos documentos existemv Eliminar recolhas isoladasv Reportar a versão do servidorv Reportar todas as recolhas existentes no servidor de procura de texto

Comandos

O comando emitido para executar a ferramenta de administração depende do sistema operativo em que oservidor de procura de texto está instalado. O comando depende também da tarefa que pretendeexecutar.

Tabela 29. Comandos para verificar o estado de recolhas e eliminar recolhas isoladas

No IBM i (na interface de QSH) Num servidor Linux Num servidor Windows

adminTool.sh -[delete|status]–collectionName <collection name>-configPath <absolute path toconfiguration folder>

adminTool.sh -[delete|status]–collectionName <collection name>-configPath <absolute path toconfiguration folder>

adminTool.bat -[delete|status]–collectionName <collection name>-configPath <absolute path toconfiguration folder>

Tabela 30. Comandos para apresentar a versão do servidor e reportar todas as recolhas

No IBM i (na interface de QSH) Num servidor Linux Num servidor Windows

adminTool.sh -[version]-configPath <absolute path toconfiguration folder>

adminTool.sh -[version|reportAll]-configPath <absolute path toconfiguration folder>

adminTool.bat -[version|reportAll]-configPath <absolute path toconfiguration folder>

Opções

estadoVerifica o estado da recolha.

deleteEspecifica que pretende eliminar a recolha isolada.

80 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

||||

|

|||

||

||||

||

||

|

|

|

|

|

|

|||

||

|||

||||

||||

|||||

||

|||

|||

|||

||||

|

||

||

Page 87: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

versionApresenta a versão do servidor.

reportAllReporta todas as recolhas existentes no servidor de procura de texto.

Exemplo

Para saber qual a versão do servidor, introduza o seguinte comando num servidor Linux:adminTool.sh –version -s <absolute path to server config.xml>

Ao utilizar um servidor Windows, é fornecido um script .bat correspondente.

Ferramenta ServerInstancePode utilizar a ferramenta ServerInstance para criar ou eliminar servidores no *SYSBASE ou numconjunto de memória auxiliar independente (ASP). Pode também utilizar a ferramenta ServerInstancepara ligar ficheiros de um servidor ao servidor no qual o OmniFind Text Search Server for DB2 for i estáinstalado.

Por predefinição, o OmniFind Text Search Server for DB2 for i é instalado no directório/QOpenSys/QIBM/ProdData/TextSearch/server1.

Pode utilizar a ferramenta ServerInstance para concluir as seguintes tarefas, antes de a utilizar para pararo servidor1 no *SYSBASE:v Crie um servidor no *SYSBASE ou em ASPs independentesv Elimine o servidor no *SYSBASE ou em ASPs independentesv Ligue ficheiros de um servidor ao servidor1

SintaxeServerInstance.sh –[create|delete|relink]–servernum <número do servidor>(-port <porta>)(-device <nome do dispositivo>)

Opções de comando

createCria um servidor.

deleteElimina um servidor.

relinkLiga ficheiros de um servidor ao servidor1.

Nota: Esta opção não é necessária após a instalação da correcção temporária de programa (PTF)SI31548 no sistema. Se tiver esta PFT instalada, o sistema processa automaticamente a operaçãode ligação.

Parâmetros

servernumEspecifica o número do servidor. Por exemplo, quando um servidor com o número de servidor 3 écriado, o directório do servidor é /QOpenSys/QIBM/ProdData/TextSearch/server3.

portEspecifica a porta do servidor. Este parâmetro é apenas necessário ao criar um servidor.

OmniFind Text Search Server 81

||

||

|

|

|

|

|

||||

||

||

|

|

|

|

||||

|

||

||

||

|||

|

|||

||

Page 88: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

deviceEspecifica o nome do ASP independente. Este parâmetro é apenas necessário quando a operação éconcluída no ASP independente.

Exemplosv Para criar um servidor com o número de servidor 2 e o número de porta 50000 no *SYSBASE:

ServerInstance.sh -create -servernum 2 -port 50000

v Para criar um servidor com o número de servidor 3 e o número de porta 50001 no ASP independenteiasp1:ServerInstance.sh -create -servernum 3 -port 50001 -device iasp1

v Para eliminar um servidor com o número de servidor 2 no *SYSBASE:ServerInstance.sh -delete -servernum 2

v Para eliminar um servidor com o número de servidor 3 no ASP independente iasp1:ServerInstance.sh -delete -servernum 3 -device iasp1

v Para ligar ficheiros de um servidor ao servidor número 2 no *SYSBASE:ServerInstance.sh -relink -servernum 2

v Para ligar ficheiros de um servidor ao servidor número 3 no ASP independente iasp1:ServerInstance.sh -relink -servernum 3 -device iasp1

Considerações de ASP independente para o OmniFind Text SearchServer for DB2 for i

Pode administrar um índice de procura de texto num conjunto de memória auxiliar (ASP) independente.O ASP pode ser alternado entre vários sistemas, pelo que existem considerações adicionais.

É criado um servidor de procura de texto local durante a instalação do OMNIFIND. Para ASPsindependentes, um servidor de texto local é criado por um administrador, utilizando a ferramentaServerInstance (ServerInstance.sh) após a criação do grupo de ASPs independentes.

Após a criação de um servidor de procura de texto local no ASP independente, os dados de índiceexistem no sistema de ficheiros do ASP independente. Os dados estão disponíveis se o ASP for alternadopara um sistema diferente. O administrador tem apenas de criar um servidor de procura de texto localuma vez para cada grupo de ASPs independentes.

Os índices de procura de texto que se encontrem no ASP independente têm de estar contidos emservidores de procura de texto que tenham sido definidos no ASP independente. Não é possívelvisualizar um servidor de procura de texto definido num grupo de ASPs independentes diferente ou noASP do sistema quando o trabalho está ligado ao ASP independente.

Para criar um servidor de procura de texto num ASP independente denominado myiasp, execute osseguintes passos:1. Active o ASP independente com o comando CL Trabalhar com Estado da Configuração

(WRKCFGSTS) ou utilizando o System i Navigator.2. Estabeleça ligação ao espaço de nomes do grupo de ASPs independentes, utilizando o comando CL

Definir Grupo de Conjuntos de Memória Auxiliar (SETASPGRP).3. Utilize o script ServerInstance.sh para criar um servidor de procura de texto.

Segue-se um comando QSH exemplo a utilizar:/QOpenSys/QIBM/ProdData/TextSearch/ServerInstance.sh -create-servernum 2 -port nnnnn -device myiasp

82 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|||

|

|

|

||

|

|

|

|

|

|

|

|

|

|

|

||

|||

||||

||||

||

||

||

|

|

||

Page 89: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

No comando, nnnnn corresponde a um número de porta disponível para o servidor a utilizar. Estenúmero de porta tem de estar disponível para utilização em todos os sistemas para os quais o ASPindependente pode ser mudado.

Após a definição de um servidor de procura de texto para o grupo de ASPs independentes, osprocedimentos armazenados administrativos podem ser utilizados para iniciar e parar o servidor deprocura de texto. Os procedimentos armazenados podem também ser utilizados para criar, desactivar eactualizar índices de procura de texto.

Nota: As entradas do programador de trabalhos são adicionadas quando o ASP independente é activadopara quaisquer índices com actualizações agendadas existentes no ASP independente. As entradasdo programador de trabalhos permitem que as actualizações agendadas prossigam, mesmo quandoo ASP independente é alternado entre sistemas.

Restrições à utilização de índices de procura de texto e ASPs independentesv Todos os sistemas entre os quais o ASP independente pode ser alternado têm de ter o OmniFind Text

Search Server for DB2 for i instalado e dispor dos mesmos níveis de correcção temporária de programa(PTF).

v Não crie índices de procura de texto num ASP diferente do índice sobre o qual o índice de tabelas écriado.

v Os catálogos de sistema SYSTEXTSERVERS, SYSTEXTINDEXES, SYSTEXTDEFAULTS,SYSTEXTCOLUMNS e SYSTEXTCONFIGURATION não contêm registos para índices e servidoresdefinidos num grupo de ASPs diferente, incluindo o ASP do sistema. Os catálogos contêm linhas paraíndices e servidores definidos para o grupo de ASPs independentes ao qual o trabalho está ligado.

v Os procedimentos armazenados administrativos podem ser utilizados para executar funções apenas emservidores e índices de procura de texto definidos no grupo de ASPs independentes ao qual o trabalhoestá ligado.

Nota: Pode utilizar as instruções SQL CONTAINS e SCORE quando um trabalho está ligado a um grupode ASPs independentes, mesmo que a coluna seja baseada numa tabela existente no ASP dosistema.

Alta disponibilidadePode implementar uma solução de alta disponibilidade que inclua índices de procura de texto, utilizandoAPIs e comandos existentes. Actualmente, o DB2 for IBM i reconhece índices de procura de texto eexecuta acções especiais durante operações de DB2 que afectem estes índices.

Considerações especiais para índices de procura de texto, alta disponibilidade e administração debases de dados

v Um comando de eliminação de ficheiro (comando CL DLTF) ou uma instrução SQL DROP VIEW SQLna vista que representa o índice de procura de texto resulta na desactivação do índice de procura detexto. A desactivação falha se for executada sob controlo de consolidações.

v O restauro de uma tabela ou ficheiro físico guardado com um índice de procura de texto sobre umacoluna não acciona os activadores criados para o índice de procura de texto antes da salvaguarda. Se oíndice de procura de texto for restaurado ou criado posteriormente, são adicionados activadores comoparte da criação do índice. Este método permite que as aplicações funcionem, mesmo que o índice deprocura de texto originalmente criado sobre a tabela não seja restaurado ou criado.

Reproduzir entradas de diário para procedimentos armazenados administrativos do OmniFind

v Uma reprodução da entrada de diário (API QDBRPLAY) para a criação da vista que representa o índicede procura de texto resulta na criação do índice de procura de texto.

v A adição e remoção dos activadores na tabela de referência durante as chamadas de procedimentoSYSTS_CREATE ou SYSTS_DROP não causa o registo das entradas de diário.

OmniFind Text Search Server 83

|||

||||

||||

|

|||

||

||||

|||

|||

|

|||

||

|||

|||||

|

||

||

Page 90: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

v Uma chamada do procedimento armazenado SYSTS_UPDATE ou SYSTS_REPRIMEINDEX resulta noregisto de uma entrada de diário na vista do índice de procura de texto. Uma reprodução destaentrada de diário utilizando a API QDBRPLAY resulta na reprodução da chamada de procedimentocorrecta.

v As actualizações agendadas automaticamente NÃO resultam em entradas de diário para o índice e nãopodem ser reproduzidas.

v Uma chamada de SYSTS_ALTER resulta numa alteração de entrada de diário na vista. Umareprodução da entrada de diário utilizando a API QDBRPLAY causa a reprodução da chamadaSYSTS_ALTER.

Recomendações de alta disponibilidade

Se pretender implementar uma solução de alta disponibilidade, tenha em consideração as seguintesrecomendações:v Após a criação do índice de procura de texto no sistema principal, a API QDBRPLAY pode ser

utilizada para reproduzir a criação no sistema de reserva.v O sistema de reserva contém agora um índice duplicado, com actualizações agendadas que ocorrem

com a mesma frequência que no sistema principal.v À medida que as alterações de registo são reproduzidas na tabela de referência dos sistemas de

segurança, são registadas na tabela de passagem do sistema de reserva.v As chamadas de SYSTS_UPDATE, SYSTS_REPRIMEINDEX e SYSTS_ALTER no sistema principal

resultam em entradas de diário que podem ser reproduzidas no sistema de reserva.v NÃO é necessário que os clientes registem em diário e repliquem os ficheiros IFS para os índices da

Procura de texto.v É necessário garantir que os activadores adicionados como parte do procedimento SYSTS_CREATE são

activados para registar alterações à tabela de referência. Estes activadores podem ser identificadosatravés da utilização do prefixo especial "QDBTS" no nome do activador.

Comando CL Aplicar alterações de diário (APYJRNCHG)

O comando CL Aplicar alterações de diário (APYJRNCHG) pode ser utilizado para reproduzir eventos doOmniFind. Os utilizadores que pretendam utilizar este comando, têm de considerar atentamente a ordemna qual as entradas de diário são reproduzidas. A tabela de passagem no QSYS2 tem de ser exactamentesincronizada com a tabela de referência na altura em que um procedimento SYSTS_UPDATE éreproduzido ou invocado.

As alterações de registo aplicadas à tabela de referência NÃO são registadas na tabela de passagemdurante o processo APYJRNCHG. Em alguns casos, poderá ser necessário chamar o procedimentoarmazenado SYSTS_REPRIMEINDEX para reconstruir o índice após a utilização deste comando.Referências relacionadas

“SYSPROC.SYSTS_REPRIMEINDEX” na página 74Pode recriar o índice e iniciar uma actualização inicial utilizando o procedimento armazenadoSYSPROC.SYSTS_REPRIMEINDEX. Utilize este procedimento armazenado se pretender restaurar dadosda tabela base.

Análise do desempenhoA análise do desempenho do OMNIFIND inclui a selecção da definição de índice correcta, oprocessamento eficiente de documentos e a especificação de uma procura selectiva.

84 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

||||

||

|||

|

||

||

||

||

||

||

|||

|

|||||

|||

|

||||

|

||

Page 91: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Segundo plano

O processamento do OmniFind é uma combinação de trabalho num trabalho de ‘cliente' front end e detrabalho num trabalho de ‘servidor' backend, com a ocorrência de comunicação entre estes trabalhos. Acomunicação é executada utilizando ligações de socket padrão.

O trabalho de cliente efectua o registo a partir da tabela de base de dados apropriada durante a criação emanutenção de índices. O trabalho processa o registo de alterações à tabela, envia documentos paraindexação e análise e processa quaisquer pedidos de procura de texto, utilizando as funções SQLCONTAINS ou SCORE. É no trabalho de cliente que o procedimento, por exemplo, SYSTS_CREATE ouSYSTS_UPDATE, ou a consulta com CONTAINS ou SCORE, é executado. O desempenho do trabalho decliente está dependente do rápido processamento de acções de base de dados e da obtenção e transporteeficientes de documentos de texto para o trabalho do servidor.

O trabalho do servidor analisa documentos enviados pelo trabalho do cliente, actualize o índice de textoassociado com inserções e eliminações e processa pedidos de procura no índice. O desempenho dotrabalho do servidor está dependente da respectiva capacidade de comunicação com os trabalhos docliente do processamento eficiente de documentos. Normalmente, existe um único trabalho de servidordedicado a vários trabalhos de cliente. Consequentemente, o trabalho de servidor é um trabalhomulti-módulos para que possa processar vários clientes.

Um índice de texto não é imediatamente actualizado com quaisquer alterações à tabela de base de dadossubjacente. Em alternativa, quaisquer alterações de registo à tabela são registadas através de umacombinação de um activador de base de dados e uma tabela de passagem. A tabela de passagem regista otipo de actualização (inserção, actualização ou eliminação) juntamente com uma indicação de qual oregisto na tabela de base de dados que foi alterado. O texto não é captado no registo, sendo apenascaptadas informações que identificam o registo que foi alterado.

As alterações de registo de tabela só serão reflectidas no índice de texto e , consequentemente, emprocuras com CONTAINS ou SCORE, após o procedimento SYSTS_UPDATE seguinte com êxito.

As actualizações subsequentes a um índice de texto após a actualização inicial são denominadasactualizações incrementais. Estas actualizações adicionam ou eliminam documentos no índice de texto,com base em quaisquer alterações de registo à tabela subjacente desde a última actualização.

Todas as alterações efectuadas na tabela base são registadas numa tabela de passagem. Numaactualização incremental, a tabela de passagem é utilizada para determinar quais os registo na tabela baseque foram alterados. Esses registos são, posteriormente, lidos a partir da tabela base e o respectivoconteúdo é reflectido no índice.

A actualização inicial é um processo mais eficiente, por linha, do que a actualização incremental. A tabelabase é processada sem que seja necessário processar também a tabela de passagem. Por conseguinte, umaboa técnica de desempenho consiste em executar a actualização inicial no índice de texto após a tabelasubjacente ter sido inicialmente preenchida. Esta técnica minimiza o tempo de preenchimento dosdocumentos no índice.

Uma opção de configuração importante relacionada com o desempenho é UPDATEAUTOCOMMIT. Estevalor define a frequência com que o trabalho do cliente de base de dados interrompe o processamento dedocumentos. O cliente aguarda que o trabalho de servidor confirme que processou todos os documentosactualmente enviados para o mesmo. A opção UPDATEAUTOCOMMIT é utilizada como um método deponto de controlo para permitir que a base de dados defina fronteiras de trabalho concluído.

Se a actualização do índice for interrompida e retomada posteriormente, o processo é reiniciado nafronteira de ponto de controlo. Tal como ocorre com qualquer interrupção, uma fronteira de ponto de

OmniFind Text Search Server 85

|

|||

|||||||

||||||

||||||

||

|||

||||

|||||

|||||

||

Page 92: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

controlo faz com que o fluxo de documentos seja suspenso e que todos os documentos na ligação directaentre o cliente e o servidor sejam apagados. Este processo de início e paragem pode ter efeitos negativosconsideráveis no desempenho.

O valor predefinido para UPDATEAUTOCOMMIT é 100, que proporciona pontos de controlo frequentes.A definição de um valor superior resulta, normalmente, num melhor desempenho de tempo de respostapara chamadas de SYSTS_UPDATE. No entanto, quanto maior for o valor, maior será o tempo derecuperação, caso a actualização seja cancelada e reiniciada.

A definição de UPDATEAUTOCOMMIT como um número maior (ou zero, que significa que não ocorreránenhum ponto de controlo) faculta o melhor desempenho de tempo de resposta. No entanto, se aactualização inicial for cancelada, o OmniFind terá de recomeçar desde o início da criação do índice, umavez que não existem pontos de controlo.

Para alguns clientes, a definição de um valor entre 5000 e 20000 parece proporcionar um equilíbriorazoável entre desempenho e capacidade de recuperação de pontos de controlo.

Seleccionar a definição de índice correcta

Um índice de texto pode ser especificado com um de quatro tipos de configuração de FORMATO: TEXT,HTML, XML e INSO.1. Normalmente, TEXT é o formato mais eficiente. O texto é lido a partir do registo da base de dados e

enviado para o servidor de texto, que o processa directamente.2. O HTML é utilizado quando se sabe que os documentos estão no formato HTML (HyperText Markup

Language). O texto é processado tendo em consideração que os valores de controlo de marcaçãodeverão ser ignorados no documento.

3. O XML é utilizado quando se sabe que os documentos estão no formato XML (eXtensible MarkupLanguage). É efectuada uma consideração especial do conteúdo do documento, com rastreio deelementos, atributos e a hierarquia no documento. Marcar um índice como XML permite efectuarprocuras de XML com a linguagem de procura xmlxp (xpath) nas funções CONTAINS e SCORE.

4. O INSO é utilizado quando o documento tem de ser processado de forma inversa (INSide Out). Nesteformato, parte-se do princípio que o conteúdo de cada documento é mais do que texto simples. Cadadocumento é pré-analisado para determinar o respectivo tipo de documento. Os documentos INSOsão, normalmente, documentos de processamento de rich text gerados por programas deprocessamento de texto.

Numa perspectiva de desempenho, o esforço de indexação de um documento aumenta à medida quemuda do formato TEXT para o formato INSO. Embora o formato INSO processe texto simples, é maisexigente do que o formato TEXT, uma vez que ocorre interpretação. Utilize o formato TEXT quando odocumento é de texto simples na coluna de base de dados.

A opção de configuração LANGUAGE não é rigorosamente necessária, uma vez que o OmniFinddetermina o idioma do documento com base na examinação. No entanto, se o idioma do documento forconhecido, a sua especificação na opção LANGUAGE pode acelerar o desempenho. Esta opção limite aquantidade de interpretação necessária.

Processar documentos de forma eficiente

Os trabalhos de cliente e servidor comunicam as informações do documento através de UTF (UnicodeTransformation Format). Para colocar o documento neste formato, o cliente lê o documento a partir dabase de dados, convertendo os dados resultantes em UTF-8, também designado por CCSID 1208. Todo otexto é convertido em UTF-8 antes de ser enviado para o servidor.

Para melhorar o desempenho, defina a coluna de texto a indexar como CCSID 1208 de modo a evitar estaconversão e melhorar a eficiência do processo de análise do documento.

86 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|||

||||

||||

||

|

||

||

|||

||||

|||||

||||

||||

|

||||

||

Page 93: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Especificar uma procura selectiva

As procuras de texto são efectuadas utilizando as funções CONTAINS ou SCORE numa instrução deconsulta SQL. Estas procuras comparam os critérios de procura da função com os documentos associadosà coluna que está a ser procurada. Os registos correspondentes são identificados e seleccionados. Otrabalho do cliente envia o pedido de procura para o servidor e recebe a resposta com a indicação se foiou não encontrada uma correspondência.

Tal como ocorre com todos os critérios de procura, quanto mais selectiva for a procura, mais eficienteserá. A procura por expressões comuns, como ‘the' em inglês, resulta em inúmeras correspondências epode afectar negativamente o desempenho. Em termos práticos, é pouco provável que uma pesquisadeste tipo faculte informações úteis. A especificação de expressões de procura mais selectivas resulta emmenos correspondências, com maior significado.

Ao utilizar CONTAINS na cláusula WHERE de uma instrução SQL, a função tem, normalmente, umdesempenho melhor se for adicionada (função AND) a outros critérios. Por exemplo:SELECT bn, pubdate, descriptionFROM myBooksWHERE CONTAINS(description,'Alladin') = 1AND Pubdate > '2004-01-01'

Utilizar CONTAINS e SCORE

O optimizador pode melhorar o desempenho das funções CONTAINS e SCORE, combinando esubstituindo internamente estas funções incorporadas por uma função de tabela definida pelo utilizador(UDTF). A UDTF devolve uma lista de documentos correspondentes num resultado. Em muitos casos,este processamento UDTF tem um desempenho superior ao processo alternativo de invocação da funçãoincorporada para cada registo de modo a determinar uma correspondência.

Para permitir que o optimizador execute a reescrita da UDTF, a função CONTAINS tem de:v estar localizada na cláusula WHERE da instrução SQLv ser passível de isolamento (AND) relativamente a todos os restantes predicados na cláusula WHEREv ser comparável ao valor 1.

Por exemplo, a cláusula:WHERE CONTAINS(MyDocuments, 'java performance') = 1

pode ser reescrita pelo optimizador no formato UDTF. No entanto, a cláusula:WHERE CONTAINS(MyDocuments, 'java performance') = 1 OR price >100

não pode ser reescrita devido ao facto de CONTAINS ser exclusiva (OR) relativamente aos restantespredicados.

Nota: Quando uma reescrita de UDTF é activada, o optimizador continua a utilizar a comparação decusto para seleccionar o plano ideal.

OmniFind Text Search Server 87

|

|||||

|||||

||

||||

|

|||||

|

|

|

|

|

|

|

|

||

||

Page 94: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Referências relacionadas

“CONTAINS” na página 38Pode utilizar a função CONTAINS para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve um resultado que indica se foi encontradauma correspondência.“SCORE” na página 40Pode utilizar a função SCORE para procurar um índice de procura de texto, utilizando critériosespecificados num argumento de procura. A função devolve uma classificação de relevância que avalia onível de correspondência de uma documento relativamente à consulta.“SYSPROC.SYSTS_UPDATE” na página 35Pode chamar o procedimento armazenado SYSPROC.SYSTS_UPDATE para actualizar o índice de procurade texto de modo a que reflicta o conteúdo actual da coluna de texto.“SYSPROC.SYSTS_CREATE” na página 19Pode chamar o procedimento armazenado SYSPROC.SYSTS_CREATE para criar um índice de procura detexto. Este procedimento armazenado activa uma coluna de texto para indexação de procura de texto. Oíndice de procura de texto pode, deste modo, ser utilizado em consultas SQL que contenham as funçõesCONTAINS ou SCORE.

Considerações sobre transacçõesTenha em consideração o ambiente ao decidir a frequência com que os índices de texto devem seractualizados a partir dos dados subjacentes nas tabelas de base de dados.

Um dos aspectos mais importantes que os utilizadores tradicionais de bases de dados têm de ter emconsideração é o conceito de limites de transacções e processamento de transacções. Um exemplo clássicoé uma transacção bancária na qual o dinheiro é transferido de uma conta para outra. A transferência éconsiderada como uma única transacção; ou a transferência ocorre ou não ocorre. O cliente não gostariade ver o dinheiro ser removido de uma conta e não ser depositado na outra conta até algum tempodepois. Por outro lado, o banco não quereria que o dinheiro aparecesse nas duas contas durante algumtempo até que a transacção esteja concluída. A ideia é que, caso seja efectuada uma alteração, esta sejaimediatamente reflectida.

Existem vários exemplos na gestão de informações nos quais os atrasos são mais aceitáveis e atéesperados. Numa concepção de armazém de dados tradicional, o conteúdo do armazém de dados retarda,frequentemente, os dados operacionais durante várias horas. Esta aceitação de demora baseia-se numacombinação de expectativas realistas de um armazém de dados e a necessidade de dispor de dadosprevisíveis e coerentes.

As procuras de texto não estruturadas encontram-se algures entre estes dois limites. Em termos práticos,a indexação de documentos de texto é um processo interactivo para analisar e decompor o significadosubjacente das palavras no documento. As procuras de texto permitem que uma procura por ‘ratos'encontre documentos com a palavra ‘rato'. Este resultado de procura ocorre devido à capacidade datécnica de indexação de decompor palavras nos respectivos significados subjacentes. Esta análise éefectuada quando o documento é indexado de modo a efectuar procuras subsequentes o maisrapidamente possível.

Os utilizadores de um índice de base de dados tradicional esperam que o índice reflicta o estado dosdados na tabela de base de dados. Esta expectativa não é válida para um índice de texto. O conteúdo doíndice de texto reflecte o estado da tabela com base na hora em que foi efectuada a última actualização(SYSTS_UPDATE).

Num ambiente em constante alteração, é pouco provável que o índice de texto reflicta o estado actual databela em qualquer altura. No entanto, num ambiente mais previsível em que a tabela de base de dados

88 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

||||

||||

|||

|||||

|

||

||||||||

|||||

|||||||

||||

||

Page 95: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

seja actualizada com menos frequência ou em modo de lotes, as actualizações ao índice de texto podemser sincronizadas de modo a que sejam efectuadas após a actualização da tabela, reflectindo de formaprecisa o estado da tabela.

É importante ter expectativas adequadas relativamente a um índice de texto. Utilize a opção UPDATEFREQUENCY no índice de texto “SYSPROC.SYSTS_CREATE” na página 19 ou“SYSPROC.SYSTS_UPDATE” na página 35 ou chame explicitamente o procedimento SYSTS_UPDATEpara actualizar apropriadamente o conteúdo do índice de texto.

Para ambientes mais estáticos como, por exemplo, carregamentos de dados num só volume, poderá serútil sincronizar a actualização do índice de texto de modo a que seja realizada após a conclusão docarregamento num só volume. Para ambientes mais orientados para transacções, o valor UPDATEFREQUENCY pode ser definido como um período de duração curto ou o procedimento SYSTS_UPDATEpode ser invocado frequentemente. Normalmente, é verdade que quanto mais frequente for aactualização, maior será o volume de trabalho na máquina.Referências relacionadas

“Tabela de administração QSYS2.SYSTEXTINDEXES” na página 102Pode consultar informações acerca de cada índice de procura de texto na tabela de administraçãoQSYS2.SYSTEXTINDEXES. Cada índice de procura de texto tem um nome, um nome de esquema e umnome de recolha associada no servidor de procura de texto.

Utilizar o IBM Systems Director Navigator for iPode administrar os servidores de procura de texto e os índices de procura de texto do OmniFindutilizando o IBM Systems Director Navigator.1. Na janela do IBM Systems Director Navigator, expanda o sistema que pretende utilizar.2. Expanda Bases de dados.3. Expanda a base de dados com a qual pretende trabalhar.4. Seleccione Pesquisa de Texto OmniFind.

OmniFind Text Search Server 89

|||

||||

||||||

|

||||

|

||

|

|

|

|

|

|

Page 96: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Trabalhar com servidores de procura de textoPode iniciar e parar os servidores de procura de texto OmniFind e criar um índice de procura de textoutilizando o IBM Systems Director Navigator for i.

Visualizar o estado dos Índices de Texto OmniFind:

1. Seleccione a pasta Índices de Texto na área da janela da direita.2. Visualize o estado dos servidores de procura de texto actualmente configurados no sistema na área da

janela da direita.3. Seleccione Actualizar para actualizar a lista de servidores.

Iniciar e parar os Servidores de Texto OmniFind:

1. Seleccione a caixa em frente ao ID do Servidor seleccionado na área da janela da direita.2. No menu Acções, seleccione:

v Iniciar servidorv Parar servidorv Criar um índice de procura de texto

90 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|||

|

|

||

|

|

|

|

|

|

|

|

|

|

Page 97: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Criar um índice de procura de texto:

Trabalhar com índices de procura de textoPode executar operações em qualquer índice de texto num sistema, utilizando o IBM Systems DirectorNavigator for i.

Visualizar índices de texto do OmniFind para um servidor de texto:

1. Na janela doIBM Systems Director Navigator, expanda o sistema que pretende utilizar.2. Expanda Bases de dados.3. Expanda a base de dados com a qual pretende trabalhar.4. Seleccione Pesquisa de Texto OmniFind.5. Seleccione Servidores de Texto.6. Seleccione o servidor de texto com o qual pretende trabalhar. Os índices desse servidor são

apresentados na área da janela da direita.

OmniFind Text Search Server 91

|

|

|

|||

|

|

|

|

|

|

||

Page 98: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Visualizar os índices de texto OmniFind para este sistema:

1. Seleccione Pesquisa de Texto OmniFind.2. Seleccione Índices de Texto. Estes índices correspondem a todos os índices de procura de texto para

este sistema na partição actual.

92 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

|

|

|

||

|

||

Page 99: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Executar operações num índice de texto:

1. Selecciona a caixa correspondente ao índice com o qual pretende trabalhar na área da janela dadireita.

2. Seleccionar Acção na caixa apresentada na parte superior do painel.v actualizarv recriarv eliminarv ver descriçãov ver definiçãov alterar definição

Visualizar os índices de texto OmniFind para um esquema:

1. Na janela doIBM Systems Director Navigator, expanda o sistema que pretende utilizar.2. Expanda Bases de dados.3. Expanda a base de dados com a qual pretende trabalhar.4. expanda Esquemas.5. Expanda o esquema com o qual pretende trabalhar.6. Seleccione Índices de Texto OmniFind. Estes índices correspondem a todos os índices de procura de

texto deste esquema.

Ver criações de índices de procura de texto:

Pode visualizar os índices de texto que estão a ser criados pela base de dados utilizando o IBM SystemsDirector Navigator. Esta vista é útil na determinação do momento em que um índice de procura de textofica disponível para as aplicações.

OmniFind Text Search Server 93

|

||

|

|

|

|

|

|

|

|

|

|

|

|

|

||

|

|

|

|||

Page 100: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Para visualizar os índices de procura de texto que estão a ser criados, execute os seguintes passos:1. Na janela doIBM Systems Director Navigator, expanda o sistema que pretende utilizar.2. Expanda Bases de dados.3. Expanda a base de dados com a qual pretende trabalhar.4. Seleccione Manutenção de Bases de Dados.5. Seleccione Criações de Índices de Texto.

Este painel apresenta apenas as actualizações ao índice de texto em curso. Se não existirem actualizaçõesou recriações actualmente em execução no sistema, o painel estará vazio.

Utilizar o System i NavigatorPode administrar os servidores de procura de texto e os índices de procura de texto do OmniFindutilizando o System i Navigator.1. Na janela do System i Navigator, expanda o sistema que pretende utilizar.2. Expanda Bases de dados.3. Expanda a base de dados com a qual pretende trabalhar.4. Seleccione Pesquisa de Texto OmniFind.

94 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

|

|

|

|

|

||

|

|

|

||

|

|

|

|

Page 101: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Trabalhar com servidores de procura de textoPode iniciar e parar os servidores de procura de texto OmniFind e criar um índice de procura de textoutilizando o System i Navigator.

Visualizar o estado dos Índices de Texto OmniFind:

1. Seleccione a pasta Índices de Texto na área da janela da direita.2. Visualize o estado dos servidores de procura de texto actualmente configurados no sistema na área da

janela da direita.3. Seleccione F5 para actualizar a lista de servidores.

OmniFind Text Search Server 95

|

|

|||

|

|

||

|

Page 102: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Iniciar e parar os Servidores de Texto OmniFind:

1. Seleccione o ID do Servidor seleccionado na área da janela da direita.2. Faça clique com o botão direito do rato para visualizar as opções:

v Iniciar servidorv Parar servidorv Criar um índice de procura de texto

96 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

|

|

|

|

|

|

|

|

Page 103: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Criar um índice de procura de texto:

Trabalhar com índices de procura de textoPode executar operações em qualquer índice de procura de texto num sistema, utilizando o System iNavigator.

Visualizar índices de texto do OmniFind para um servidor de texto:

1. Na janela do System i Navigator, expanda o sistema que pretende utilizar.2. Expanda Bases de dados.3. Expanda a base de dados com a qual pretende trabalhar.4. Seleccione Pesquisa de Texto OmniFind.5. Seleccione Servidores de Texto.6. Seleccione o servidor de texto com o qual pretende trabalhar. Os índices desse servidor são

apresentados na área da janela da direita.

OmniFind Text Search Server 97

|

|

|

|||

|

|

|

|

|

|

||

Page 104: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Visualizar os índices de texto OmniFind para este sistema:

1. Seleccione Pesquisa de Texto OmniFind.2. Seleccione Índices de Texto. Os índices apresentados correspondem a todos os índices de procura de

texto para este sistema na partição actual.

98 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

|

|

|

||

Page 105: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Executar operações num índice de texto:

1. Seleccione o índice com o qual pretende trabalhar na área da janela da direita.2. Faça clique com o botão direito do rato no índice.3. Seleccione uma operação:

v actualizarv recriarv eliminarv ver descriçãov ver definiçãov alterar definição

Visualizar os índices de texto OmniFind para um esquema:

1. Na janela do System i Navigator, expanda o sistema que pretende utilizar.2. Expanda Bases de dados.3. Expanda a base de dados com a qual pretende trabalhar.4. expanda Esquemas.5. Expanda o esquema com o qual pretende trabalhar.6. Seleccione Índices de Texto OmniFind. Estes índices correspondem a todos os índices de procura de

texto deste esquema.

OmniFind Text Search Server 99

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

|

||

Page 106: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Ver criações de índices de procura de texto:

Pode visualizar os índices de texto que estão a ser criados pela base de dados com o System i Navigator.Esta vista é útil na determinação do momento em que um índice de procura de texto fica disponível paraas aplicações.

Para visualizar os índices de procura de texto que estão a ser criados, execute os seguintes passos:1. Na janela do System i Navigator, expanda o sistema que pretende utilizar.2. Expanda Bases de dados.3. Expanda a base de dados com a qual pretende trabalhar.4. Expanda Manutenção de Bases de Dados.5. Seleccione Criações de Índices de Texto.

Este painel apresenta apenas as actualizações ao índice de texto em curso. Se não existirem actualizaçõesou recriações actualmente em execução no sistema, o painel estará vazio.

100 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

|

|

|||

|

|

|

|

|

|

||

Page 107: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Tabelas de administração de procura de textoPode suportar os servidores e índices de procura de texto utilizando as tabelas de administração emQSYS2.

Tabela de administração QSYS2.SYSTEXTDEFAULTS

Pode consultar os parâmetros e valores predefinidos na tabela de administraçãoQSYS2.SYSTEXTDEFAULTS. Esta tabela é criada ao instalar o OmniFind Text Search for DB2 for i.

A tabela que se segue apresenta o conteúdo da tabela de administração QSYS2.SYSTEXTDEFAULTS.

Tabela 31. Conteúdo da tabela de administração QSYS2.SYSTEXTDEFAULTS

Nome da coluna Tipo de dados Anulável? Descrição

NAME VARCHAR(30) Não Nome de um parâmetro predefinidopara a base de dados da procura detexto.

VALUE VARCHAR(512) Não Valor para o parâmetro predefinido daprocura de texto.

TYPE INTEGER Não Reservado.

OmniFind Text Search Server 101

|

|

||

||

|

||

|

||

||||

||||||

|||||

||||

Page 108: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Tabela de administração QSYS2.SYSTEXTINDEXES

Pode consultar informações acerca de cada índice de procura de texto na tabela de administraçãoQSYS2.SYSTEXTINDEXES. Cada índice de procura de texto tem um nome, um nome de esquema e umnome de recolha associada no servidor de procura de texto.

A tabela que se segue apresenta o conteúdo da tabela de administração QSYS2.SYSTEXTINDEXES. Achave única para esta tabela é a coluna INDEXSCHEMA com a coluna INDEXNAME. A chave principal éa coluna INDEXID.

Tabela 32. Conteúdo da tabela de administração QSYS2.SYSTEXTINDEXES

Nome da coluna Tipo de dados Anulável? Descrição

INDEXID INTEGER Não ID de índice gerado de forma exclusivapara o índice de procura de texto.

INDEXSCHEMA VARCHAR(128) Não Nome do esquema para o índice deprocura de texto.

INDEXNAME VARCHAR(128) Não Nome não qualificado do índice deprocura de texto.

TABLESCHEMA VARCHAR(128) Não Nome do esquema da tabela base.

TABLENAME VARCHAR(128) Não Nome não qualificado da tabela base.

TABLEIASP SMALLINT Não ASP independente da tabela base.

COLLECTIONNAME VARCHAR(255) Não Nome da recolha associada no índicede procura de texto.

SERVERID INTEGER Não O ID de servidor para o índice deprocura de texto.

TAKEOVERSERVERID INTEGER Sim Reservado para utilização futura.

TAKEOVERSERVERPULSE TIMESTAMP Sim Reservado para utilização futura.

SEARCHARGS VARBINARY(1024) Sim Reservado para utilização futura.

ALIASSCHEMA VARCHAR(128) Não O nome alternativo para o esquema databela base utilizada no procedimentoarmazenado SYSPROC.SYSTS_CREATE.Se não for utilizado um nomealternativo, este valor é idêntico ao deTABLESCHEMA.

ALIASNAME VARCHAR(128) Não O nome alternativo para o nome databela base utilizada no procedimentoarmazenado SYSPROC.SYSTS_CREATE.Se não for utilizado um nomealternativo, este valor é idêntico ao deTABLENAME.

STAGINGTABLENAME VARCHAR(128) Sim O nome da tabela de registo para oíndice de procura de texto.

EVENTTABLENAME VARCHAR(128) Não O nome da tabela de eventos para oíndice de procura de texto.

OFINDEXTABLENAME VARCHAR(128) Não O nome da tabela para o índice deprocura de texto no OmniFind TextSearch Server for DB2 for i.

102 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

|

|||

|||

||

||||

|||||

|||||

|||||

||||

||||

||||

|||||

|||||

||||

||||

||||

|||||||||

|||||||||

|||||

|||||

||||||

Page 109: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Tabela 32. Conteúdo da tabela de administração QSYS2.SYSTEXTINDEXES (continuação)

Nome da coluna Tipo de dados Anulável? Descrição

UPDATEMINIMUM INTEGER Não Número mínimo de entradas na tabelade registo antes da execução de umaactualização incremental no índice deprocura de texto.

UPDATEFREQUENCY VARCHAR(512) Não A frequência de actualização para oíndice de procura de texto, tal comoespecificada pelo procedimentoarmazenado SYSPROC.SYSTS_CREATE.

UPDATEMODE INTEGER Não Indica o modo de actualização doíndice de procura de texto. O númerointeiro 0 (zero) indica a actualizaçãoinicial do índice de procura de texto.Um valor de 1 indica actualizaçõesincrementais subsequentes.

REORGANIZATIONMODE INTEGER Não Indica o modo de reorganização doíndice de procura de texto.

CREATETIME TIMESTAMP Não A hora a que o índice de procura detexto foi criado.

LASTUPDATETIME TIMESTAMP Sim A hora a que o índice de procura detexto foi actualizado pela última vez.

LASTUPDATESTATUS CHAR Sim Indica o estado interno paraoptimização do processo de limpezaapós uma actualização inicial ouincremental do índice de procura detexto. Os valores comuns incluem:

v (Nulo) indica que o índice que oíndice nunca foi actualizado.

v 'C' indica que foi iniciada umaactualização inicial. Se o modo deactualização não for incremental,significa que a actualização inicialainda está em curso ou não foiconcluída.

v 'N' indica que uma actualizaçãoincremental foi concluída com êxito.

São utilizados outros códigosinternamente durante o processamentoda actualização. O processo deactualização utiliza estes códigos paradeterminar acções de recuperaçãoespecífica que podem ser tomadas emcaso de falha na conclusão daactualização.

SCHEDULERTASKID INTEGER Sim Reservado para utilização futura.

EXPRESSIONLISTS CLOB (32 K) Sim Reservado para utilização futura.

EXPRESSIONNUMBERS VARBINARY(32) Sim Reservado para utilização futura.

USEREXITFUNCTION VARCHAR(18) Sim Reservado para utilização futura.

OmniFind Text Search Server 103

|

||||

|||||||

|||||||

|||||||||

|||||

|||||

|||||

||||||||

||

||||||

||

||||||||

||||

||||

||||

||||

Page 110: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Tabela 32. Conteúdo da tabela de administração QSYS2.SYSTEXTINDEXES (continuação)

Nome da coluna Tipo de dados Anulável? Descrição

REMARKS VARCHAR(2000) Sim Observações realizadas na opçãoCOMMENTS do parâmetroopções-configuração-índice doprocedimento armazenadoSYSPROC.SYSTS_CREATE.

TABLEMBR VARCHAR(10) Sim O membro da tabela sobre a qual oíndice de procura é criado. Utilizadopara rastrear o membro específico queestá a ser indexado, se o ficheiro for umficheiro multi-membros. Se o valor fornulo, o membro será o primeiro e únicomembro da tabela.

Conceitos relacionados

“Nome alternativo de servidor” na página 11Pode utilizar um nome alternativo de servidor para atribuir um nome com significado a um servidor.

Tabela de administração QSYS2.SYSTEXTCOLUMNS

Pode consultar informações acerca das colunas de texto para um índice de procura de texto na tabela deadministração QSYS2.SYSTEXTCOLUMNS. Cada índice de procura de texto inclui um ID de índice,nomes de colunas de texto e o nome do esquema da tabela base.

A tabela que se segue apresenta o conteúdo da tabela de administração QSYS2.SYSTEXTCOLUMNS. Achave principal para esta tabela é a coluna INDEXID com a coluna COLUMNNAME. A chave externa é acoluna INDEXID.

Tabela 33. Conteúdo da tabela de administração QSYS2.SYSTEXTCOLUMNS

Nome da coluna Tipo de dados Anulável? Descrição

INDEXID INTEGER Não ID de índice gerado de forma exclusivapara o índice de procura de texto.

COLUMNNAME VARCHAR(128) Não Nome não qualificado da coluna detexto.

TABLESCHEMA VARCHAR(128) Não Nome do esquema da tabela base.

TABLENAME VARCHAR(128) Não Nome não qualificado da tabela base.

LANGUAGE VARCHAR(5) Não O idioma que o servidor de procura detexto utiliza para o processamentolinguístico de documentos de texto. Ovalor predefinido é en_US (inglês).

FUNCTIONSCHEMA VARCHAR(128) Sim O esquema de uma função definidapelo utilizador utilizado peloOMNIFIND para aceder a documentosde texto incluídos numa coluna comum tipo de dados não suportado ouarmazenados noutra localização.

FUNCTIONNAME VARCHAR(18) Sim O nome da função definida peloutilizador utilizada pelo OMNIFINDpara aceder a documentos de textoincluídos numa coluna com um tipo dedados não suportado ou armazenadosnoutra localização.

104 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

||||

||||||||

|||||||||||

|

||

|

|||

|||

||

||||

|||||

|||||

||||

||||

|||||||

|||||||||

|||||||||

Page 111: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Tabela 33. Conteúdo da tabela de administração QSYS2.SYSTEXTCOLUMNS (continuação)

Nome da coluna Tipo de dados Anulável? Descrição

CCSID INTEGER Não O identificador do conjunto decaracteres codificados utilizado paraum índice de procura de texto numacoluna com um tipo de dados binários.

FORMAT VARCHAR(30) Não O formato dos documentos de texto nacoluna. Os valores de formatosuportados são TEXT, HTML, XML eINSO.

KEYCOLUMNCOUNT INTEGER Não A contagem de colunas chave para oíndice de procura de texto.

KEYCOLUMNNAMES VARCHAR(1200) Não Os nomes das colunas chave para oíndice de procura de texto.

Tabela de administração QSYS2.SYSTEXTSERVERSPode consultar a localização em que os servidores de procura de texto estão instalados utilizando a tabelade administração QSYS2.SYSTEXTSERVERS.

A tabela que se segue apresenta o conteúdo da tabela de administração QSYS2.SYSTEXTSERVERS. Achave única para esta tabela é a coluna SERVERNAME com a coluna SERVERPORT. A chave principal éa coluna SERVERID.

Tabela 34. Conteúdo da tabela de administração QSYS2.SYSTEXTSERVERS

Nome da coluna Tipo de dados Anulável? Descrição

SERVERID INTEGER Não ID gerado de forma exclusiva para oservidor de procura de texto.

SERVERNAME VARCHAR(128) Não O nome do sistema central ou o endereçode IP do servidor de procura de texto.

SERVERADRINFO VARBINARY(3000) Sim A representação interna de SERVERNAMEe SERVERPORT, tal como determinadapelo procedimento armazenadoSYSPROC.SYSTS_START.

SERVERPORT INTEGER Não O número de porta do servidor de procurade texto.

SERVERPATH VARCHAR(512) Não O caminho de servidor para o servidor deprocura de texto.

SERVERTYPE INTEGER Não O tipo de servidor para o servidor deprocura de texto. O valor 0 (zero) indicaum servidor de procura de texto IBM i. Ovalor 1 indica um servidor de procura detexto Linux. O valor 2 indica um servidorde procura de texto Windows.

SERVERAUTHTOKEN VARCHAR(256) Não O sinal de autenticação para o servidor deprocura de texto.

SERVERMASTERKEY VARCHAR(36) Não A chave de servidor para o servidor deprocura de texto.

OmniFind Text Search Server 105

|

||||

|||||||

|||||||

|||||

||||||

|

||

|||

||

||||

|||||

|||||

|||||||

|||||

|||||

|||||||||

|||||

|||||

Page 112: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Tabela 34. Conteúdo da tabela de administração QSYS2.SYSTEXTSERVERS (continuação)

Nome da coluna Tipo de dados Anulável? Descrição

SERVERCLASS INTEGER Não A classe de servidor para o servidor deprocura de texto. O valor 0 (zero) indicaum servidor de produção, disponível paraselecção automática. O valor 9 indica umservidor de teste, nunca atribuídoautomaticamente.

SERVERSTATUS INTEGER Não Indica se o servidor pode ou não serutilizado como um servidor de procura detexto para criar novos índices de procurade texto. O valor predefinido é 0 (zero), oque significa que o servidor pode serutilizado.

ALIASNAME VARCHAR(128) Sim O nome alternativo é exclusivo quandonão corresponde a nulo e é sensível amaiúsculas e minúsculas.

Conceitos relacionados

“Nome alternativo de servidor” na página 11Pode utilizar um nome alternativo de servidor para atribuir um nome com significado a um servidor.

Tabela de administração QSYS2.SYSTEXTCONFIGURATION

Pode consultar os parâmetros de configuração para o índice de procura de texto, conforme transmitidospelo procedimento armazenado SYSPROC.SYSTS_CREATE, na tabela de administraçãoQSYS2.SYSTEXTCONFIGURATION.

A tabela que se segue apresenta o conteúdo da tabela de administraçãoQSYS2.SYSTEXTCONFIGURATION. A chave principal é a coluna INDEXID com a coluna PARAMETER.A chave externa é a coluna INDEXID.

Tabela 35. Conteúdo da tabela de administração QSYS2.SYSTEXTCONFIGURATION

Nome da coluna Tipo de dados Anulável? Descrição

INDEXID INTEGER Não ID de índice gerado de forma exclusivapara o índice de procura de texto.

PARAMETER VARCHAR(30) Não Parâmetros especificados para o índicede procura de texto no procedimentoarmazenado SYSPROC.SYSTS_CREATE.

VALUE VARCHAR(512) Não Valores para os parâmetrosespecificados.

Referências relacionadas

“SYSPROC.SYSTS_CREATE” na página 19Pode chamar o procedimento armazenado SYSPROC.SYSTS_CREATE para criar um índice de procura detexto. Este procedimento armazenado activa uma coluna de texto para indexação de procura de texto. Oíndice de procura de texto pode, deste modo, ser utilizado em consultas SQL que contenham as funçõesCONTAINS ou SCORE.

Tabela de administração QSYS2.SYSTEXTSERVERHISTORY

Pode consultar o histórico de servidores utilizados para o procedimento armazenadoSYSPROC.SYSTS_DROP, visualizando a tabela auxiliar QSYS2.SYSTEXTSERVERHISTORY.

106 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

|

||||

|||||||||

|||||||||

|||||||

|

||

|

|||

|||

||

||||

|||||

||||||

||||||

|

|||||

|

||

Page 113: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

A tabela que se segue apresentas o conteúdo da tabela de administraçãoQSYS2.SYSTEXTSERVERHISTORY. A chave única para esta tabela é a coluna INDEXID com a colunaSERVERID. A chave externa é a coluna INDEXID.

Tabela 36. Conteúdo da tabela de administração QSYS2.SYSTEXTSERVERHISTORY

Nome da coluna Tipo de dados Anulável? Descrição

INDEXID INTEGER Não O ID de índice para um índice deprocura de texto criado.

SERVERID INTEGER Não O ID de servidor no qual um índice deprocura de texto tem de serdesactivado no procedimentoSYSPROC.SYSTS_DROP.

Referências relacionadas

“SYSPROC.SYSTS_DROP” na página 33Pode chamar o procedimento armazenado SYSPROC.SYSTS_DROP para desactivar um índice de procurade texto definido através da utilização do procedimento armazenado SYSPROC.SYSTS_CREATE.

Mensagens e códigosPode ver as mensagens e códigos de retorno de SQL relativas ao OmniFind Text Search for DB2 for i. Asmensagens são apresentadas em sequência numérica.

Mensagens OmniFindPode ver as mensagens OmniFind para o OmniFind Text Search for DB2 for i. As mensagens sãoapresentadas em sequência numérica.

São adicionadas mensagens ao ficheiro de mensagens OmniFind (QDBTSLIB/QOMFMSGF) para os errosque se seguem.

Tabela 37. Mensagens OmniFind

Número Tipo Mensagem

OMF0011 Informação O índice de procura de texto foi restaurado com opções de configuraçãodiferentes.

OMF0012 Aviso O tipo de FORMATO do índice que está a ser criado não corresponde a XML.Não são suportadas procuras XML.

OMF0334 Erro O objecto ''{0}''.''{1}'' especificado não é suportado. Um índice de procura de textoapenas pode ser criado sobre uma tabela SQL, um nome alternativo SQL ou umúnico membro de um ficheiro físico.

OMF0358 Erro O utilizador actual não tem autoridade suficiente para executar a operaçãosolicitada.

OMF0359 Erro Falha no restauro. O servidor de texto para o índice de texto não está disponível.

SQLCODE -0196 A coluna &3 de &1 de &2 nãopode ser desactivada.

Explicação: Foi efectuada uma tentativa de desactivara coluna &3. A coluna não pode ser desactivada porqueexiste uma vista, restrição, activar ou índice dependenteda coluna e a opção RESTRICT foi especificada ou acoluna faz parte da chave de partição.

Resposta do Utilizador: Especifique CASCADE nainstrução ALTER TABLE para desactivar a coluna e as

vistas, restrições, activadores e índices dependentes dacoluna. Se a coluna fizer parte da chave de partição,especifique DROP PARTITIONING na instrução ALTERTABLE para remover o particionamento da tabela.Repita o pedido.

SQLSTATE: 42817

SQLCODE -5003 Não é possível executar a operaçãosob o controlo de consolidações.

SQLCODE -0196 • SQLCODE -5003

OmniFind Text Search Server 107

|||

||

||||

|||||

||||||||

|

|||

||

||

|

||

||

||

|||

||||

||||

|||||

||||

||||

|||

|||||

||

|||||

|

|||

Page 114: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Explicação: As operações que se seguem não podemser executadas sob controlo de consolidações com osparâmetros COMMIT(*CHG), COMMIT(*CS) ouCOMMIT(*ALL):

v Instrução DROP SCHEMA.

v Instrução GRANT ou REVOKE para um objecto comum detentor de autoridade.

v Instrução CREATE no modo de nomenclatura SQLde um objecto com detentor de autoridade.

v DROP de um índice de procura de texto.

Estas operações não podem ser consolidadas nemrevertidas.

Resposta do Utilizador: EspecifiqueCOMMIT(*NONE) e tente executar novamente ainstrução.

SQLSTATE: 42922

SQLCODE -20423 Ocorreu um erro durante oprocessamento da pesquisa de texto.

Explicação: Ocorreu um erro durante o processamentoda procura de texto de uma função CONTAINS ouSCORE. O erro ocorreu no servidor servidor, utilizandoo índice de procura de texto nome-índice, devido aocódigo de razão código-razão. O texto que descreve oproblema é: texto.

servidor: O nome do sistema central ou endereço de IP eporta do servidor de procura de texto no qual o erro foiencontrado.

nome-índice: O nome do índice utilizado noprocessamento da procura de texto.

Nota: Inclua o esquema e um ponto juntamente com onome do índice num único símbolo.

código-razão: O código de razão devolvido peloOmniFind Text Search Server for DB2 for i.

texto: O texto devolvido pelo OmniFind Text SearchServer for DB2 for i.

Acção do Sistema: A instrução não pode serprocessada.

Resposta do Utilizador: Contacte o administrador dosistema para verificar se o OmniFind Text Search Serverfor DB2 for i foi instalado com êxito.

SQLSTATE: 38H10

Referências relacionadas

“CONTAINS” na página 38Pode utilizar a função CONTAINS para procurar umíndice de procura de texto, utilizando critériosespecificados num argumento de procura. A funçãodevolve um resultado que indica se foi encontrada umacorrespondência.

“SCORE” na página 40Pode utilizar a função SCORE para procurar um índicede procura de texto, utilizando critérios especificadosnum argumento de procura. A função devolve umaclassificação de relevância que avalia o nível decorrespondência de uma documento relativamente àconsulta.

SQLCODE -20424 O suporte de pesquisa de textonão está disponível para o código darazão código-razão.

Explicação: Foi detectado um problema com uma dastabelas administrativas de procura de texto. O códigode razão é código-razão.

1 Uma das tabelas de administração de procurade texto não foi encontrada(QSYS2.SYSTEXTINDEXES,QSYS2.SYSTEXTCOLUMNS ouQSYS2.SYSTEXTSERVERS).

3 O Suporte de procura de texto não estáinstalado.

4 A coluna STATUS na tabelaQSYS2.SYSTEXTSERVERS apresenta um valorde 1, indicando que o suporte da procura detexto está parado.

7 Não foi definido nenhum OmniFind TextSearch Server for DB2 for i.

Acção do Sistema: A instrução não pode serprocessada.

Resposta do Utilizador: Contacte o administrador dosistema para se certificar de que o suporte para procurade texto foi configurado com êxito no sistema.

SQLSTATE: 38H11

SQLCODE -20423 • SQLCODE -20424

108 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

||||

|

||

||

|

||

|||

|

|||

||||||

|||

||

||

||

||

||

|||

|

|

||||||

|||||||

||||

|||

||||||

|

|||

|||||

|||

||

|||

|

Page 115: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Referências relacionadas

“Tabela de administração QSYS2.SYSTEXTSERVERS”na página 105Pode consultar a localização em que os servidores deprocura de texto estão instalados utilizando a tabela deadministração QSYS2.SYSTEXTSERVERS.

“Tabela de administração QSYS2.SYSTEXTINDEXES”na página 102Pode consultar informações acerca de cada índice deprocura de texto na tabela de administraçãoQSYS2.SYSTEXTINDEXES. Cada índice de procura detexto tem um nome, um nome de esquema e um nomede recolha associada no servidor de procura de texto.

“Tabela de administração QSYS2.SYSTEXTCOLUMNS”na página 104Pode consultar informações acerca das colunas de textopara um índice de procura de texto na tabela deadministração QSYS2.SYSTEXTCOLUMNS. Cada índicede procura de texto inclui um ID de índice, nomes decolunas de texto e o nome do esquema da tabela base.

SQLCODE -20425 A pesquisa de texto não é permitepara a coluna nome-coluna.

Explicação: Uma função de procura de textoCONTAINS ou SCORE especificou a colunanome-coluna na tabela nome-tabela no esquema-tabela.Não existe um índice de texto para esta coluna, peloque o processamento de texto não pode ser executado.

Acção do Sistema: A instrução não pode serprocessada.

Resposta do Utilizador: Verifique se a coluna e atabela estão registadas no OmniFind Text Search Serverfor DB2 for i.

SQLSTATE: 38H12

Referências relacionadas

“CONTAINS” na página 38Pode utilizar a função CONTAINS para procurar umíndice de procura de texto, utilizando critériosespecificados num argumento de procura. A funçãodevolve um resultado que indica se foi encontrada umacorrespondência.

“SCORE” na página 40Pode utilizar a função SCORE para procurar um índicede procura de texto, utilizando critérios especificadosnum argumento de procura. A função devolve umaclassificação de relevância que avalia o nível decorrespondência de uma documento relativamente àconsulta.

SQLCODE -20426 Um procedimento de pesquisa detexto em conflito já está a ser executado.

Explicação: Existe um procedimento administrativo deprocura de texto em conflito, como, por exemplo, umaactualização, em execução neste índice.

Acção do Sistema: A instrução não pode serprocessada.

Resposta do Utilizador: Invoque novamente oprocedimento armazenado de administração após aconclusão do procedimento armazenado em execução.

SQLSTATE: 38H13

SQLCODE -20427 Ocorreu um erro durante oprocedimento administrativo depesquisa de texto.

Explicação: Ocorreu um erro durante umprocedimento administrativo de procura de texto. Ocódigo de razão é código-razão. O texto devolvido é:texto. O texto de erro descreve o problema.

Acção do Sistema: A instrução CALL falha com esteSQLCODE.

Resposta do Utilizador: Corrija o problema indicadopelo erro e invoque novamente o procedimentoarmazenado administrativo.

SQLSTATE: 38H14

CPF32fa A operação não é permitida no índice deprocura de texto &2 em &1.

Explicação: Ocorreu uma tentativa de operação nãosuportada para o índice de procura de texto. Os índicesde procura de texto não permitem algumas operaçõesque são permitidas por índices e vistas tradicionais deDB2.

Caso tenha ocorrido uma tentativa de eliminação doíndice, a operação poderá ter falhado devido ao factode o controlo de consolidações estar activo.

Resposta do Utilizador: Execute operaçõesadministrativas de procura de texto utilizando osprocedimentos armazenados de SQL administrativosincluídos com o OmniFind Text Search Server for DB2for i.

Para obter mais informações sobre índices de procurade texto e quais as restrições aplicáveis aos mesmos,consulte a documentação no Information Center:http://www.ibm.com/systems/i/infocenter/

CPF32fb Não foi possível concluir a operação noíndice de procura de texto &2 em &1.

Explicação: Foi efectuada uma tentativa de execuçãode uma operação no índice de procura de texto &2 em&1. A operação solicitada não é actualmente válidadevido ao código de razão &3. Os códigos de razão eos respectivos significados são:

1. Um produto necessário não está instalado

2. O servidor de procura de texto &4 solicitado nãoestá disponível ou não está definido.

SQLCODE -20425 • CPF32fb

OmniFind Text Search Server 109

|

|||||

|||||||

|||||||

|||

|||||

||

|||

|

|

||||||

|||||||

|||

|||

||

|||

|

||||

||||

||

|||

|

||||

|||||

|||

|||||

||||

||||

|||||

|

||

Page 116: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

3. Foi efectuada uma tentativa de restauro do índicemas o índice já existe. Não foi possível modificar oíndice existente de modo a que correspondesse aoíndice guardado.

4. Não existe um objecto dependente &5 em &6 tipo&7.

5. Não estava disponível um objecto &5 em &6 tipo&7.

6. O conjunto de memória auxiliar (ASP) para omódulo actual não corresponde ao ASP do índice deprocura de texto.

7. Já existe um índice de procura de texto para acoluna &8, tabela &5 na biblioteca &6.

Resposta do Utilizador: Corrija o problema e tenteexecutar novamente a operação.

Para obter mais informações sobre índices de procurade texto, consulte a documentação no InformationCenter: http://www.ibm.com/systems/i/infocenter

CPI321E O ficheiro &1 na biblioteca &2 foidiferido.

Explicação: O ficheiro &1 na biblioteca &2 foi diferidodurante este pedido de restauro com o ID deadiamento especificado de &4. O ficheiro foi diferidodevido ao código de razão &3. Os códigos de razãosão:

1. O ficheiro de referência &5 na biblioteca &6 nãoexistia quando &1 estava a ser criado para orestauro.

2. Ocorreu uma falha na criação do ficheiro &1 porum motivo que não a ausência de um ficheiro de

referência. Consulte a(s) mensagem(ns) anterior(es)para determinar o motivo pelo qual a falha ocorreuno ficheiro.

3. Ocorreu uma falha na criação de um ou maismembros para o ficheiro &1. Consulte a(s)mensagem(ns) anterior(es) para determinar omotivo pelo qual a criação do(s) membro(s) falhou.

4. O ficheiro representa um Índice de Procura de Textoe os objectos de programa licenciado necessáriosnão existem no sistema.

5. O Ficheiro representa um Índice de Procura deTexto e não foi possível recriar o índice.

Resposta do Utilizador: Para o código de razão 1:Restaure o ficheiro de referência em falta ou utilize ocomando Restaurar objectos diferidos (RSTDFROBJ),especificando o mesmo ID de adiamento (parâmetroDFRID) &4 em qualquer um dos comandos utilizados.

Para os códigos de razão 2 e 3: Corrija os motivos dafalha na criação e, em seguida, utilize o comandoRestaurar objectos diferidos (RSTDFROBJ),especificando o mesmo ID de adiamento (parâmetroDFRID) &4 no comando.

Para o código de razão 5: Consulte as mensagensanteriores no registo de trabalhos, corrija os possíveiserros e, em seguida, utilize o comando Restaurarobjectos diferidos (RSTDFROBJ), especificando omesmo ID de adiamento (parâmetro DFRID) &4 nocomando.

Informações relacionadas

Restaurar objectos diferidos (RSTDFROBJ)

Informações sobre licença de código e exclusão de responsabilidade(disclaimer)A IBM concede ao utilizador uma licença de direitos de autor (copyright) não exclusiva para utilização detodos os exemplos de código de programação a partir dos quais poderá gerar funções semelhantesadaptadas às necessidades específicas do utilizador.

SUJEITOS A QUAISQUER GARANTIAS ESTATUTÁRIAS QUE NÃO POSSAM SER EXCLUÍDAS, A IBM,OS SEUS PROGRAMADORES E FORNECEDORES DE PROGRAMAS NÃO FORNECEM GARANTIASOU CONDIÇÕES DE QUALQUER ESPÉCIE, EXPLÍCITAS OU IMPLÍCITAS, INCLUINDO MAS NÃO SELIMITANDO ÀS CONDIÇÕES OU GARANTIAS IMPLÍCITAS DE COMERCIALIZAÇÃO, ADEQUAÇÃOA UM DETERMINADO FIM E NÃO INFRACÇÃO, RELATIVAMENTE AO PROGRAMA E AOSUPORTE TÉCNICO, SE EXISTIR.

EM NENHUMA CIRCUNSTÂNCIA A IBM, OS SEUS PROGRAMADORES OU FORNECEDORES DEPROGRAMAS SÃO RESPONSÁVEIS PELO SEGUINTE, AINDA QUE INFORMADOS DA SUAPOSSIBILIDADE:1. PERDA OU DANO DE DADOS;2. DANOS ESPECIAIS, INCIDENTAIS DIRECTOS OU INDIRECTOS, OU QUALQUER DANO

ECONÓMICO CONSEQUENCIAL; OU3. LUCROS CESSANTES, PERDA DE NEGÓCIOS, RECEITAS, CLIENTELA OU POUPANÇAS

ANTECIPADAS.

CPI321E

110 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

||||

||

||

|||

||

||

|||

||||

|||||

|||

||

|||

||||

|||

||

|||||

|||||

||||||

|

|

||

|

|||

||||||

|||

|

||

||

Page 117: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

ALGUMAS JURISDIÇÕES NÃO PERMITEM A EXCLUSÃO OU LIMITAÇÃO DOS DANOS DIRECTOS,INCIDENTAIS OU CONSEQUENCIAIS, PELO QUE ALGUMAS OU TODAS ESTAS EXCLUSÕES OULIMITAÇÕES PODERÃO NÃO SER APLICÁVEIS AO SEU CASO.

OmniFind Text Search Server 111

|||

Page 118: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

112 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

Page 119: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Apêndice. Avisos

Os produtos, serviços ou componentes descritos neste documento poderão não ser disponibilizados pelaIBM noutros países. Consulte o representante da IBM para obter informações sobre os produtos e serviçosactualmente disponíveis na sua área. Quaisquer referências, nesta publicação, a produtos, programas ouserviços da IBM, não significam que apenas esses produtos, programas ou serviços da IBM possam serutilizados. Qualquer outro produto, programa ou serviço, funcionalmente equivalente, poderá serutilizado em substituição daqueles, desde que não infrinja nenhum direito de propriedade intelectual daIBM. No entanto, é da inteira responsabilidade do utilizador avaliar e verificar o funcionamento dequalquer produto, programa ou serviço não produzido pela IBM.

Neste documento, podem ser feitas referências a patentes ou a pedidos de patente pendentes da IBM. Ofacto de este documento lhe ser fornecido não lhe confere nenhum direito sobre essas patentes. Casosolicite pedidos de informação sobre licenças, tais pedidos deverão ser endereçados, por escrito, para:

IBM Director of LicensingIBM CorporationNorth Castle DriveArmonk, NY 10504-1785E.U.A.

Intellectual Property LicensingLegal and Intellectual Property LawIBM Japan, Ltd.3-2-12, Roppongi, Minato-ku, Tokyo 106-8711

O parágrafo seguinte não se aplica ao Reino Unido nem a nenhum outro país onde estas cláusulassejam inconsistentes com a lei local: A INTERNATIONAL BUSINESS MACHINES CORPORATIONFORNECE ESTA PUBLICAÇÃO “TAL COMO ESTÁ” (AS IS), SEM GARANTIA DE QUALQUERESPÉCIE, EXPLÍCITA OU IMPLÍCITA, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIASIMPLÍCITAS DE NÃO INFRACÇÃO, COMERCIALIZAÇÃO OU ADEQUAÇÃO A UM DETERMINADOFIM. Alguns Estados não permitem a exclusão de garantias, explícitas ou implícitas, em determinadastransacções; esta declaração pode, portanto, não se aplicar ao seu caso.

Esta publicação pode conter imprecisões técnicas ou erros de tipografia. A IBM permite-se fazer alteraçõesperiódicas às informações aqui contidas; essas alterações serão incluídas nas posteriores edições destapublicação. A IBM pode introduzir melhorias e/ou alterações ao(s) produto(s) e/ou programa(s)descrito(s) nesta publicação em qualquer momento, sem aviso prévio.

Quaisquer referências, nesta publicação, a sítios da Web que não sejam propriedade da IBM sãofornecidas apenas para conveniência e não constituem, em caso algum, aprovação desses sítios da Web.Os materiais existentes nesses sítios da Web não fazem parte dos materiais destinados a este produto IBMe a utilização desses sítios da Web será da exclusiva responsabilidade do utilizador.

A IBM pode usar ou distribuir quaisquer informações que lhe forneça, da forma que julgue apropriada,sem incorrer em nenhuma obrigação para consigo.

Os licenciados deste programa que pretendam obter informações sobre o mesmo com o objectivo depermitir: (i) a troca de informações entre programas criados independentemente e outros programas(incluindo este) e (ii) a utilização recíproca das informações que tenham sido trocadas, deverão contactar:

IBM CorporationEdifício Office Oriente3605 Highway 52 N

© Copyright IBM Corp. 2002, 2010 113

Page 120: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Rochester, MN 55901E.U.A.

Tais informações poderão estar disponíveis, sujeitas aos termos e às condições adequadas, incluindo, emalguns casos, o pagamento de um encargo.

O programa licenciado descrito neste documento e todo o material licenciado disponível para o programasão fornecidos pela IBM nos termos das Condições Gerais IBM (IBM Customer Agreement), Acordo deLicença Internacional para Programas IBM (IPLA, IBM International Program License Agreement),Acordo de Licença para Código Máquina IBM (IBM License Agreement for Machine Code) ou dequalquer acordo equivalente entre ambas as partes.

Quaisquer dados de desempenho aqui contidos foram determinados num ambiente controlado. Assimsendo, os resultados obtidos noutros ambientes operativos podem variar significativamente. Algumasmedições podem ter sido efectuadas em sistemas ao nível do desenvolvimento, pelo que não existemgarantias de que estas medições sejam iguais nos sistemas disponíveis habitualmente. Para além disso,algumas medições podem ter sido calculadas por extrapolação. Os resultados reais podem variar. Osutilizadores deste documento devem verificar os dados aplicáveis ao seu ambiente específico.

As informações relativas a produtos não IBM foram obtidas junto dos fornecedores desses produtos, dosseus anúncios publicados ou de outras fontes de divulgação ao público. A IBM não testou esses produtose não pode confirmar a exactidão do desempenho, da compatibilidade ou de quaisquer outras afirmaçõesrelacionadas com produtos não IBM. Todas as questões sobre as capacidades dos produtos nãoproduzidos pela IBM deverão ser endereçadas aos fornecedores desses produtos.

Todas as afirmações relativas às directivas ou tendências futuras da IBM estão sujeitas a alterações oudescontinuação sem aviso prévio, representando apenas metas e objectivos.

Todos os preços mostrados são os actuais preços de venda sugeridos pela IBM e estão sujeitos aalterações sem aviso prévio. Os preços dos concessionários podem variar.

Estas informações destinam-se apenas a planeamento. As informações estão sujeitas a alterações antes deos produtos descritos ficarem disponíveis.

Estas informações contêm exemplos de dados e relatórios utilizados em operações comerciais diárias.Para ilustrá-los o melhor possível, os exemplos incluem nomes de indivíduos, firmas, marcas e produtos.Todos estes nomes são fictícios e qualquer semelhança com nomes e moradas reais é mera coincidência.

LICENÇA DE COPYRIGHT:

Esta publicação contém programas de aplicação exemplo em linguagem-fonte, que ilustram técnicas deprogramação em diversas plataformas operativas. Pode copiar, modificar e distribuir estes programasexemplo de qualquer forma, sem encargos para com a IBM, com a finalidade de desenvolver, utilizar,comercializar ou distribuir programas de aplicação conformes à interface de programação de aplicações edestinados à plataforma operativa para a qual os programas exemplo são escritos. Estes exemplos nãoforam testados exaustivamente sob todas as condições. Deste modo, a IBM não garante nem seresponsabiliza pela fiabilidade, assistência ou funcionamento destes destes programas. Os programasexemplo são fornecidos "TAL COMO ESTÃO", sem garantias de qualquer espécie. A IBM declinaqualquer responsabilidade por quaisquer danos resultantes da utilização dos programas exemplo.

Cada cópia ou qualquer parte destes programas exemplo ou qualquer trabalho derivado dos mesmos temde incluir um aviso de direitos de autor, do seguinte modo:

© (o nome da sua empresa) (ano). Algumas partes deste código são derivadas de Programas Exemplo daIBM Corp. © Copyright IBM Corp. _introduza o ano ou anos_.

114 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

Page 121: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Se estiver a consultar a versão electrónica desta publicação, é possível que as fotografias e as ilustrações acores não estejam visíveis.

Informações sobre a interface de programaçãoEsta publicação relativa ao OmniFind Text Search Server for DB2 for i documenta as Interfaces deProgramação que permitem ao cliente escrever programas para obter serviços do OmniFind Text SearchServer for DB2 for i.

Marcas ComerciaisIBM, o logótipo IBM e ibm.com são marcas comerciais ou marcas comerciais registadas da InternationalBusiness Machines Corp., registadas em várias jurisdições a nível mundial. Outros nomes de produtos eserviços podem ser marcas comerciais da IBM ou de outras empresas. Está disponível uma lista actual demarcas comerciais IBM na Web, no tópico Copyright and trademark information, emwww.ibm.com/legal/copytrade.shtml.

Adobe, o logotipo da Adobe, PostScript, e o logótipo de PostScript são marcas comerciais registadas oumarcas comerciais da Adobe Systems Incorporated nos Estados Unidos e/ou outros países.

Java e todas as marcas comerciais e logótipos Java são marcas comerciais da Sun Microsystems, Inc. nosEstados Unidos e/ou noutros países.

Linux é uma marca comercial registada de Linus Torvalds nos Estados Unidos e/ou noutros países.

Windows é uma marca comercial da Microsoft Corporation nos Estados Unidos e/ou noutros países.

UNIX é uma marca comercial registada de The Open Group nos Estados Unidos e noutros países.

Outros nomes de empresas, produtos ou serviços podem ser marcas comerciais ou nomes de serviço deterceiros.

Termos e condiçõesAs permissões de utilização destas publicações são concedidas sujeitas aos termos e condições seguintes.

Utilização pessoal: Pode reproduzir estas publicações para uso pessoal e não comercial, desde quemantenha todas as informações de propriedade. Não pode executar qualquer trabalho derivado destaspublicações, nem reproduzir, distribuir ou apresentar qualquer parte das mesmas, sem o expressoconsentimento do fabricante.

Utilização comercial: Pode reproduzir, distribuir e apresentar estas publicações exclusivamente no âmbitoda sua empresa, desde que mantenha todas as informações de propriedade. Não pode executar qualquertrabalho derivado destas publicações, nem reproduzir, distribuir ou apresentar estas publicações, ouqualquer parte das mesmas fora das instalações da empresa, sem o expresso consentimento do fabricante.

À excepção das concessões expressas nesta permissão, não são concedidos outros direitos, permissões oulicenças, quer explícitos, quer implícitos, sobre as publicações ou quaisquer informações, dados, softwareou outra propriedade intelectual contidos nesta publicação.

O fabricante reserva-se o direito de retirar as permissões concedidas nesta publicação sempre queconsiderar que a utilização das publicações pode ser prejudicial aos seus interesses ou, tal comodeterminado pelo fabricante, sempre que as instruções acima referidas não estejam a ser devidamentecumpridas.

Apêndice. Avisos 115

Page 122: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

Não pode descarregar, exportar ou reexportar estas informações, excepto quando em total conformidadecom todas as leis e regulamentos aplicáveis, incluindo todas as leis e regulamentos de exportação emvigor nos E.U.A.

O FABRICANTE NÃO GARANTE O CONTEÚDO DESTAS PUBLICAÇÕES. AS PUBLICAÇÕES SÃOFORNECIDAS "TAL COMO ESTÃO" (AS IS) E SEM GARANTIAS DE QUALQUER ESPÉCIE, QUEREXPLÍCITAS, QUER IMPLÍCITAS, INCLUINDO, MAS NÃO SE LIMITANDO ÀS GARANTIASIMPLÍCITAS DE COMERCIALIZAÇÃO, NÃO INFRACÇÃO E ADEQUAÇÃO A UM DETERMINADOFIM.

116 IBM i: e-business e assistência da Web OmniFind Text Search Server for DB2 for i

Page 123: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas
Page 124: IBM i: e-business e assist.ncia da Web OmniFind Text ... · documentos de rich text, como, por exemplo, um ficheiro PDF ou DOC. ... através de comandos CL. Referências relacionadas

����

Printed in USA