170
IBM Confidential IBM Confidential IBM Confidential IBM Confidential IBM Confidential IBM Confidential IBM Confidential IBM Confidential IBM i Versão 7.2 E-business e serviços Web OmniFind Text Search Server for DB2 for i

IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

  • Upload
    dotuong

  • View
    233

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

IBM iVersão 7.2

E-business e serviços WebOmniFind Text Search Server for DB2for i

���

Page 2: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Page 3: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

IBM iVersão 7.2

E-business e serviços WebOmniFind Text Search Server for DB2for i

���

Page 4: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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

Este documento pode conter referências ao Código interno licenciado. O Código interno licenciado é Códigomáquina e está licenciado ao abrigo dos termos do Acordo de licença para Código máquina da IBM.

© Copyright IBM Corporation 2002, 2014.

Page 5: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Índice

OmniFind Text Search Server for DB2for i . . . . . . . . . . . . . . . . 1Novidades do IBM i 7.2 . . . . . . . . . . 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 . . 7Processamento linguístico . . . . . . . . . 8

Idiomas suportados . . . . . . . . . . 8Processamento linguístico para documentos emchinês, japonês e coreano . . . . . . . . 9

Nome alternativo de servidor . . . . . . . 11Instalar e configurar funções de procura de texto . . 12

Instalar 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 . . . 14Truncamento de documentos . . . . . . . 15

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

SYSPROC.SYSTS_START . . . . . . . . . 15SYSPROC.SYSTS_STOP . . . . . . . . . 17SYSPROC.SYSTS_CREATE . . . . . . . . 19SYSPROC.SYSTS_ALTER . . . . . . . . . 28SYSPROC.SYSTS_DROP . . . . . . . . . 34SYSPROC.SYSTS_UPDATE . . . . . . . . 36SYSPROC.SYSTS_SHUTDOWN. . . . . . . 39

Procurar com um índice de procura de texto . . . 40CONTAINS . . . . . . . . . . . . . 40SCORE . . . . . . . . . . . . . . . 42Sintaxe de argumentos de procura . . . . . . 45

Exemplos de consulta simples . . . . . . 47Operadores de procura avançada . . . . . 47Procurar caracteres especiais. . . . . . . 50Exemplo com as funções CONTAINS eSCORE . . . . . . . . . . . . . . 53

Procura XML . . . . . . . . . . . . . 53Suporte de espaço de nomes de procura XML 59Utilizar espaços de nomes em procuras . . . 61Exemplo de procura XML . . . . . . . 65Gramática de consulta de procura XML . . . 68

Administrar um OmniFind(r) Text Search Server forDB2(r) for i . . . . . . . . . . . . . . 69

Iniciar o OmniFind Text Search Server for DB2for i . . . . . . . . . . . . . . . . 70Parar o OmniFind Text Search Server for DB2 fori . . . . . . . . . . . . . . . . . 70Guardar e restaurar índices de procura de texto 71

Guardar e restaurar um índice de procura detexto sem dados . . . . . . . . . . . 71Guardar e restaurar um índice de procura detexto com dados . . . . . . . . . . . 73

Determinação de problemas . . . . . . . . 74Ver e guardar registos do servidor . . . . . . 75Ferramentas de administração . . . . . . . 76

Ferramenta de configuração . . . . . . . 76SYSPROC.SYSTS_REMOVE . . . . . . . 78SYSPROC.SYSTS_REPRIMEINDEX . . . . 80SYSTS_CLEAR_INDEXES . . . . . . . 81SYSPROC.SYSTS_VALIDITYCHECK . . . . 82QDBTSLIB.QDBTS_ROWS_STATUS . . . . 83Dicionário de sinónimos . . . . . . . . 85

Adicionar um dicionário de sinónimos auma recolha . . . . . . . . . . . 85Remover um dicionário de sinónimos deuma recolha . . . . . . . . . . . 86

Localizar índices isolados e em falta . . . . 87Administração avançada . . . . . . . . 88

Ferramenta ServerInstance . . . . . . . . 89Verificador de condição . . . . . . . . . 91Considerações de ASP independente para oOmniFind Text Search Server for DB2 for i . . . 92Alta disponibilidade . . . . . . . . . . 93Análise do desempenho . . . . . . . . . 94Considerações sobre transacções . . . . . . 98Utilizar o IBM Navigator for i . . . . . . . 99

Trabalhar com servidores de procura de texto 99Trabalhar com índices de procura de texto 101

Ver criações de índices de procura detexto . . . . . . . . . . . . . 103

Utilizar o System i Navigator . . . . . . . 104Trabalhar com servidores de procura de texto 105Trabalhar com índices de procura de texto 107

Ver criações de índices de procura de texto 110Tabelas de administração de procura de texto. . . 111

Tabela de administraçãoQSYS2.SYSTEXTDEFAULTS . . . . . . . 111Tabela de administraçãoQSYS2.SYSTEXTINDEXES . . . . . . . . 112Tabela de administraçãoQSYS2.SYSTEXTCOLUMNS . . . . . . . 114Tabela de administraçãoQSYS2.SYSTEXTSERVERS . . . . . . . . 115Tabela de administraçãoQSYS2.SYSTEXTCONFIGURATION . . . . . 116Tabela de administraçãoQSYS2.SYSTEXTSERVERHISTORY . . . . . 116Vista de índice de procura de texto . . . . . 117

© Copyright IBM Corp. 2002, 2014 iii

Page 6: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Extensões para Indexação e Procura de Dados NãoDB2 . . . . . . . . . . . . . . . . 118

Descrição geral de extensões . . . . . . . 118Criar um conjunto de procura de texto . . . . 119Adicionar um conjunto de objectos para dadosde ficheiro em spool . . . . . . . . . . 124Remover um conjunto de objectos para dadosde ficheiro em spool . . . . . . . . . . 128Adicionar um conjunto de objectos para dadosde ficheiro de dados contínuos . . . . . . 131Remover um conjunto de objectos para dadosde ficheiro de dados contínuos . . . . . . 133Adicionar um conjunto de objectos para ficheirofísico de origem de múltiplos membros. . . . 135Remover um conjunto de objectos para ficheirofísico de origem de múltiplos membros. . . . 137Remover um conjunto de objectos . . . . . 138Actualizar o conjunto. . . . . . . . . . 139Voltar a preencher o conjunto de procura detexto . . . . . . . . . . . . . . . 140Procurar o conjunto . . . . . . . . . . 141

Informação de consulta de conjunto de objectos 143Obter o estado de objectos indexados . . . . 144Obter objectos não indexados . . . . . . . 146Obter o estado do conjunto. . . . . . . . 147Desactivar um conjunto de procura de texto . . 148Alterar um conjunto de procura de texto . . . 149Considerações de ASP independentes paraConjuntos de procura de texto. . . . . . . 152Criar e restaurar cópias de segurança deconsiderações para conjuntos de procura detexto . . . . . . . . . . . . . . . 153

Mensagens e códigos . . . . . . . . . . . 153Mensagens OmniFind . . . . . . . . . 153

Avisos . . . . . . . . . . . . . . 157Informações sobre a interface de programação . . 159Marcas comerciais . . . . . . . . . . . . 159

Índice Remissivo . . . . . . . . . . 161

iv IBM i: OmniFind Text Search Server for DB2 for i

Page 7: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 156.

Novidades do IBM i 7.2Consulte 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 “Extensões para Indexação e Procura de Dados Não DB2” na página 118

– “Adicionar um conjunto de objectos para ficheiro físico de origem de múltiplos membros” na página135

– “Adicionar um conjunto de objectos para dados de ficheiro de dados contínuos” na página 131– “Alterar um conjunto de procura de texto” na página 149– Remover conjunto de objectos por atributo

- “Remover um conjunto de objectos para dados de ficheiro em spool” na página 128- “Remover um conjunto de objectos para dados de ficheiro de dados contínuos” na página 133- “Remover um conjunto de objectos para ficheiro físico de origem de múltiplos membros” na

página 137v “Procurar caracteres especiais” na página 50v Remover índices isoladosv Encerrar servidorv Verificar o estado e o código de retorno para cada linha no estado de aviso ou errov Suporte RCAC

– Criar índice de procura de texto protegido– Alterar o índice de procura de texto para índice protegido

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.

© Copyright IBM Corp. 2002, 2014 1

Page 8: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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

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. Os

2 IBM i: OmniFind Text Search Server for DB2 for i

Page 9: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

procedimentos 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.

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.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:

OmniFind Text Search Server 3

Page 10: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

“CONTAINS” na página 40Pode 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 42Pode 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 5770JV1 IBM Developer Kit for Java™

– Um dos seguintes:- 5770JV1 Option 11 Java SE 6 32 bit- 5770JV1 Option 12 Java SE 6 64 bit

v 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: OmniFind Text Search Server for DB2 for i

Page 11: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 36Pode 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 112Pode 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 114Pode 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 activadoresPode 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 activadoresarmazenam automaticamente informações acerca de documentos novos, alterados e eliminados numa

OmniFind Text Search Server 5

Page 12: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

tabela 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 36Pode 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– Portable Document Format (PDF)

6 IBM i: OmniFind Text Search Server for DB2 for i

Page 13: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

– 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 53Pode 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.

Classificação de texto e suporte de sinónimosPode 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.

OmniFind Text Search Server 7

Page 14: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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ágina85.Referências relacionadas:“SCORE” na página 42Pode 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.

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 Server

8 IBM i: OmniFind Text Search Server for DB2 for i

Page 15: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

for 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

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.

OmniFind Text Search Server 9

Page 16: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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

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:

10 IBM i: OmniFind Text Search Server for DB2 for i

Page 17: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 do servidor podem serutilizados para se referir aos servidores em SYSTS_START, SYSTS_STOP e SYSTS_CREATE,procedimentos SYSTS_SHUTDOWN e SYSTS_CLEAR_INDEXES.

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

Referências relacionadas:“Tabela de administração QSYS2.SYSTEXTSERVERS” na página 115Pode 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 15Pode 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.

OmniFind Text Search Server 11

Page 18: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

“SYSPROC.SYSTS_SHUTDOWN” na página 39Pode chamar o procedimento armazenado SYSPROC.SYSTS_SHUTDOWN para encerrar as funções deprocura de texto DB2®. Este procedimento armazenado define o valor SERVERSTATUS no catálogoQSYS2.SYSTEXTSERVERS para 1 (parado) e também pára os trabalhos de servidor de procura de texto nosistema central.“SYSTS_CLEAR_INDEXES” na página 81Pode remover índices isolados com o SYSPROC. Procedimento armazenado SQLSYSTS_CLEAR_INDEXES. Outro modo implícito é invocar o SYSTS_START directamente, que tentalimpar os índices isolados automaticamente.

Instalar e configurar funções de procura de textoPode 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 e seleccionea opção 10 (Ver Programas Licenciados Instalados). O programa será apresentado na lista de programaslicenciados.

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.

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.

12 IBM i: OmniFind Text Search Server for DB2 for i

Page 19: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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’);

Os valores do exemplo têm de ser alterados com os valores reais para o servidor.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 115Pode 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_DROPReferências relacionadas:“SYSPROC.SYSTS_START” na página 15Pode 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 36Pode 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 34Pode 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.

OmniFind Text Search Server 13

Page 20: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

“CONTAINS” na página 40Pode 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 42Pode 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 aactualizaçã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 36Pode 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:

14 IBM i: OmniFind Text Search Server for DB2 for i

Page 21: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

“CONTAINS” na página 40Pode 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 42Pode 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.

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.

OmniFind Text Search Server 15

Page 22: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 SYSTXTSRVR.v Autoridade *EXECUTE na biblioteca QSYS2 do ficheiro SYSTXTSRVR.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 servidorconsiste 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 identificados peloparâmetro SERVERCLASS = 0 na tabela QSYS2.SYSTEXTSERVERS. Todos os servidores de teste têm deser iniciados através da especificação do serverid ou aliasname associado ao servidor de teste.

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

16 IBM i: OmniFind Text Search Server for DB2 for i

Page 23: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 70Pode 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 115Pode 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 40Pode 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 42Pode 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).

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: Os procedimentos administrativos e consultas SQL que utilizam as funções incorporadasCONTAINS ou SCORE que estavam a ser executadas quando o SYSTS_STOP foi invocado têm permissãopara serem concluídas.

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 procedimento

OmniFind Text Search Server 17

Page 24: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

v 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')

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 115Pode 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 15Pode activar funções de procura de texto de DB2 chamando o procedimento armazenadoSYSPROC.SYSTS_START.

18 IBM i: OmniFind Text Search Server for DB2 for i

Page 25: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

“CONTAINS” na página 40Pode 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 42Pode 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 procurade texto 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 procura detexto após o preenchimento inicial da tabela. Ao criar o índice de procura de texto após o preenchimentoinicial da tabela, evitará o accionamento de activadores de alterações antes de uma actualizaçã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.

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

OmniFind Text Search Server 19

Page 26: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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

Se a coluna que o índice de procura de texto criou contém um procedimento de campo, o ID deautorização tem de ter um dev Autoridade *EXECUTE para o programa ev Autoridade *EXECUTE na biblioteca que contém o programa

Ouv 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.

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, juntamente

20 IBM i: OmniFind Text Search Server for DB2 for i

Page 27: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

com 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.

Notas:

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

v Coloque os nomes entre aspas caso estes entrem em conflito com palavras-chave de SQLou 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 o

OmniFind Text Search Server 21

Page 28: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

tipo 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 um argumento.v Coloque os nomes entre aspas caso estes entrem em conflito com palavras-chave de SQL

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 oprocessamento 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, o processamentolinguí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.

22 IBM i: OmniFind Text Search Server for DB2 for i

Page 29: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 como TEXTou 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 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. 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.

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>

OmniFind Text Search Server 23

Page 30: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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.

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.

24 IBM i: OmniFind Text Search Server for DB2 for i

Page 31: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 )

ROW_COLUMN_ACCESS:

NOT SECURED SECURED

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.

OmniFind Text Search Server 25

Page 32: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 à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.

ROW_COLUMN_ACCESSEspecifica se o índice de procura de texto é considerado protegido para controlo de acesso delinha e controlo de acesso de coluna.

NOT_SECUREDEspecifica se o índice de procura de texto é considerado não protegido para controlo deacesso de linha e controlo de acesso de coluna. Esta é a predefinição.

A tabela de base para o índice não tem de ter uma permissão activa ou Máscara.

26 IBM i: OmniFind Text Search Server for DB2 for i

Page 33: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

SECUREDEspecifica se o índice é considerado protegido para o controlo de acesso da linha e para ocontrolo de acesso da coluna.

Um índice de procura de texto tem de ser definido como protegido para ser criado sobreuma tabela com uma permissão activa ou máscara de coluna. Se uma função estáreferenciada para aceder ou modificar dados numa coluna com máscara, a função de serdefinida como protegida. O ID de autorização tem de ter autoridade DB_SECADMINpara criar um índice de procura de texto com o atributo PROTEGIDO.

Quando um índice de procura de texto é criado sobre informação sensível existemconsiderações adicionais:

O administrador da base de dados necessita de estar consciente de que os dadosespecificados como coluna(s) chave para o índice de procura de texto serão armazenadosnuma tabela de passagem em QSYS2 e enviados para o servidor de procura de texto aoutilizar protocolos de rede.

O administrador da base de dados necessita de estar consciente de que os dadosindexados por um índice de procura de texto são enviados para o servidor de procura detexto ao utilizar protocolos de rede e armazená-los fora do DB2 no servidor de procurade texto.

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.

OmniFind Text Search Server 27

Page 34: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Tabela 2. Valores predefinidos para o parâmetro opções (continuação)

OpçãoValorpredefinido Descrição

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.

ROW_COLUMN_ACCESS NOT_SECURED Especifica se o índice é criado como protegido ou não.

USEREXITTHREADS 0 Reservado

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 115Pode 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 112Pode 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 111Pode 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 36Pode 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 15Pode activar funções de procura de texto de DB2 chamando o procedimento armazenadoSYSPROC.SYSTS_START.“Idiomas suportados” na página 8Pode 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:

28 IBM i: OmniFind Text Search Server for DB2 for i

Page 35: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

v O índice de procura de texto foi criado (através da invocação do procedimento armazenadoSYSPROC.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

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.

OmniFind Text Search Server 29

Page 36: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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).

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 de

30 IBM i: OmniFind Text Search Server for DB2 for i

Page 37: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

texto. 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. 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.

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.

OmniFind Text Search Server 31

Page 38: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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.

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.

32 IBM i: OmniFind Text Search Server for DB2 for i

Page 39: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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.

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

INDEX CONFIGURATION ( �

,

opção valor )

ROW_COLUMN_ACCESS:

NOT SECURED SECURED

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.

ROW_COLUMN_ACCESSEspecifica se o índice de procura de texto é considerado protegido para controlo de acesso delinha e controlo de acesso de coluna.

NOT_SECUREDEspecifica se o índice de procura de texto é considerado não protegido para controlo deacesso de linha e controlo de acesso de coluna. Esta é a predefinição.

OmniFind Text Search Server 33

Page 40: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

A tabela de base para o índice não tem de ter uma permissão activa ou Máscara.

SECUREDEspecifica se o índice é considerado protegido para o controlo de acesso da linha e para ocontrolo de acesso da coluna.

Um índice de procura de texto tem de ser definido como protegido para ser criado sobre umatabela com uma permissão activa ou máscara de coluna. Se uma função está referenciadapara aceder ou modificar dados numa coluna com máscara, a função de ser definida comoprotegida. O ID de autorização tem de ter autoridade DB_SECADMIN para criar um índicede procura de texto com o atributo PROTEGIDO.

Quando um índice de procura de texto é criado sobre informação sensível existemconsiderações adicionais:

O administrador da base de dados necessita de estar consciente de que os dadosespecificados como coluna(s) chave para o índice de procura de texto serão armazenadosnuma tabela de passagem em QSYS2 e enviados para o servidor de procura de texto aoutilizar protocolos de rede.

O administrador da base de dados necessita de estar consciente de que os dados indexadospor um índice de procura de texto são enviados para o servidor de procura de texto aoutilizar protocolos de rede e armazená-los fora do DB2 no servidor de procura de texto.

Sugestões: Se os utilizadores alterarem um índice de PROTEGIDO para NÃO PROTEGIDO, osutilizadores tem de se certificar que a tabela de referência não deve ter uma máscara de permissão activa.Ou será emitido um erro.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 36Pode 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 112Pode 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 detexto. 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.

34 IBM i: OmniFind Text Search Server for DB2 for i

Page 41: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

No “Ferramentas de administração” na página 76, pode encontrar informações sobre as ferramentas paraidentificar os índices isolados e o procedimento armazenado STSPROC.SYSTS_REMOVE ouSYSPROC.SYSTS_CLEAR_INDEXES 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, no mínimo, 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.

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.

OmniFind Text Search Server 35

Page 42: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

“SYSPROC.SYSTS_START” na página 15Pode 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 78Pode remover índices isolados com o procedimento armazenado de SQL SYSPROC.SYSTS_REMOVE.“SYSTS_CLEAR_INDEXES” na página 81Pode remover índices isolados com o SYSPROC. Procedimento armazenado SQLSYSTS_CLEAR_INDEXES. Outro modo implícito é invocar o SYSTS_START directamente, que tentalimpar os índices isolados automaticamente.

SYSPROC.SYSTS_UPDATEPode 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 capturadas por um activador e escritas numa tabela depassagem. 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). Acoluna ERRORMSG tem valor pata registar mensagens de erro. Pode obter estes registos com umprocedimento armazenado que inclui a seguinte consulta:SELECT s.TOBEDELETED, s.ERRORMSG, 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. ERRORMSG éuma coluna que regista as mensagens de erro enquanto indexa este documento. Após corrigir os errosdesses 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.

Se um índice for criado como PROTEGIDO, os dados sem máscara são obtidos a partir da tabela base eindexados, como se não houvesse máscara ou permissão criada nesta tabela.

Se houver procedimentos de campo criados na tabela base, são indexados os dados originais semmáscara.

36 IBM i: OmniFind Text Search Server for DB2 for i

Page 43: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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

Se o índice foi criado pelo SYSTS_CREATE como índice PROTEGIDO, o ID de autorização tem de terautoridade DB_SECADMIN.

OmniFind Text Search Server 37

Page 44: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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_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

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 15Pode activar funções de procura de texto de DB2 chamando o procedimento armazenadoSYSPROC.SYSTS_START.“SYSPROC.SYSTS_DROP” na página 34Pode 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.

38 IBM i: OmniFind Text Search Server for DB2 for i

Page 45: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

SYSPROC.SYSTS_SHUTDOWNPode chamar o procedimento armazenado SYSPROC.SYSTS_SHUTDOWN para encerrar as funções deprocura de texto DB2®. Este procedimento armazenado define o valor SERVERSTATUS no catálogoQSYS2.SYSTEXTSERVERS para 1 (parado) e também pára os trabalhos de servidor de procura de texto nosistema central.

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.

As alterações na tabela de referência do índice continuam a ser registadas, mesmo quando o servidor éencerrado. 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 procedimento.v 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_SHUTDOWN--(--+-----------+--)-----------------------------><

+-serverid--+’-aliasname-’

Parâmetros

serverid ou aliasnameEspecifica o identificador do servidor para limpar os índices isolados. Um ID de servidor serverid oualiasname de servidor consiste numa cadeia. Se não for fornecido nenhum identificador, a predefiniçãoé de limpar índices isolados em todos os servidores. A cadeia identificadora tem de ser um serveridválido que existe na coluna SERVERID ou um nome alternativo de servidor válido que existe nacoluna ALIASNAME da tabela QSYS2.SYSTEXTSERVERS. Se o identificador puder ser convertidonum valor inteiro, é interpretado como um serverid. Se o identificador não puder ser convertido numvalor inteiro, é interpretado como um aliasname de servidor.

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

Exemplov Para encerrar todos os servidores de produção:

CALL SYSPROC.SYSTS_SHUTDOWN().

v Para encerrar um servidor com um ID de 1:CALL SYSPROC.SYSTS_SHUTDOWN(1)

v Para encerrar um servidor com um nome alternativo de "LOCAL_SERVER":CALL SYSPROC.SYSTS_SHUTDOWN(’LOCAL_SERVER’)

v Para encerrar um servidor com um nome alternativo de "local_server":CALL SYSPROC.SYSTS_SHUTDOWN(’local_server’)

Conceitos relacionados:

OmniFind Text Search Server 39

Page 46: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

“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 115Pode 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 15Pode activar funções de procura de texto de DB2 chamando o procedimento armazenadoSYSPROC.SYSTS_START.“CONTAINS”Pode 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 42Pode 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.

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

40 IBM i: OmniFind Text Search Server for DB2 for i

Page 47: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 41

Page 48: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 14Pode 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 45Pode 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.

42 IBM i: OmniFind Text Search Server for DB2 for i

Page 49: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

��(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 43

Page 50: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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

Tarefas relacionadas:“Procurar num índice de procura de texto” na página 14Pode 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 40Pode 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” na página 45Pode 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.

44 IBM i: OmniFind Text Search Server for DB2 for i

Page 51: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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.

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.

OmniFind Text Search Server 45

Page 52: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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.

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 53Pode 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 40Pode 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.

46 IBM i: OmniFind Text Search Server for DB2 for i

Page 53: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

“SCORE” na página 42Pode 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.Referências relacionadas:“CONTAINS” na página 40Pode 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 42Pode 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.

OmniFind Text Search Server 47

Page 54: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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.

^

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

Primeira consulta:

"Rei Lear"^4 "Ricardo III"

Segunda consulta:

título: (descarregamento desoftware)^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.

48 IBM i: OmniFind Text Search Server for DB2 for i

Page 55: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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

Operadores Exemplos Resultados da procura

\

(Carácter de escape)

\(1\+1\)\:2 Devolve documentos que contêm(1+1):2. Utilize a \ como um carácterde escape para que possa utilizarcaracteres especiais que normalmentefazem parte da sintaxe de consulta. Seum carácter especial for precedido pelocarácter de escape, o carácter especial éanalisado como parte da consulta. Oscaracteres especiais são: +, -, &&, ||, !, (,), {, }, [, ], ^, ", ~, *, ?, : e \. Se umcarácter especial for precedido pelocarácter de escape, será analisado comoparte da consulta.

%

Termos opcionais

log %file Devolve documentos que incluem oterm log e opcionalmente incluem oterm file.

~

Procura imprecisa

analytics~analytics~0.8

A primeira consulta devolvedocumentos que incluem os termosanalytics, analyze, analysis, entre outros.

Um procura imprecisa consulta procuraspor sequências de caracteres que não sósão iguais mas semelhantes ao termo deconsulta. Utilize o símbolo do til (~) nofinal de um termo para executar umaprocura imprecisa.

Pode adicionar um parâmetro opcionalpara especificar a semelhança necessária.Especifique um valor superior a 0 einferior a 1. O valor tem de serprecedido por um 0 e uma vírguladecimal, por exemplo, 0,8. Um valormais próximo de 1 corresponde a termoscom maior « semelhança. Se o parâmetronão for especificado, a predefinição é0,5.

Restrição: Os caracteres especiais nãosão suportados em consultas de procurade proximidade.

OmniFind Text Search Server 49

Page 56: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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

Operadores Exemplos Resultados da procura

~

Procura de proximidade

"IBM WebSphere"~7 Devolve documentos que contêm "IBM"e "WebSphere" com sete palavras entreambas.

Uma procura de proximidade encontradocumentos que contêm termos com umdeterminado número de palavras entreos mesmos. Utilize o símbolo do til (~)para executar uma procura deproximidade.

A procura de proximidade é suportadapara termos individuais, não para frases.De notar também que uma palavrasapós uma interrupção na frase não éconsiderada uma palavra adjacente apalavras na frase anterior.

Restrição: Os caracteres especiais nãosão suportados em consultas de procurade proximidade.

Referências relacionadas:“CONTAINS” na página 40Pode 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 42Pode 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.

Procurar caracteres especiaisO OmniFind siporta a indexação e procura de caracteres especiais.

Pode procurar por caracteres especiais como outros termos de procura. Para encontrar um carácterespecial num documento, inclua o carácter especial na expressão de procura. Em alguns casos, énecessário ignorar caracteres especiais.

Ignorar caracteres especiais

Os caracteres especiais podem servir para funções diferentes na sintaxe de procura. Por exemplo, ospontos de interrogação (?) podem ser utilizados como caracteres globais. Para procurar por um carácterespecial que tem uma função especial na sintaxe de procura, tem de ignorar o carácter especial aoadicionar uma barra invertida antes do mesmo, por exemplo:v Para procurar pela cadeia “onde?”, ignore o ponto de interrogação da seguinte forma: “onde\?”v Para procurar pela cadeia “c:\temp,” ignore os dois pontos e a barra invertida da seguinte forma:

“c\:\\temp”

Se não ignorar tais caracteres especiais podem ocorrer erros de sintaxe.

Tabela 5. Os caracteres especiais que têm de ser ignorados para serem procurados

Carácter especial Notas de comportamento quando não são ignorados

E comercial (&)

50 IBM i: OmniFind Text Search Server for DB2 for i

Page 57: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Tabela 5. Os caracteres especiais que têm de ser ignorados para serem procurados (continuação)

Carácter especial Notas de comportamento quando não são ignorados

Asterisco (*) Utilizado como carácter global.

Arroba (@) Um erro de sintaxe é criado quando um arroba é oprimeiro carácter de uma procura. Em expressõesxmlxp, o sinal de arroba é utilizado para se referir a umatributo.

Parênteses rectos [ ] Utilizados em expressões xmlxp para procurar osconteúdos de elementos e atributos

Chavetas { } Cria um erro de sintaxe.

Barra invertida (\)

Sinal circunflexo (^) Utilizado para aumentar (intensificar) termos.

Dois pontos (:) Utilizado para procurar nos conteúdos dos campos.

Sinal de igual (=) Cria um erro de sintaxe.

Ponto de exclamação (!) Um erro de sintaxe é devolvido quando um ponto deexclamação é o primeiro carácter de uma procura.

Barra (/) Nas expressões xmlxp, é utilizada uma barra como umseparador de caminho do elemento.

Símbolo maior do que (>) Símbolo menor do que (<) Utilizado em expressões xmlxp para comparar o valorde um atributo. De outro modo, estes caracteres criamerros de sintaxe.

Sinal de menos (-) Quando um sinal de menos é o primeiro carácter de umtermo, apenas documentos que não contêm o termo sãodevolvidos.

Parêntesis ( ) São utilizados para agrupamento.

Sinal de percentagem (%) Especifica que um termo de procura é opcional.

Sinal de mais (+)

Ponto de interrogação (?) Processado como um carácter global.

Ponto e vírgula (;)

Plica (‘) As plicas são utilizadas para conterem expressõesxmlxp.

Til (~) São processados como operadores de procura imprecisae de proximidade

Barra vertical (|)

Ignora caracteres especiais que não servem uma função especial é opcional na sintaxe de procura. Aseguinte tabela apresenta alguns exemplos de caracteres especiais que não necessitam de ser ignorados.

Tabela 6. Exemplos de caracteres especiais que não necessitam de ser ignorados

Carácter especial Notas de comportamento quando não são ignorados

Vírgula (,)

Sinal de dólar ($)

Ponto final (.) Nas expressões xmlxp, um ponto final é utilizado paraprocurar o conteúdo dos elementos.

Cardinal (#)

Sublinhado (_)

OmniFind Text Search Server 51

Page 58: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Os caracteres especiais adjacentes para procurar termos

Quando um carácter especial está adjacente a uma palavra numa procura, são devolvidos os documentosque contêm o carácter especial e a palavra na mesma ordem. Por exemplo, procurar por “30$” encontradocumentos que contêm “30$”, mas não encontra documentos que contêm “$30”. Contudo, procurar por“30 $” (com um espaço) encontra todos os documentos que contêm “30” e “$” em qualquer lugar nosdocumentos incluindo “30$” e “$30”.

Quando um carácter especial está adjacente a uma palavra de paragem numa procura, a palavra deparagem não é removida da procura. Por exemplo, procurar por “at&t” não remove a palavra deparagem “at”. Contudo, procurar por “at & t” com espaços remove a palavra de paragem “at”.

Quando um carácter especial separa duas palavras, a sequência de símbolos é procurada como umasequência. Por exemplo, procurar por “jack_jones” encontra documentos que contêm “jack_jones” masnºao encontra documentos que contêm “jack_and_jones”.

As palavras que estão adjacentes a um carácter especial são lematizadas. Por exemplo, procurar por“cats&dogs” em inglês encontra documentos que contêm “cat&dog”.

Pode utilizar caracteres especiais em expressões de procura com carácter global. Por exemplo, procurarpor “ja*_” encontra documentos que contêm “jack_jones”. Contudo, não pode utilizar caracteres globaispara encontrar caracteres especiais. Por exemplo, procurar por “ca*s” encontra documentos quem contêm“cats”, “categorias”, ou “cas”, mas não encontra documentos que contêm “ca_s”.

Indexar caracteres especiais

Durante a criação de símbolos e o processamento de idioma, o servidor OmniFind identifica e indexacaracteres especiais como pontuação. Os caracteres especiais são delimitadores de símbolos.

Por exemplo, “jack_jones” está simbolizado como três símbolos separados: “jack”, “_”, e “jones”. Ose-mails, URL e caminhos do ficheiro são decompostos em símbolos, por exemplo:v [email protected] é simbolizado como jack _ jones @ ibm . comv http://www.ibm.com é simbolizado como http :// www . ibm . com

Os caracteres especiais não ocupam uma posição de símbolo no ficheiro. Por exemplo, "jack_jones" éindexado com o sublinhado na mesma posição do símbolo como "jack". Os caracteres especiais tambémnão ocupam uma posição de símbolo quando os espaços são incluídos. Por exemplo, “jack_jones” éindexado da mesma forma que “jack _ jones”.

A posição do símbolo é utilizada para procura de expressão exacta e para procura de proximidade. Porexemplo, se um documento contem a expressão jack_jones, procurar pela expressão exacta ““jack jones””encontra este documento.

Quando uma sequência de caracteres especiais são indexados separadamente, estes não são procuradosnuma ordem em particular. Por exemplo, procurar por “#$” também encontra documentos que contêm“$#”.

Caracteres especiais em idiomas CJK

Para encontrar uma sequência de caracteres que inclui caracteres especiais, a expressão de consulta temde incluir os caracteres especiais. Se omitir os caracteres especiais da expressão de consulta, a sequênciade carácter pode não ser encontrada. Em idiomas não CJK, a sequência de carácter é sempre encontrada,mesmo se a expressão de consulta omitir os caracteres especiais. Por exemplo, se um documentoindexado contém john_smith, pode procurar por john_smith ou "john smith" (correspondência exacta, semo sublinhado) e ambas as consultas devolvem o documento que contém john_smith.

52 IBM i: OmniFind Text Search Server for DB2 for i

Page 59: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Restrição: Não pode procurar pelos seguintes caracteres especiais em documentos CJK: ? * \

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).

Tabela 7. 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 40Pode 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 42Pode 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.

OmniFind Text Search Server 53

Page 60: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 OMNIFIND CONTAINS e SCORE para procurar dados XML, acadeia de consulta tem de iniciar com o 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’’ ').

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

54 IBM i: OmniFind Text Search Server for DB2 for i

Page 61: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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

Expressões de caminho:

Tabela 8. 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.

/ 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 9. 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.

Recomendamos que uma expressão do caminho inicie com uma precedência / ou //. Isto indica que ocontexto inicial da expressão é o nó raiz do documento. Quando a precedência / ou // é omitida, aexpressão faz correspondência a qualquer nível. Por outras palavras, 'Sentences' é criado como’//Sentences’ . O comportamento é definido desta forma para ser compatível com edições anteriores enão segue o padrão W3 ou SQL/XML.

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.

OmniFind Text Search Server 55

Page 62: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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*.

Tabela 10. 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 11. 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.

56 IBM i: OmniFind Text Search Server for DB2 for i

Page 63: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Tabela 12. 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.

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 13. 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.

OmniFind Text Search Server 57

Page 64: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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.

Tabela 14. 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 15. 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.

58 IBM i: OmniFind Text Search Server for DB2 for i

Page 65: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Operadores lógicos

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

Tabela 16. 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.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 45Pode 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 80Pode 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 40Pode 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 42Pode 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.

OmniFind Text Search Server 59

Page 66: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 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.<?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

60 IBM i: OmniFind Text Search Server for DB2 for i

Page 67: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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.

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.

OmniFind Text Search Server 61

Page 68: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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>’ ||’ <TITLE> Criar um índice de procura de texto </TITLE>’ ||’ <ABSTRACT> Este capítulo explica 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 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>’ ||

62 IBM i: OmniFind Text Search Server for DB2 for i

Page 69: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

’ <TITLE> Utilizar espaços de nomes predefinidos </TITLE>’ ||’ <ABSTRACT> Este capítulo explica 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.

Tabela 17. 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 18. 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 19. Resultado

ID

2

OmniFind Text Search Server 63

Page 70: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 das palavrasda procura são consideradas.

Tabela 20. 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 21. 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.

64 IBM i: OmniFind Text Search Server for DB2 for i

Page 71: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 22. Resultado

ID

3

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 36Pode 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 40Pode 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 156.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 explica como criar um índice de procura de texto </ABSTRACT>’ ||’ </CHAPTER>’ ||’</BOOK>’);

OmniFind Text Search Server 65

Page 72: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 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 explica 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 23. Resultado

ID

1

2

3

66 IBM i: OmniFind Text Search Server for DB2 for i

Page 73: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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;

Tabela 24. 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 25. 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 das palavrasda procura são consideradas.

Tabela 26. 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

OmniFind Text Search Server 67

Page 74: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

“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 27. 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 28. 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 53.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.

68 IBM i: OmniFind Text Search Server for DB2 for i

Page 75: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 29. Gramática de consulta suportada na notação EBNF

Símbolo Produção

XMLQuery ::= QueryPrefix NameSpaceDeclaration QueryString| QueryPrefix QueryString

QueryPrefix ::= @xmlxp:

QueryString ::= "'" PathExpr "'"

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.

OmniFind Text Search Server 69

Page 76: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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)

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 QDBTS BCI 0.0 JVM-com.ibm.esv QJVAEXEC QDBTS BCI 0.0 PGM-textExtracv QJVAEXEC QDBTS BCI 0.0 PGM-textExtracv QJVAEXEC QDBTS BCI 0.0 PGM-textExtracv QJVAEXEC QDBTS BCI 0.0 PGM-textExtrac

onde QDBTS é o perfil de utilizador OmniFind criado enquanto instala o produto.

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 15Pode activar funções de procura de texto de DB2 chamando o procedimento armazenadoSYSPROC.SYSTS_START.“Tabela de administração QSYS2.SYSTEXTSERVERS” na página 115Pode 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

70 IBM i: OmniFind Text Search Server for DB2 for i

Page 77: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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. Indica no catálogo SYSTEXTSERVER que o servidor foi parado por chamarSYSPROC.SYSTS_SHUTDOWN. Para além do conjunto SERVERSTATUS para inactivo (1), esteprocedimento também irá terminar os trabalhos de servidor de procura de texto no sistema central.v Para encerrar todos os servidores: CALL SYSPROC.SYSTS_SHUTDOWN().v Para encerrar um servidor específico:

a. Consulte o catálogo do servidor para obter o serverid que pretende encerrar: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. Chamar SYSPROC.SYSTS_SHUTDOWN, especificar o serverid numérico ou o nome alternativodo servidor que pretende encerrar:CALL SYSPROC.SYSTS_SHUTDOWN(serverid).

3. (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’) .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). Quando os procedimentos armazenados SYSTS_CREATE, SYSTS_UPDATE eSYSTS_DROP são chamados da próxima vezou quando uma função incorporada CONTAINS ouSCORE é invocada como parte de uma consulta SQL, o servidor inicia 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).“SYSPROC.SYSTS_SHUTDOWN” na página 39Pode chamar o procedimento armazenado SYSPROC.SYSTS_SHUTDOWN para encerrar as funções deprocura de texto DB2®. Este procedimento armazenado define o valor SERVERSTATUS no catálogoQSYS2.SYSTEXTSERVERS para 1 (parado) e também pára os trabalhos de servidor de procura de texto nosistema central.“Tabela de administração QSYS2.SYSTEXTSERVERS” na página 115Pode 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 textoPode 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.

OmniFind Text Search Server 71

Page 78: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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.

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 do activador que são adicionados à tabela dereferência e o nome do conjunto no servidor de procura de texto podem mudar, uma vez que sãocriados pelo sistema.

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.

72 IBM i: OmniFind Text Search Server for DB2 for i

Page 79: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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).v A tabela de passagem utilizada como ficheiro de registo que efectua o rastreio de alterações de registo

na 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*)).

OmniFind Text Search Server 73

Page 80: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

5. Guarde as informações do índice de procura de texto no sistema de ficheiros integrado. Estasinformaçõ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.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 36Pode 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.

74 IBM i: OmniFind Text Search Server for DB2 for i

Page 81: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 do servidor predefinido criando durante a instalação está localizado nodirectó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.

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>

OmniFind Text Search Server 75

Page 82: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Opção Descrição

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çãoO 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 actualv 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 89.

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.

76 IBM i: OmniFind Text Search Server for DB2 for i

Page 83: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

3. O terceiro parâmetro corresponde ao caminho para o nó raiz no sistema de ficheiros integrado noqual as informações relacionadas com o servidor 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 30. 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

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.

OmniFind Text Search Server 77

Page 84: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

-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.

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.

78 IBM i: OmniFind Text Search Server for DB2 for i

Page 85: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 o servidornã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;

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 de conjuntos dememó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)

OmniFind Text Search Server 79

Page 86: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 112Pode 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 87Pode 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.

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 como especificar oparâmetro options.

SQL para SYSTS_REPRIMEINDEXCREATE PROCEDURE SYSPROC.SYSTS_REPRIMEINDEX(

IN INDEXSCHEMA VARCHAR(128) CCSID 1208,IN INDEXNAME VARCHAR(128) CCSID 1208,

80 IBM i: OmniFind Text Search Server for DB2 for i

Page 87: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 36Pode 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.

SYSTS_CLEAR_INDEXESPode remover índices isolados com o SYSPROC. Procedimento armazenado SQLSYSTS_CLEAR_INDEXES. Outro modo implícito é invocar o SYSTS_START directamente, que tentalimpar os índices isolados automaticamente.

Autorização

Os índices isolados podem ser identificados através da utilização do QDBTS_LISTINXSTS Função detabela definida pelo utilizador (UDTF, User Defined Table Function).

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>>- SYSTS_CLEAR_INDEXES--(--+-----------+--)-----------------------------><

+-serverid--+’-aliasname-’

Parâmetros

serverid ou aliasnameEspecifica o identificador do servidor para limpar os índices isolados. Um ID de servidor serverid oualiasname de servidor consiste numa cadeia. Se não for fornecido nenhum identificador, a predefiniçãoé de limpar índices isolados em todos os servidores. A cadeia identificadora tem de ser um serveridválido que existe na coluna SERVERID ou um nome alternativo de servidor válido que existe nacoluna ALIASNAME da tabela QSYS2.SYSTEXTSERVERS. Se o identificador puder ser convertidonum valor inteiro, é interpretado como um serverid. Se o identificador não puder ser convertido numvalor inteiro, é interpretado como um aliasname de servidor.

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

Exemplov Limpar todos os índices isolados:

Chamar SYSPROC.SYSTS_CLEAR_INDEXES();

v Limpar índices isolados num servidor específico com ID 50:

OmniFind Text Search Server 81

Page 88: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Chamar SYSPROC.SYSTS_CLEAR_INDEXES(50);Chamar SYSPROC.SYSTS_CLEAR_INDEXES(’50’);

v Limpar índices isolados num servidor específico com nome alternativo “Local_server”:Chamar SYSPROC.SYSTS_CLEAR_INDEXES(’Local_server’);

v Limpar implicitamente índices isolados:CALL SYSPROC.SYSTS_START();CALL SYSPROC.SYSTS_START(50);

Nota: Quando o conjunto no servidor de procura de texto está num grupo ASP independente, o móduloque chama o procedimento armazenado SYSTS_CLEAR_INDEXES tem de ser executado no espaço denomes do ASP independente. Utilize o comando do Grupo do conjunto de memória auxiliar do conjunto(SETASPGRP).

Para remover um índice isolado de um ASP iaspXXX independente, pode utilizar os seguintes comandos:CL: SETASPGRP(isapXXX)SQL: CALL SYSPROC.SYSTS_CLEAR_INDEXES( )

Nota: Se utilizar o System i® Navigator, faça clique com o botão direito no nome da base de dados para oASP independente e execute os respectivos scripts SQL.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.SYSTEXTINDEXES” na página 112Pode 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 87Pode encontrar índices isolados e em falta utilizando uma Função de tabela definida pelo utilizador(UDTF) de SQL denominada QDBTS_LISTINXSTS.

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.

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.

82 IBM i: OmniFind Text Search Server for DB2 for i

Page 89: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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)

QDBTSLIB.QDBTS_ROWS_STATUSOs utilizadores podem verificar quais os documentos que não foram indexados com sucesso ao utilizar oprocedimento armazenado SQL QDBTSLIB.QDBTS_ROWS_STATUS após ter chamado o SYSTS_UPDATE.

Com este procedimento armazenado, os utilizadores podem obter um conjunto de resultados queapresenta esses documentos que não foram indexados com sucesso. Ou os utilizadores podem escolhescriar uma tabela nova para armazenar informações relacionadas com esses documentos que não foramindexados com sucesso.

Sintaxe

>>-QDBTSLIB.QDBTS_ROWS_STATUS (IndexSchema, IndexName, ResultSetIndicator, TableSchema,TableName) -><

O qualificador de esquema é QDBTSLIB.

Parâmetro

Grupo de parâmetros obrigatórios

OmniFind Text Search Server 83

Page 90: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

IndexSchemaIdentifica o esquema do índice de procura de texto. Tem de especificar um valor que não seja nulopara este parâmetro.

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 do índice identifica unicamente o índice de texto completo 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).

Grupo de parâmetros opcionais

ResultSetIndicatorIdentifica se deve devolver o conjunto de resultados directamente para o utilizador ou não.

Se o ResultSetIndicator não for passado ou estiver definido para zero, o conjunto de resultados édevolvido para o chamador.

Se o ResultSetIndicator estiver especificado e NÃO estiver definido para zero, não é devolvidonenhum conjunto de resultados e o chamador pode consultar a tabela especificada por TableSchema eTableName.O tipo de dados para este parâmetro é INTEGER.

TableSchemaIdentifica o esquema da tabela. Se o ResultSetIndicator estiver especificado para NÃO zero, esteesquema tem de existir.

TableNameIdentifica o nome da tabela criado por este procedimento armazenado. Se o ResultSetIndicator estiverespecificado e NÃO for zero, este procedimento armazenado irá criar uma tabela nova com estenome da tabela.

Conjunto de resultados ou estrutura de tabela

TIME TIMESTAMP

STATUS INTEGER

TEXT_STATUS VARCHAR(50)

MESSAGE VARCHAR(1024)

KEYCOLUMNNAMES Depende das colunas chave definidas na tabela base

TIMEEsta é a hora na qual o erro/aviso foi enviado. ..

STATUS, TEXT_STATUS

30 AVISO Este registo foi indexado mas existe um aviso sobre o mesmo

40 ERRO este registo não foi indexado com sucesso devido a alguns erros

50 ERROFATAL

este registo devolve um erro fatal e interrompe a indexação

MESSAGEIsto apresenta o código de erro e a mensagem de erro. De acordo com esta coluna, os utilizadorespodem saber porque é que o registo não foi indexado com sucesso.

84 IBM i: OmniFind Text Search Server for DB2 for i

Page 91: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

KEYCOLUMNNAMESPode existir mais do que uma coluna chave especificada. Se assim for, todas as colunas chave serãodevolvidas. Cada nome de colunas chave terá um prefixo ‘PK_’.

Exemplosv Para verificar se o índice tem documentos que estejam indexados com sucesso:

CALL QDBTSLIB.QDBTS_ROWS_STATUS(’indexSchema1’,’indexName1’)

O conjunto de resultados será devolvido para o chamador directamente.v Para criar uma tabela nova para armazenar o resultado:

CALL QDBTSLIB.QDBTS_ROWS_STATUS(’indexSchema1’,’indexName1’,1,’TableSchema’,’ResultTable’)

Em seguida, os utilizadores fazem consultas a partir da tabela de resultados para obter maisinformações.SELECT * FROM TABLESCHEMA.RESULTTABLE;

Suponhamos que existem 2 colunas (K1, K2) da tabela base a serem indexados.Para retirar as linhas não indexadas da tabela base, os utilizadores podem utilizar a seguinte instruçãoSQL.SELECT b.*,r.MESSAGE FROM TABLESCHEMA.RESULTTABLE r LFET JOIN BASETABLESCHEMA.BASETABLE b on

r.PK_K1=b.K1 and r.PK_K2=b.K2;

Em seguida, os utilizadores podem actualizar essa fila com base na mensagem devolvida, em seguida,volte a invocar o SYSTS_UPDATE para indexar a nova fila alterada.

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.

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:

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 tem a autoridade correcta e o privilégiopara executar a ferramenta de sinónimos e o IBM Navigator for i.v Para adicionar um dicionário de sinónimos a um conjunto com a ferramenta de sinónimos, siga estes

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>

OmniFind Text Search Server 85

Page 92: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

<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>

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.

v Para importar o dicionário de sinónimos para um conjunto do IBM Navigator for i, siga estes passos.1. A partir do IBM Navigator for i, expanda Gestão do IBM i > Sistema > Todas as tarefas.2. No painel direito, seleccione Sistema > OmniFind > Lista de conjuntos.3. Faça clique com o botão direito no conjunto e seleccione Importar Dicionário de sinónimos.

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.

86 IBM i: OmniFind Text Search Server for DB2 for i

Page 93: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 faltaPode 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.

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 pretende remover possíveis índices isolados do sistema de ficheiros integrado após terem sidoidentificados, utilize o SYSPROC.SYSTS_REMOVE ou SYSPROC. Procedimento armazenadoSYSTS_CLEAR_INDEXES ou o “Administração avançada” na página 88 (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--)---><

OmniFind Text Search Server 87

Page 94: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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:SELECT T.COLLECTIONNAME, S.SERVERPATH

FROM 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 34Pode 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 78Pode remover índices isolados com o procedimento armazenado de SQL SYSPROC.SYSTS_REMOVE.“SYSTS_CLEAR_INDEXES” na página 81Pode remover índices isolados com o SYSPROC. Procedimento armazenado SQLSYSTS_CLEAR_INDEXES. Outro modo implícito é invocar o SYSTS_START directamente, que tentalimpar os índices isolados automaticamente.“Tabela de administração QSYS2.SYSTEXTINDEXES” na página 112Pode 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.

88 IBM i: OmniFind Text Search Server for DB2 for i

Page 95: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 31. 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 32. 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.

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.

OmniFind Text Search Server 89

Page 96: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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ção deligaçã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.

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

90 IBM i: OmniFind Text Search Server for DB2 for i

Page 97: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Verificador de condiçãoO verificador de condição é uma ferramenta de verificação de ambiente que pode ser utilizada paradiagnosticar quaisquer problemas de configuração OmniFind Text Search Server for DB2 for i. Pode serutilizado para verificar se os servidores e índices de texto do OmniFind Text Search Server for DB2 for iestão a funcionar correctamente e irão criar um registo com avisos ou erros para quaisquer potenciaisquestões encontradas.

Pré-requisitos

O verificador de condição do OmniFind Text Search Server for DB2 for i está baseado em ARE(Application Runtime Expert for i, produto 5770-ARE). Desta forma, o ARE tem de estar instalado paraque esta ferramenta seja executada.

Procedimentos de verificador de condição

O Verificador de condição é invocado através de uma série de procedimentos armazenados SQL DB2. Osprocedimentos podem ser invocados através de quaisquer interfaces SQL, incluindo a partir de umalinguagem de nível elevado tais como RPG e COBOL. Todas as informações, incluindo avisos ou erros,são devolvidas através de um conjunto de resultados correspondente.

SYSPROC.SYSTS_HC_GENERAL()

Este procedimento armazenado é utilizado para verificar a condição geral do produto OmniFind TextSearch Server for DB2 for i. O procedimento verifica a configuração do produto. Isto é um exemplo paradevolver todos os avisos e mensagens de erro relacionadas com a informação de configuração geral doOmniFind Text Search Server for DB2 for i:> CALL SYSPROC.SYSTS_HC_GENERAL();

SYSPROC.SYSTS_HC_USR_AUTH()

Este procedimento armazenado é utilizado para identificar quaisquer questões de autoridade para outilizador da invocação que o irá prevenir da utilização do OmniFind Text Search Server for DB2 for ipara procuras. Isto é um exemplo para devolver quaisquer avisos ou erros relativamente às autoridadesdo utilizador da invocação:> CALL SYSPROC.SYSTS_HC_USR_AUTH();

SYSPROC.SYSTS_HC_IDX()

Este procedimento armazenado é utilizado para verificar todos os índices de texto do OmniFind TextSearch Server for DB2 for i para garantir que estes estão num estado válido. Nota: Se estiver a utilizar umgrupo IASP (conjunto de memória auxiliar independente), tal aplica-se apenas ao grupo IASP que estáactualmente activo no trabalho.

SYSSTS.HC_SVR()

Este procedimento armazenado é utilizado para verificar a condição de todos os servidores de texto locaisdo OmniFind Text Search Server for DB2 for i que foram definidos.

Informação adicional

Mais informações sobre o verificador de condição OmniFind Text Search Server for DB2 for i, incluindonumerosas opções de procedimentos armazenados adicionais, bem como um interface QShell, estãodisponíveis em developerWorks OmniFind Text Search Server for DB2 for i sob o artigo ’Verificador decondição’.

OmniFind Text Search Server 91

Page 98: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Considerações de ASP independente para o OmniFind Text SearchServer for DB2 for iPode 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

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 entradas doprogramador de trabalhos permitem que as actualizações agendadas prossigam, mesmo quando o ASPindependente é 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 servidores

92 IBM i: OmniFind Text Search Server for DB2 for i

Page 99: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

definidos 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 do sistema.

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 do procedimentoSYSTS_CREATE ou SYSTS_DROP não faz com que sejam registadas entradas de diário.

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.

OmniFind Text Search Server 93

Page 100: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

v NÃO é necessário que os clientes registem em diário e repliquem os ficheiros IFS para os índices daProcura de texto.

v É necessário garantir que os activadores adicionados como parte do procedimento SYSTS_CREATE sãoactivados 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 80Pode 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.

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 é actualizado imediatamente 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 alterado não é capturado no registo; apenas ainformação para identificar o registo que foi alterado.

94 IBM i: OmniFind Text Search Server for DB2 for i

Page 101: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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. Como com qualquer interrupção, um limite de ponto de verificação forçao fluxo de documentos para serem suspensos e a ligação directa entre o cliente e o servidor para serlimpo de documentos ou, por outras palavras, esvaziado de documentos. Este processo de início eparagem pode ter efeitos negativos considerá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 de

OmniFind Text Search Server 95

Page 102: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

elementos, 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 qual o tipo de documento que é e, em seguida,convertido para texto simples. Os documentos INSO são, normalmente, documentos deprocessamento de rich text gerados por programas de processamento 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.

Utilize o SYSTS_REPRIMEINDEX em vez do SYSTS_UPDATE para uma possívelmelhoria de desempenho

SYSTS_REPRIMEINDEX e SYSTS_UPDATE são utilizados para actualizar o índice de procura de texto.SYSTS_REPRIMEINDEX é utilizado para recriar o índice. SYSTS_UPDATE é utilizado para actualizar oíndice com as alterações incrementais utilizadas após a última actualização bem sucedida. Em algumasinstâncias, SYSTS_REPRIMEINDEX pode ter um desempenho melhor do que SYSTS_UPDATE.

Para determinar se o SYSTS_REPRIMEINDEX irá ter um desempenho melhor do que o SYSTS_UPDATE,verifique a coluna, PENDINGCOUNT da vista Índice de pesquisa de texto. A coluna PENDINGCOUNTirá indicar quantas linhas necessitam de ser alteradas para o próximo processo de actualização. Se outilizador actualizou o mesmo registo na tabela base 10 vezes, a coluna PENDINGCOUNT seráaumentada em 10. Desta forma, se o utilizador estiver a actualizar a tabela base frequentemente, a colunaPENDINGCOUNT será aumentada. Na maioria dos casos, se a coluna PENDINGCOUNT for maior doque a contagem total da tabela base, o procedimento SYSTS_REPRIMEINDEX será a melhor escolha autilizar em vez do SYSTS_UPDATE.

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 e

96 IBM i: OmniFind Text Search Server for DB2 for i

Page 103: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

pode 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 ao combinar e substituirinternamente essas funções incorporadas com uma função de tabela definida pelo utilizador (UDTF). AUDTF devolve uma lista de documentos correspondentes num resultado. Este processamento UDTF emmuitos casos tem um desempenho melhor do que o processo alternativo de invocação da funçãoincorporada para cada registo para 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 estar ligado por "AND" para todos os predicados adicionais na cláusula WHEREv ser uma comparação com o 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.Referências relacionadas:“CONTAINS” na página 40Pode 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 42Pode 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 36Pode 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.

OmniFind Text Search Server 97

Page 104: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 dadosseja 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 36 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 112Pode 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.

98 IBM i: OmniFind Text Search Server for DB2 for i

Page 105: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Utilizar o IBM Navigator for iPode administrar os respectivos servidores de procura de texto do OmniFind e os índices de procura detexto ao utilizar o IBM Navigator for i.1. Na janela IBM Navigator for i, 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.

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.

OmniFind Text Search Server 99

Page 106: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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

Criar um índice de procura de texto:

100 IBM i: OmniFind Text Search Server for DB2 for i

Page 107: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 101

Page 108: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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.

Executar operações num índice de texto:

102 IBM i: OmniFind Text Search Server for DB2 for i

Page 109: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 Definiçãov Actualizaçãov Recriaçãov Eliminaçãov Descriçã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.

Para visualizar os índices de procura de texto que estão a ser criados, execute os seguintes passos:

OmniFind Text Search Server 103

Page 110: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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.

104 IBM i: OmniFind Text Search Server for DB2 for i

Page 111: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 105

Page 112: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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

Criar um índice de procura de texto:

106 IBM i: OmniFind Text Search Server for DB2 for i

Page 113: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 107

Page 114: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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.

108 IBM i: OmniFind Text Search Server for DB2 for i

Page 115: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 109

Page 116: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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.

110 IBM i: OmniFind Text Search Server for DB2 for i

Page 117: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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.SYSTEXTDEFAULTSPode 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 33. 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 111

Page 118: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Tabela de administração QSYS2.SYSTEXTINDEXESPode 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 34. 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.

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.

112 IBM i: OmniFind Text Search Server for DB2 for i

Page 119: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Tabela 34. Conteúdo da tabela de administração QSYS2.SYSTEXTINDEXES (continuação)

Nome da coluna Tipo de dados Anulável? Descrição

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.

REMARKS VARCHAR(2000) Sim Observações realizadas na opçãoCOMMENTS do parâmetroopções-configuração-índice doprocedimento armazenadoSYSPROC.SYSTS_CREATE.

OmniFind Text Search Server 113

Page 120: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Tabela 34. Conteúdo da tabela de administração QSYS2.SYSTEXTINDEXES (continuação)

Nome da coluna Tipo de dados Anulável? Descrição

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.SYSTEXTCOLUMNSPode 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 35. 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.

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.

114 IBM i: OmniFind Text Search Server for DB2 for i

Page 121: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Tabela 35. Conteúdo da tabela de administração QSYS2.SYSTEXTCOLUMNS (continuação)

Nome da coluna Tipo de dados Anulável? Descrição

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 36. 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.

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.

OmniFind Text Search Server 115

Page 122: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Tabela 36. Conteúdo da tabela de administração QSYS2.SYSTEXTSERVERS (continuação)

Nome da coluna Tipo de dados Anulável? Descrição

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.SYSTEXTCONFIGURATIONPode 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 37. 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.SYSTEXTSERVERHISTORYPode consultar o histórico de servidores utilizados para o procedimento armazenadoSYSPROC.SYSTS_DROP, visualizando a tabela auxiliar QSYS2.SYSTEXTSERVERHISTORY.

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.

116 IBM i: OmniFind Text Search Server for DB2 for i

Page 123: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Tabela 38. 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 34Pode 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.

Vista de índice de procura de textoQuando é criado um índice de procura de texto com SYSTS_CREATE, é criada uma vista que representao índice. Consultar a vista do índice de procura de texto pode ajudar o utilizador a obter o estado noíndice. O nome da vista do índice de procura de texto é o mesmo nome como o nome do índice deprocura de texto que foi especificado enquanto cria o índice com o SYSTS_CREATE.

A tabela seguinte apresenta o conteúdo da vista do índice de procura de texto.

Tabela 39. Conteúdos da vista criada pelo SYSTS_CREATE

Nome da coluna Tipo de dados CCSID Anulável? Descrição

TABLESCHEMA VARCHAR(128) 1208 Não Nome do esquema da tabelabase.

TABLENAME VARCHAR(128) 1208 Não Nome não qualificado da tabelabase.

COLUMNNAME VARCHAR(128) 1208 Não Nome não qualificado dacoluna de texto da tabela base.

SERVERID INTEGER Não ID do servidor único doSYSTEXTSERVERS.

SERVERNAME VARCHAR(128) 1208 Não Nome não qualificado doservidor de procura de texto.

SERVERSTATUS VARCHAR(32) 1208 Não v ‘STARTED’ – Server isrunning.

v ‘STOPPED’ – Server isstopped.

STAGINGTABLENAME VARCHAR(128) 1208 Não Nome não qualificado da tabelade registo para o índice deprocura de texto.

LASTUPDATETIME TIMESTAMP Sim A hora a que o índice deprocura de texto foi actualizadopela última vez.

OmniFind Text Search Server 117

Page 124: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Tabela 39. Conteúdos da vista criada pelo SYSTS_CREATE (continuação)

Nome da coluna Tipo de dados CCSID Anulável? Descrição

LASTUPDATESTATUS VARCHAR(30) 1208 Sim v ’NEVER UPDATED’ – Oíndice não foi actualizadoantes.

v ‘UP TO DATE’ – A últimaactualização foi executadacom sucesso e não existemalterações pendentes aexecutar.

v ‘CHANGES PENDING’ – Aúltima actualização foiexecutada com sucesso, masexistem ainda alteraçõesnovas para seremactualizadas.

v ‘FAILED’ – A últimaactualização falhou.

UPDATEMINIMUM INTEGER Não Número mínimo de entradasna tabela de registo antes daexecução de uma actualizaçãoincremental no índice deprocura de texto.

UPDATEFREQUENCY VARCHAR(512) 1208 Não A frequência de actualizaçãopara o índice de procura detexto, tal como especificadapelo procedimento armazenadoSYSPROC.SYSTS_CREATE.

PENDINGCOUNT INTEGER Não Indica o número de linhas a serindexadas no próximo processode actualização.

Extensões para Indexação e Procura de Dados Não DB2The OmniFind Text Search for DB2 for i fornece um conjunto adicional de procedimentos armazenadospara criar, administrar e procurar conjuntos de texto de procura.

Descrição geral de extensõesO OmniFind Text Search Server for DB2 for i fornece um conjunto adicional de procedimentosarmazenados para criar, administrar e procurar conjuntos de procura de texto. É utilizado um conjuntode procura de texto para indexar dados associados aos objectos do sistema tais como ficheiros em spoolnuma fila de saída ou dados de ficheiro de dados contínuos no sistema de ficheiros integrado.

Um conjunto de procura de texto descreve um ou mais conjuntos de objectos de sistema que terão osrespectivos dados de texto associados indexados e procurados. Por exemplo, um conjunto pode conterum conjunto de objectos de todos os ficheiros em spool na fila de saída QUSRSYS/QEZJOBLOG e/ouum conjunto de objectos para todos os ficheiros de dados contínuos no directório '/home/alice/text_data'.

O conjunto de procura de texto referido nesta documentação não deve ser confundido com um esquemaDB2 (por vezes também referido como um conjunto) ou um conjunto Lucene (faz parte da estruturainterna de um índice de procura de texto de DB2).

118 IBM i: OmniFind Text Search Server for DB2 for i

Page 125: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Quando é criado um conjunto de procura de texto, são criados vários objectos DB2 no sistema numesquema SQL. Os seguintes objectos serão criados no esquema:v Catálogos para rastrear a configuração do conjunto.v Catálogos para rastrear os objectos que foram indexados.v Procedimentos armazenados SQL para administrar e procurar o conjunto.v Um índice de procura de texto DB2 para indexar o texto associado.

A administração do conjunto é fornecida com procedimentos armazenados, grande parte dos quais sãocriados num esquema.

Pode encontrar um explicação de outras melhorias OmniFind Text Search Server for DB2 for i em:OmniFind Text Search Server for DB2 for i melhorias.

Criar um conjunto de procura de textoEste procedimento cria um conjunto de procura vazio. Será criado um esquema SQL no sistema paraconter informação sobre o conjunto. O esquema irá conter objectos de DB2 necessários para controlar eindexar objectos.

SYSPROC.SYSTS_CRTCOL and SYSPROC.SYSTS_CREATE_COLLECTION

Autorização

SYSTS_CRTCOL and SYSTS_CREATE_COLLECTION será enviado com autoridade *EXECUTE garantidoao público.

Estes procedimentos não adoptam qualquer autoridade adicional e serão executados sob o perfilinvocado.

Para criar um conjunto de procura de texto o invocador tem de ter:v Autoridade para criar um esquema DB2v Autoridade/capacidade para criar um índice de procura de texto

Os objectos DB2 criados como parte do conjunto, incluindo os procedimentos administrativosarmazenados são criados com autoridade pública *EXCLUDE

O perfil de utilizador que cria o conjunto é o proprietário de todos os objectos no conjunto. Um utilizadorpode conceder autoridade ao procedimento específico a outros utilizadores para permitir que outrosutilizadores administrem e pesquisem o conjunto de procura de texto.

Sintaxe

�� SYSTS_CRTCOL ( nome_conjunto, opções

, nome_dispositivo_asp

) ��

Sintaxe

�� SYSTS_CREATE_COLLECTION ( nome_conjunto, opções

, nome_dispositivo_asp

) ��

O qualificador de esquema é SYSPROC.

OmniFind Text Search Server 119

Page 126: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Parâmetros

nome_conjuntoNome do conjunto. Este nome identifica unicamente o conjunto e não deve estar numa cadeia nula.Um esquema do nome especificado para o nome do conjunto será criado para reter os objectos DB2associados.

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 parâmetro do nome do conjunto segue as regras SQL para nomes de esquemas.

O nome do conjunto não tem de corresponder ao nome de um perfil de utilizador existente.

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

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:

informação-texto-predefinido características-actualização opções-configuração-índice

informação-texto-predefinido:

LANGUAGE language FORMAT format

informação-texto-predefinidoEspecifica o idioma que é utilizado quando processa documentos e o formato de documentos detexto na coluna.

LANGUAGE idiomaEspecifica o idioma que o OmniFind Text Search Server for DB2 for i utiliza para oprocessamento 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, o processamentolinguístico não funcionará conforme esperado.

FORMAT formatoIdentifica o formato dos documentos de texto a serem indexados, tais como TEXT ou INSO.O OmniFind Text Search Server for DB2 for i tem de saber qual o formato, ou tipo deconteúdo, dos documentos de texto que pretende indexar e procurar. Se não especificar oparâmetro formato, o valor predefinido é TEXT.

O valor INSO do parâmetro formato permite ao OmniFind Text Search Server for DB2 for ideterminar o formato. Se o OmniFind Text Search Server for DB2 for i não conseguirdeterminar o formato do documento, será registado um erro de documento no registo detrabalhos durante o processamento pelo procedimento armazenado UPDATE.

120 IBM i: OmniFind Text Search Server for DB2 for i

Page 127: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

características-actualização:

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

características-actualizaçãoEspecifica a frequência de actualizações automáticas para o conjunto de procura de texto. Oprocesso de actualização para um ambos de procura de texto envolve a indexação dos dados detexto e a pesquisa dos objectos de sistema para detectar dados novos ou alterados.

UPDATE FREQUENCY frequência-actualizaçãoEspecifica quando devem ser executadas actualizações automáticas ao conjunto de procura detexto. O valor predefinido é NONE.

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.

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 ou

OmniFind Text Search Server 121

Page 128: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

especificar 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.

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 ser

122 IBM i: OmniFind Text Search Server for DB2 for i

Page 129: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

actualizado. 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

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

INDEX CONFIGURATION ( �

,

opção valor )

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.

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 à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.

OmniFind Text Search Server 123

Page 130: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

asp_device_nameEste parâmetro, caso especificado e não nulo, determina em qual conjunto de memória auxiliar oconjunto é criado. Este parâmetro está disponível opcionalmente para corresponder à função CREATESCHEMA para criar os objectos DB2 num dispositivo ASP específico.

Se for fornecido um valor para este parâmetro, o valor tem de nomear um conjunto de discos nogrupo asp principal do espaço de nomes actual ou uma unidade ASP básica se o espaço de nomes forapenas o ASP do sistema.

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

Exemplos1. CALL SYSTS_CRTCOL(‘mycollection');

É criado um conjunto MYCOLLECTION.2. CALL SYSTS_CRTCOL(‘”mycollection”', “UPDATE FREQUENCY D(*) H(*) M(0)”)

É criado um conjunto mycollection (minúsculas não incluindo os delimitadores).O conjunto de procura de texto terá uma frequência de actualização de todos os dias, mais além de acada hora.

3. CALL SYSTS_CRTCOL(‘ur_collection',‘UPDATE FREQUENCY NONE ‘ || ‘ LANGUAGE zh_CNINDEX CONFIGURATION( ‘ || ‘ CJKSEGMENTATION MORPHOLOGICAL) ‘, ‘23')É criada um conjunto UR_COLLECTION.O conjunto não tem frequência de actualização.O idioma do conjunto é Chinês Simplificado, a utilizar análise linguística do dicionário (morfológico).É criado o esquema SQL em ASP #23 básico.Quando o conjunto de procura de texto é criado, os procedimentos são criados no esquema DB2 paraadministrar o conjunto.

Para criar um conjunto a partir do IBM Navigator for i, siga estes passos.1. A partir do IBM Navigator for i, expanda Gestão do IBM i > Sistema > Todos as tarefas.2. No painel direito, seleccione Sistema > Omnifind > Criar conjunto.

Adicionar um conjunto de objectos para dados de ficheiro em spoolO procedimento armazenado está no esquema DB2 para adicionar um conjunto de objectos para dadosde ficheiro em spool.

Nota: são suportados apenas dados de cadeia de caracteres de SNA (SCS, SNA Character String). Osficheiros em spool que contêm outro tipo de dados não podem ser indexados e resultam num erro a níveldo documento quando são encontrados. O erro vai iniciar sessão no registo de trabalhos e a indexaçãocontinua com o próximo ficheiro em spool. O procedimento GET_OBJECTS_NOT_INDEXED pode serutilizado para determinar quais os ficheiros em spool que não estavam no processo de indexação.

ADD_SPLF_OBJECT_SET

Autorização

Este procedimento armazenado é criado com autoridade pública *EXCLUDE e é propriedade do criadordo conjunto de procura de texto. Será enviada com autoridade *EXECUTE concedida ao público.

O procedimento irá adoptar a autoridade do perfil do proprietário do conjunto de procura de texto. Podeser concedida autoridade a outros utilizadores para lhes permitir a execução do procedimento.

124 IBM i: OmniFind Text Search Server for DB2 for i

Page 131: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Sintaxe

Adicionar um conjunto de objectos de ficheiro em spool:

�� ADD_SPLF_OBJECT_SET ( output_queue_libnull

, output_queue_namenull

, user_namenull

, qual_job_namenull

� , qual_job_usernull

, qual_job_numbernull

, user_datanull

, begin_timestampnull

, ending_timestampnull

�, output_set_id

) ��

As seguintes versões simplificadas do procedimento de adição de conjuntos de objectos de ficheiro emspool pode ser utilizado para conveniência.

Seleccionar ficheiros em spool apenas por fila de saída:

�� ADD_SPLF_OBJECT_SET ( output_queue_libnull

, output_queue_namenull

) ��

Seleccionar ficheiros em spool apenas por fila de saída e nome do utilizador:

�� ADD_SPLF_OBJECT_SET ( output_queue_libnull

, output_queue_namenull

, user_namenull

) ��

O qualificador de esquema é o nome do conjunto de procura de texto.

Parâmetros

output_queue_libUm nome do sistema para a biblioteca da fila de saída.

Um valor NULO ou uma cadeia vazia indica que filas de saída serão incluídas no índice em todas asbibliotecas.

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

[Consultar convenções do nome do sistema]

[Consultar restrições adicionais]

output_queue_nameUm nome do sistema para o nome da fila de saída.

Um valor NULO ou uma cadeia vazia indica que qualquer fila de saída será incluída no índice.

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

[Consultar convenções do nome do sistema]

[Consultar restrições adicionais]

user_nameUm nome do sistema para o utilizador que possui o ficheiro em spool.

Um valor NULO ou uma cadeia vazia indica que não será executado nenhum filtro no nome doutilizador.

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

OmniFind Text Search Server 125

Page 132: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

[Consultar convenções do nome do sistema]

[Consultar restrições adicionais]

qual_job_nameUm nome do sistema para a biblioteca da fila de saída.

Um valor NULO ou uma cadeia vazia indica que não irá ocorrer nenhum filtro no nome do trabalho.

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

[Consultar convenções do nome do sistema]

qual_job_userO nome do sistema para o nome do perfil de utilizador do trabalho associado ao ficheiro em spool.

Um valor NULO ou uma cadeia vazia indica que não irá ocorrer nenhum filtro no utilizador dotrabalho.

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

É necessário um valor diferente de nulo ou vazio para este parâmetro se for especificadoQUALIFIED_JOB_NAME.

Se QUALIFIED_JOB_NAME for uma cadeia vazia ou NULO, este parâmetro também tem de serNULO ou uma cadeia vazia.

[Consultar convenções do nome do sistema]

[Consultar restrições adicionais]

qual_job_numberUma cadeia de seis caracteres representa o número de trabalho. (Têm de ser dígitos 0-9)

Um valor NULO ou uma cadeia vazia indica que não irá ocorrer nenhum filtro no número detrabalho.

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

É necessário um valor diferente de nulo ou vazio para este parâmetro se for especificadoQUALIFIED_JOB_NAME.

Se QUALIFIED_JOB_NAME for uma cadeia vazia ou NULO, este parâmetro também tem de serNULO ou uma cadeia vazia.

[Consultar convenções do nome do sistema]

[Consultar restrições adicionais]

user_dataUma cadeia de dez caracteres que o utilizador associa a um ficheiro em spool.

Esta cadeia não é convertida para maiúsculas e tem de corresponder exactamente aos dados deutilizador associados a um ficheiro em spool para que seja considerada uma correspondência.

Nota: Um valor de 'abc' é diferente de 'ABC'

Um valor NULO ou uma cadeia vazia indica que não irá ocorrer nenhum filtro nos dados deutilizador.

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

begin_timestampO valor de marca de hora que indica a data de criação mais cedo que será incluída no conjunto. Osficheiros em spool criados antes desta marca de hora não serão indexados.

126 IBM i: OmniFind Text Search Server for DB2 for i

Page 133: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Um valor de NULO pode ser fornecido para indicar que qualquer ficheiro em spool criado antes dofinal do valor de marca de hora de criação deve ser indexado. Se END_TIMESTAMP também forNULO, não irá ocorrer nenhum filtro na marca de hora de criação.

O tipo de dados para este parâmetro é TIMESTAMP

end_timestampO valor de marca de hora que indica a data de criação mais tarde que será incluída no conjunto. Osficheiros em spool criados após esta marca de hora não serão indexados.

Um valor de BULO pode ser fornecido para indicar que qualquer ficheiro em spool criado após oBEGIN_TIMESTAMP será indexado. Se BEGIN_TIMESTAMP também for NULO, não irá ocorrernenhum filtro na marca de hora de criação.

O tipo de dados para este parâmetro é TIMESTAMP

output_set_idO valor inteiro de saída que devolve o identificador do conjunto para o conjunto de objectos que foiadicionado.

Este valor pode ser utilizado para remover o conjunto de objectos posteriormente.

Este parâmetro é opcional.

O tipo de dados para este parâmetro é INTEGER

Convenções de nomenclatura do sistemas

Os parâmetros que requerem nomes do sistema como entrada têm de ser nomes do sistema válidos ouirá ocorrer um erro. Este parâmetro será processado da mesma forma que o analisador de comandoprocessa nomes para comandos CL. Consultar Regras de nomenclatura de objectos para obter maisinformações sobre os nomes do sistema

call nick12345.add_splf_object_set('ntl', 'justtext', 'ntl', '', '', '', '', NULL, NULL);

A informação de filtro passado para o procedimento será uma fila de saída NTL/JUSTTEXT parautilizador NTL (convertida para maiúsculas)

Ao contrário de nomes SQL, para o nome do sistema os delimitadores permanecem no nome, mas apenasse for necessário. call nick12345.add_splf_object_set('"ntl"', '"justtext"', '"NTL"', '', '', '', '', NULL, NULL);

A informação de filtro passada para o api será a fila de saída "ntl"/"justtext" para utilizador NTL (semaspas em volta do utilizador NTL)

Nota: O procedimento armazenado tem um limite de dez caracteres no interface e não suporta aspasdesnecessárias que façam com que este limite seja excedido.

Nomes de sistema inválidos irão provocar um erro.

Restrições adicionaisv Nomes genéricos não são suportados. Por outras palavras não é possível indexar todas as filas de saída

que começam por MYOUT ao adicionar um conjunto de objectos para MYOUT*v O nome da biblioteca da fila de saída e o nome da fila de saída têm de ser ambos nulos (ou cadeia

vazia)...ou ter ambos nomes do sistema válidos. Não é possível filtrar todas as filas de saída nabiblioteca xyz ou filtrar todas as filas de saída denominadas 'abc' em qualquer biblioteca.

v Se um nome de fila de saída específico e biblioteca forem especificados, essa fila de saída tem de existirna altura em que o conjunto de objectos é adicionado. Não existe lógica para prevenir a eliminação dafila de saída posteriormente, mas o conjunto de objectos irá efectivamente ficar 'vazio'.

OmniFind Text Search Server 127

Page 134: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

v Se ambos USER_NAME e QUALIFIED_JOB_USER forem valores diferentes de nulo, ou vazios estestêm de ser iguais. O proprietário de um ficheiro em spool vai sempre fazer corresponder o utilizadorde trabalho qualificado e, desta forma, estes valores nunca podem ser diferentes quando ambos sãoutilizados como um filtro.

Autoridades para objectos indexados

Quando adicionar um conjunto de objectos de ficheiro em spool, tenha em consideração os requisitos deautoridade necessários para obter o texto dos ficheiros em spool cuidadosamente. Estas autoridades serãoum factos de consideração quando é invocada a ACTUALIZAÇÃO do procedimento armazenado.Consulte a documentação da actualização do procedimento armazenado para obter mais informaçõessobre os requisitos de autoridade a objectos indexados.

Exemplos

Adicionar um conjunto de objectos para o conjunto nick789 para todos os ficheiros em spool nas filas desaída NTL/MYOUTQ.> call nick789.add_splf_object_set(’NTL’, ’MYOUTQ’);

Adicionar um conjunto de objectos para o conjunto nick123 para indexar todos os ficheiros em spool napropriedade do utilizador NTL.> call nick123.add_splf_object_set(’’, ’’, ’NTL’);

Adicionar um conjunto de objectos para o conjunto default_search_col para indexar todos os ficheiros emspool criados em 2010> call default_search_col.add_splf_object_set(’’, ’’, ’’, ’’, ’’, ’’, ’’, ’2010-01-01T00:00:00’,’2011-01-01T00:00:00’);

Adicionar um conjunto de objectos para o conjunto default_search_col para indexar todos os ficheiros emspool criados em 2010 com os dados de utilizador 'MYAPP':> call default_search_col.add_splf_object_set(’’, ’’, ’’, ’’, ’’, ’’, ’MYAPP’,’2010-01-01T00:00:00’, ’2011-01-01T00:00:00’);

Para adicionar um conjunto de objectos de ficheiros em spool para um conjunto a partir do IBMNavigator for i, siga estes passos.1. A partir do IBM Navigator for i, expanda Gestão do IBM i > Sistema > Todas as tarefas.2. No painel direito, seleccione Sistema > OmniFind > Lista de conjuntos.3. Faça clique com o botão direito no conjunto e seleccione Propriedades. No separador Objectos, prima

o botão Adicionar filas de saída ou Adicionar ficheiros em Spool.

Remover um conjunto de objectos para dados de ficheiro em spoolEste procedimento armazenado irá remove um conjunto de objectos para dados de ficheiro em spool deum conjunto de procura de texto.

RMV_SPLF_OBJECT_SET

Autorização

Este procedimento armazenado é criado com autoridade pública *EXCLUDE e é propriedade do criadordo conjunto de procura de texto.

O procedimento irá adoptar a autoridade do perfil do proprietário do conjunto de procura de texto. Podeser concedida autoridade a outros utilizadores para lhes permitir a execução do procedimento.

128 IBM i: OmniFind Text Search Server for DB2 for i

Page 135: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Sintaxe

Remover um conjunto de objectos de ficheiro em spool:

�� >--+-output_queue_name-+--,--+-user_name-+--,------------------->'-null -------------' '-null -----'

� >--+-qual_job_name-+--,--+-qual_job_user-+--,------------------->'-null ---------' '-null ---------'

� >--+-qual_job_number-+--,--+-user_data-+--,--------------------->'-null -----------' '-null -----'

� >--+-begin_timestamp-+--,--+-ending_timestamp-+----------------->'-null -----------' '-null ------------'

��

As seguintes versões simplificadas do procedimento de remoção de conjuntos de objectos de ficheiro emspool pode ser utilizado por conveniência.

Seleccionar ficheiros em spool apenas por fila de saída:

�� >>-RMV_SPLF_OBJECT_SET--(--+-output_queue_lib-+--,-------------->'-null ------------'

� >--+-output_queue_name-+--)------------------------------------><'-null -------------'

��

Seleccionar ficheiros em spool apenas por fila de saída e nome de utilizador:

�� >>-RMV_SPLF_OBJECT_SET--(--+-output_queue_lib-+--,-------------->'-null ------------'

� >--+-output_queue_name-+--,--+-user_name-+--)------------------><'-null -------------' '-null -----'

��

O qualificador de esquema é o nome do conjunto de procura de texto.

Parâmetros

output_queue_libUm nome do sistema para a biblioteca da fila de saída.

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

output_queue_nameUm nome do sistema para o nome da fila de saída.

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

user_nameUm nome do sistema para o utilizador que possui o ficheiro em spool.

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

qual_job_nameUm nome do sistema para a biblioteca da fila de saída.

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

OmniFind Text Search Server 129

Page 136: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

qual_job_userO nome do sistema para o nome do perfil de utilizador do trabalho associado ao ficheiro em spool.

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

É necessário um valor diferente de nulo ou vazio para este parâmetro se for especificadoQUALIFIED_JOB_NAME.

Se QUALIFIED_JOB_NAME for uma cadeia vazia ou NULO, este parâmetro também tem de serNULO ou uma cadeia vazia.

qual_job_numberUma cadeia de seis caracteres representa o número de trabalho. (Têm de ser dígitos 0-9)

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

É necessário um valor diferente de nulo ou vazio para este parâmetro se for especificadoQUALIFIED_JOB_NAME.

Se QUALIFIED_JOB_NAME for uma cadeia vazia ou NULO, este parâmetro também tem de serNULO ou uma cadeia vazia.

user_dataUma cadeia de dez caracteres que o utilizador associa a um ficheiro em spool.

Esta cadeia não é convertida para maiúsculas e tem de corresponder exactamente aos dados deutilizador associados a um ficheiro em spool para que seja considerada uma correspondência.

Nota: Um valor de 'abc' é diferente de 'ABC'

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

begin_timestampEste valor de marca de hora indica a data de criação mais cedo dos ficheiros em spool adicionados aoconjunto de objectos.

O tipo de dados para este parâmetro é TIMESTAMP

end_timestampEste valor de marca de hora indica a data de criação mais tarde dos ficheiros em spool adicionadosao conjunto de objectos.

O tipo de dados para este parâmetro é TIMESTAMP

Nota: Para obter mais significados detalhados e restrições dos parâmetros acima, consulte a descrição doprocedimento armazenado add_splf_object_set.

Nota de resultado

No seguinte caso a remoção irá falhar devido a um conjunto de objectos não encontrado:

>O utilizador insere parâmetros incorrectos

>Especifica parâmetros correspondentes ao conjunto de objectos que foi removido anteriormente Outilizador irá receber mensagens de erro que demonstra que o conjunto de objectos não existe com oatributo específico.

QUERY_OBJECT_SET() devolve a lista do conjunto de objectos e os parâmetros de entrada. O utilizadorpode especificar parâmetros de entrada correctos enquanto invoca este procedimento armazenado pararemover o conjunto de objectos.

130 IBM i: OmniFind Text Search Server for DB2 for i

Page 137: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Exemplos

Remover um conjunto de objectos no conjunto nick789 para todos os ficheiros em spool na fila de saídaNTL/MYOUTQ.> call nick789.rmv_splf_object_set(’NTL’, ’MYOUTQ’);

Remover um conjunto de objectos no conjunto nick123 para todos os ficheiros em spool na propriedadedo utilizador NTL.> call nick123.rmv_splf_object_set(’’, ’’, ’NTL’);

Remover um conjunto de objectos na colecção test_col para todos os ficheiros em spool criados em 2010> call test_col.rmv_splf_object_set(’’, ’’, ’’, ’’, ’’, ’’, ’’, ’2010-01-01T00:00:00’,’2011-01-01T00:00:00’);

Adicionar um conjunto de objectos para o conjunto default_search_col para indexar todos os ficheiros emspool criados em 2010 com os dados de utilizador 'MYAPP':> call default_search_col.add_splf_object_set(’’, ’’, ’’, ’’, ’’, ’’, ’MYAPP’,’2010-01-01T00:00:00’, ’2011-01-01T00:00:00’);

Adicionar um conjunto de objectos para dados de ficheiro de dadoscontínuosO procedimento armazenado está no esquema DB2 para adicionar um conjunto de objectos para dadosde ficheiro de dados contínuos.

ADD_IFS_STMF_OBJECT_SET

Autorização

Este procedimento armazenado é criado com autoridade pública *EXCLUDE e é propriedade do criadordo conjunto de procura de texto.

O procedimento irá adoptar a autoridade do perfil do proprietário do conjunto de procura de texto. Podeser concedida autoridade a outros utilizadores para lhes permitir a execução do procedimento.

Sintaxe

Este procedimento permite a um utilizador adicionar um conjunto de objectos de ficheiro de dadoscontínuos (STMF) ao sistema de ficheiros integrado (IFS, Integrated File System).

Adicionar um conjunto de objectos para dados de ficheiro de dados contínuos (ficheiros de dadoscontínuos em IFS):

�� ADD_IFS_STMF_OBJECT_SET ( stmf_expression_string, output_set_id

) ��

O qualificador de esquema é o nome do conjunto de procura de texto.

Parâmetros

stmf_expression_stringEste parâmetro contém um caminho absoluto para um directório que contém os ficheiros que serãoindexados.

OmniFind Text Search Server 131

Page 138: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Este tem de ser um directório válido (tipo *DIR) num sistema de ficheiros que é acessível. Os objectode ficheiro de dados contínuos (tipo *STMF) dentro deste directório serão indexados. O nome docaminho deve ser absoluto e não deve conter quaisquer expressões globais.

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

Os ficheiro de dados contínuos contidos no directório especificado serão indexados.v As ligações simbólicas NÃO são seguidasv Os sub-directórios NÃO são processadosv Os nomes do caminho não podem ser delimitados, caracteres como '*', '?', etc não têm qualquer

significado especial e devem ser ignorados.v Os nomes do caminho podem ou não ser sensível a maiúsculas e minúsculas, dependendo do

atributo do sistema de ficheiros.

Será feita uma verificação ao adicionar o conjunto de objectos para verificar se não existe já umconjunto duplicado no conjunto de procura de texto. Esta verificação não considera que caminhosequivalentes sejam duplicados.

Por outras palavras os seguintes caminhos podem todos representar o mesmo directório, mas serãoconsiderados como conjuntos de objectos únicos, para além disso, os objectos nesses conjuntos serãoindexados múltiplas vezes como objectivos únicos./dir1/DIR2/dir1//DIR2///DIR1/DIR2/ (se o sistema de ficheiros não for sensível a maiúsculas/minúsculas)/dir1/DIR2/../DIR2etc.

output_set_idO valor inteiro de saída que devolve o identificador do conjunto para o conjunto de objectos que foiadicionado.Este valor pode ser utilizado para remover o conjunto de objectos posteriormente.

Este parâmetro é opcional.

O tipo de dados para este parâmetro é INTEGER.

Considerações especiais para o Processamento de actualização

Sistemas de ficheiros não existentes:

Se não for possível localizar um directório durante uma operação de actualização, os ficheiros associadosa esse directório não serão removidos do índice. Isto evita que volte a indexar de forma desnecessária osdocumentos quando um sistema de ficheiros é desmontado e posteriormente remontado.

Existem várias opções se estes ficheiros necessitarem de ser removidos do índice:v Emita o procedimento armazenado remover o conjunto de objectos no conjunto de objectos de ficheiro

de dados contínuos IFS. isto remove quaisquer documentos associados ao conjunto de objectos.�v Emita o procedimento armazenado REPRIME no conjunto. Todos os dados serão removidos do índice e

apenas os ficheiros que podem ser localizados voltam a ser indexados.v Crie o directório como um directório vazio e emita a actualização

Conversão de CCSID

Se o FORMATO do conjunto for TEXTO:v O atributo de CCSID do ficheiro é utilizado para converter os dados extraídos do ficheiro para UTF-8

para serem indexados. O atributo de CCSID do ficheiro tem de ser corrigido para que o ficheiro possaser indexado correctamente.

Se o FORMATO do conjunto for INSO:

132 IBM i: OmniFind Text Search Server for DB2 for i

Page 139: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

v Os dados do ficheiro serão extraídos do ficheiro e enviados para o servidor de procura de texto paraprocessamento. Não irá ocorrer qualquer conversão do conjunto de caracteres e o atributo de CCSID doficheiro será ignorado. O servidor de procura de texto irá utilizar o respectivo processamento de richtext para determinar o formato e codificação do documento. Isto pode ser utilizado para indexarficheiros de rich text (tais como PDF) ou ficheiros de texto normal. Para alguns documentos de textosimples, pode ser possível para o servidor de procura de texto determinar a codificação do documentocom segurança suficiente para indexar os dados. Isto é mais provável de acontecer com documentosmuito pequenos, mas também pode ocorrer em documentos grandes que utilizam uma grandevariedade de caracteres. Se o formato e a codificação do ficheiro não pode ser determinado, o ficheironão será indexado e será registado um erro de documento.

Autoridades para objectos indexados

Quando adicionar um conjunto de objectos de ficheiro de dados contínuos IFS, considere os requisitos deautoridade para ler os ficheiros de dados contínuos cuidadosamente. As autoridades adoptadas não sãorespeitados quando acede aos dados do ficheiro de dados contínuos. Para além disso, as actualizaçõesagendadas são executadas com o perfil de utilizador ao qual pertence o índice. Consulte a documentaçãode actualização do procedimento armazenado para obter mais informações sobre os requisitos deautoridade a objectos indexados.

ADD_IFS_STMF_OBJECT_SET_WITH_SUBDIR

Os requisitos de autoridade e sintaxe deste procedimento armazenado são semelhantes aoADD_IFS_STMF_OBJECT_SET. Com este procedimento armazenado, o utilizador pode adicionar umdirectório como um conjunto de objectos ao conjunto. Todos os ficheiros e subdirectórios neste directórioserão indexados de forma recursiva.

Exemplo

Adicione um conjunto de objectos a MYCOLLECTION para indexar todos os ficheiros de dadoscontínuos num directório IFS '/home/ntl/stmf':> CALL MYCOLLECTION.ADD_IFS_STMF_OBJECT_SET(’/home/ntl/stmf’);

Adicione um conjunto de objectos a MYCOLLECTION para indexar todos os ficheiros de dadoscontínuos e os subdirectórios num directório IFS '/home/ntl/stmf':> CALL MYCOLLECTION.ADD_IFS_STMF_OBJECT_SET_WITH_SUBDIR(’/home/ntl/stmf’);

Para adicionar um caminho IFS a um conjunto do IBM Navigator for i, siga estes passos.1. A partir do IBM Navigator for i, expanda Gestão do IBM i > Sistema > Todos as tarefas.2. No painel direito, seleccione Sistema > OmniFind > Lista de conjuntos.3. Faça clique com o botão direito no conjunto e seleccione Propriedades. No separador Objecto, prima

o botão Adicionar caminho IFS. Escolha Incluir subdirectórios para todos os subdirectórios nocaminho especificado.

Remover um conjunto de objectos para dados de ficheiro de dadoscontínuosO procedimento armazenado está no esquema DB2® para remover um conjunto de objectos para dadosde ficheiro de dados contínuos.

RMV_IFS_STMF_OBJECT_SET

OmniFind Text Search Server 133

Page 140: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Autorização

Este procedimento armazenado é criado com autoridade pública *EXCLUDE e é propriedade do criadordo conjunto de procura de texto.

O procedimento irá adoptar a autoridade do perfil do proprietário do conjunto de procura de texto. Podeser concedida autoridade a outros utilizadores para lhes permitir a execução do procedimento.

Sintaxe

Este procedimento permite a um utilizador remover um conjunto de objectos de ficheiros de dadoscontínuos (STMF) do sistema de ficheiros integrado (IFS, Integrated File System).

Remover um conjunto de objectos para dados de ficheiro de dados contínuos (ficheiros de dadoscontínuos em IFS):

�� >>-RMV_IFS_STMF_OBJECT_SET -(--stmf_expression_string----------->< ��

O qualificador de esquema é o nome do conjunto de procura de texto.

Parâmetros

stmf_expression_stringEste parâmetro é um caminho absoluto para um directório que é o atributo do conjunto de objectos.

Não é necessário que seja um directório válido num sistema de ficheiros que está acessível uma vezque o caminho pode ser eliminado pelo utilizador, mas o conjunto de objectos continua a existir. Onome do caminho deve ser absoluto e não deve conter quaisquer expressões globais.

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

Nota: Nota para o nome do caminho do directório especificado:v Os nomes do caminho não podem ser delimitados, caracteres como '*', '?', etc não têm qualquer

significado especial e devem ser ignorados.v Os nomes do caminho podem ou não ser sensível a maiúsculas e minúsculas, dependendo do

atributo do sistema de ficheiros.

Uma vez que o ADD_IFS_STMF_OBJECT_SET não considera caminhos equivalentes como conjuntosde objectos duplicados, o utilizador deve indicar exactamente o mesmo caminho como adicionado noADD_IFS_STMF_OBJECT_SET quando tenta remover o conjunto de objectos específico.

Por outras palavras, os seguintes caminhos podem todos representar o mesmo directório, mas serãoconsiderados como conjuntos de objectos diferentes./dir1/DIR2/dir1//DIR2///DIR1/DIR2/ (se o sistema de ficheiros não for sensível a maiúsculas/minúsculas)/dir1/DIR2/../DIR2etc.

RMV_IFS_STMF_OBJECT_SET_WITH_SUBDIR

Este procedimento armazenado pode remover um conjunto de objectos que inclui ficheiros IFS desubdirectórios. Tal conjunto de objectos pode ser adicionado pelo procedimento

ADD_IFS_STMF_OBJECT_SET_WITH_SUBDIR.

134 IBM i: OmniFind Text Search Server for DB2 for i

Page 141: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Os requisitos e parâmetros de autoridade de sintaxe deste procedimento armazenado são semelhantes aoRMV_IFS_STMF_OBJECT_SET. Se um utilizador adicionar um caminho IFS para ambos com um conjuntode objectos de subdirectório e sem um conjunto de objectos de subdirectório, utilizar este procedimentovai apenas remover o conjunto de objectos com subdirectório.

Nota de resultado

No seguinte caso a remoção irá falhar devido a um conjunto de objectos não encontrado:

>O utilizador dá entrada a um caminho incorrecto

>Especifica o caminho IFS que corresponde ao conjunto de objectos foi eliminado anteriormente Outilizador recebe uma mensagem de erro a apresentar que o conjunto de objectos não existe com oatributo específico.

QUERY_OBJECT_SET() devolve a lista do conjunto de objectos e os parâmetros de entrada. O utilizadorpode especificar parâmetros de entrada correctos enquanto invoca este procedimento armazenado pararemover o conjunto de objectos.

Exemplos

Remover um conjunto de objectos na MYCOLLECTION com o directório IFS é '/home/ntl/stmf':> CALL MYCOLLECTION.RMV_IFS_STMF_OBJECT_SET(’/home/ntl/stmf’);

Remover um conjunto de objectos da MYCOLLECTION que inclui todos os ficheiros de dados contínuose subdirectórios num directório IFS '/home/ntl/stmf':> CALL MYCOLLECTION.RMV_IFS_STMF_OBJECT_SET_WITH_SUBDIR(’/home/ntl/stmf’);

Adicionar um conjunto de objectos para ficheiro físico de origem demúltiplos membrosO procedimento armazenado está no esquema DB2® para remover um conjunto de objectos para ficheirofísico de origem de múltiplos membros.

ADD_SRCPF_OBJECT_SET

Autorização

Este procedimento armazenado é criado com autoridade pública *EXCLUDE e é propriedade do criadordo conjunto de procura de texto.

O procedimento irá adoptar a autoridade do perfil do proprietário do conjunto de procura de texto. Podeser concedida autoridade a outros utilizadores para lhes permitir a execução do procedimento.

Sintaxe

Este procedimento permite ao utilizador adicionar um conjunto de objectos de ficheiro físico de origemde múltiplos membros (MMPF).

Adicionar um conjunto de objectos para ficheiro físico de origem de múltiplos membros:>>-ADD_SRCPF_OBJECT-SET -(---SRCPF_LIB----------->>-------- SRCPF_NAME ------)-------------------------------------><

>--+------------------+--)-------------------------------------><’-,-- OUT_SETID -’

OmniFind Text Search Server 135

Page 142: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

O qualificador de esquema é o nome do conjunto de procura de texto.

Parâmetro

SRCPF_LIBEste parâmetro significa uma biblioteca absoluta que contém os ficheiros físicos de origem que serãoindexados.

Isto tem de ser um nome da biblioteca válido no sistema. O objecto de ficheiro físico de origem demúltiplos membros destro desta biblioteca será indexado. O nome da biblioteca deve ser absoluto enão deve conter quaisquer expressão globais.

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

SRCPF_NAMEEste parâmetro significa que num ficheiro físico de origem absoluta que pode ter um ou maismembros, todos os membros no ficheiro físico de origem serão indexados. O nome de ficheiro deveser absoluto e não deve conter quaisquer expressões globais.

Nota: Se o ficheiro físico de origem for eliminado após a adição do conjunto de objectos ao conjuntode procura de texto, a chamada seguinte para o procedimento armazenado UPDATE irá detectá-lo,em seguida, o resultado da procura não irá conter os membros desse ficheiro físico de origem.

*ALLSRCPF

Se o *ALLSRCPF foi especificado como nome físico de origem, isso significa que todos os ficheirosfísicos de origem no SRCPF_LIB serãi indexados enquanto actualizar o índice.

Nota: Se o utilizador especificar o *ALLSRCPF como nome físico de origem enquanto adiciona umconjunto de objectos, também é permitido adicionar outro PF específico sob a mesma biblioteca comoum conjunto de objectos. Isto NÃO leva a um erro de duplicado.

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

OUT_SETIDO valor inteiro de saída que devolve o identificador do conjunto para o conjunto de objectos que foiadicionado.Este valor pode ser utilizado para remover o conjunto de objectos posteriormente.

Este parâmetro é opcional.

O tipo de dados para este parâmetro é INTEGER.

Restrições adicionaisv Será feita uma verificação ao adicionar o conjunto de objectos para verificar se não existe já um

conjunto duplicado no conjunto de procura de texto.v Enquanto adiciona um conjunto de objectos de ficheiro físico de origem a um conjunto de procura de

texto, o OmniFind verifica se o ficheiro físico de origem existe. Se o ficheiro físico de origem nãoexistir, é devolvida uma mensagem de erro e o conjunto de objectos não é adicionado.

v Se o ficheiro especificado não for um ficheiro físico de origem, a chamada do procedimento falha comum erro.

Autoridades para objectos indexados

Quando adiciona um conjunto de objectos do ficheiro físico de origem de múltiplos membros, tenha emconsideração os requisitos de autoridade para ler os ficheiros cuidadosamente. As autoridades adoptadassão respeitadas quando acede aos dados do ficheiro físico de origem. Para além disso, as actualizaçõesagendadas são executadas com o perfil de utilizador ao qual pertence o índice. Consulte a documentaçãode actualização do procedimento armazenado para obter mais informações sobre os requisitos deautoridade a objectos indexados.

136 IBM i: OmniFind Text Search Server for DB2 for i

Page 143: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Exemplos

Adicione um conjunto de objectos a MYCOLLECTION para indexar o ficheiro físico de origem demúltiplos membros QCSRC à biblioteca ISVSQLLP:> CALL MYCOLLECTION.ADD_SRCPF_OBJECT_SET(’ISVSQLLP’,’QCSRC’);

Adicione um conjunto de objectos a MYCOLLECTION para indexar o ficheiro físico de origem demúltiplos membros QCSRC numa biblioteca ISVSQLLP e espere obter o setid.> crie variável setid int default 0;> CALL MYCOLLECTION.ADD_SRCPF_OBJECT_SET(’ISVSQLLP’,’QCSRC’,setid);

Adicicone um conjunto de objectos a MYCOLLECTION para indexar todos os ficheiros físicos de origemde múltiplos membros à biblioteca ISVSQLLP:> CALL MYCOLLECTION.ADD_SRCPF_OBJECT_SET(’ISVSQLLP’,’*ALLSRCPF’);

Para adicionar o conjunto de objectos de ficheiro físico de origem para um conjunto do IBM® Navigatorfor i, siga os seguintes passos.1. A partir do IBM Navigator for i, expanda Gestão do IBM i > Sistema > Todas as tarefas >OmniFind

> Lista de conjunto.2. Faça clique com o botão direito no conjunto e seleccione Propriedades. No separador Objecto, prima

o menu pendente, escolha Adicionar Ficheiro físico de origem e, em seguida, prima ADICIONAR.

Remover um conjunto de objectos para ficheiro físico de origem demúltiplos membrosO procedimento armazenado está no esquema DB2® para remover um conjunto de objectos para ficheirofísico de origem de múltiplos membros.

RMV_SRCPF_OBJECT_SET

Autorização

Este procedimento armazenado é criado com autoridade pública *EXCLUDE e é propriedade do criadordo conjunto de procura de texto.

O procedimento irá adoptar a autoridade do perfil do proprietário do conjunto de procura de texto. Podeser concedida autoridade a outros utilizadores para lhes permitir a execução do procedimento.

Sintaxe

Este procedimento permite a um utilizador remover um conjunto de objectos de ficheiro físico de origemde múltiplos membros (MMPF).

remover um conjunto de objectos para ficheiro físico de origem de múltiplos membros:>>-RMV_SRCPF_OBJECT-SET -(---SRCPF_LIB----------->>-------- SRCPF_NAME ------)-------------------------------------><

O qualificador de esquema é o nome do conjunto de procura de texto.

Parâmetro

SRCPF_LIBEste parâmetro significa uma biblioteca absoluta que contém os ficheiros físicos de origem.

O nome da biblioteca deve ser absoluto e não deve conter quaisquer expressão globais.

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

OmniFind Text Search Server 137

Page 144: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

SRCPF_NAMEEste parâmetro significa que num ficheiro físico de origem absoluta que pode ter um ou maismembros, todos os membros no ficheiro físico de origem serão indexados. O nome de ficheiro deveser absoluto e não deve conter quaisquer expressões globais.

*ALLSRCPF

Se *ALLSRCPF foi especificado como nome físico de origem, significa que vai remover o conjunto deobjectos para todos os ficheiros físicos de origem no SRCPF_LIB.

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

Nota de resultado

No caso seguinte a remoção irá falhar devido a não ter encontrado o conjunto de objectos:>O utilizador insere SRCPF_LIB ou SRCPF_NAME incorrectos>Especifica que o conjunto de objectos SRCPF_LIB/SRCPF_NAME correspondente foi eliminado anteriormente.

O utilizador recebe uma mensagem de erro que demonstra que o conjunto de objectos não existe com oatributo específico.

QUERY_OBJECT_SET() devolve a lista do conjunto de objectos e os parâmetros de entrada. O utilizadorpode especificar parâmetros de entrada correctos enquanto invoca este procedimento armazenado pararemover o conjunto de objectos.

Exemplos

Remover um conjunto de objectos em MYCOLLECTION para o ficheiro físico de origem de múltiplosmembros QCSRC na biblioteca ISVSQLLP:> CALL MYCOLLECTION.RMV_SRCPF_OBJECT_SET(’ISVSQLLP’,’QCSRC’);

Remover um conjunto de objectos em MYCOLLECTION para todos os ficheiros físicos de origem demúltiplos membros na biblioteca ISVSQLLP:> CALL MYCOLLECTION.RMV_SRCPF_OBJECT_SET(’ISVSQLLP’,’*ALLSRCPF’);

Remover um conjunto de objectosEste procedimento armazenado remove um conjunto de objectos de um conjunto de procura de texto.

REMOVE_OBJECT_SET

Autorização

Este procedimento armazenado é criado com autoridade pública *EXCLUDE e é propriedade do criadordo conjunto de procura de texto.

O procedimento irá adoptar a autoridade do perfil do proprietário do conjunto de procura de texto. Podeser concedida autoridade a outros utilizadores para lhes permitir a execução do procedimento.

Sintaxe

�� REMOVE_OBJECT_SET ( setid ) ��

O qualificador de esquema é o nome do conjunto de procura de texto.

138 IBM i: OmniFind Text Search Server for DB2 for i

Page 145: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Parâmetros

setidO ID do conjunto que foi obtido quando adicionou o conjunto de objectos.

O ID do conjunto de objectos também pode ser obtido ao utilizar o procedimento armazenadoQUERY_OBJECT_SET após o conjunto de objectos ter sido adicionado.

O tipo de dados para este parâmetro é INTEGER.

Exemplos

Remover o conjunto de objectos #1 do conjunto MYCOLLECTION.> CALL MYCOLLECTION.remove_object_set(1)

Para remover um conjunto de objectos de um conjunto do IBM Navigator for i, siga estes passos.1. A partir do IBM Navigator for i, expanda Gestão do IBM i > Sistema > Todas as tarefas.2. No painel direito, seleccione Sistema > OmniFind > Lista de conjuntos.3. Faça clique com o botão direito no conjunto e seleccione Propriedades. No separador Objecto, prima

o botão Remover.

Actualizar o conjuntoEste procedimento armazenado actualiza o conjunto. Quando chamados inicialmente, são indexadostodos os objectos incluídos nos conjuntos de objectos para o conjunto. Quando este procedimentoarmazenado é chamado após uma actualização inicial bem sucedida ter sido concluída, todos os objectosalterados são actualizados no índice. O procedimento não devolve o controlo ao chamador até aactualização ter sido concluída.

UPDATE

Autorização

Este procedimento armazenado é criado com autoridade pública *EXCLUDE e é propriedade do criadordo conjunto de procura de texto.

O procedimento irá adoptar a autoridade do perfil do proprietário do conjunto de procura de texto. Podeser concedida autoridade a outros utilizadores para lhes permitir a execução do procedimento.

Sintaxe

�� UPDATE ��

O qualificador de esquema é o nome do conjunto de procura de texto.

Parâmetros

Nenhum(a)

Requisitos de autoridade para objectos indexados

As actualizações agendadas são executados sob o perfil proprietário do conjunto de procura de texto.

Chamadas para o procedimento armazenado UPDATE são executadas sob o perfil que invoca oprocedimento.

OmniFind Text Search Server 139

Page 146: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

É recomendado que tanto o proprietário do índice, como o perfil que administra o índice tenhamautoridade para ler os dados do texto a partir de todos os objectos indexados no conjunto. A falta deautoridade suficiente pode provocar resultados imprevisíveis.

A autoridade adoptada não será necessariamente respeitada para pesquisar objectos e extrair textosdesses objectos.

Problemas de autoridade durante o processo de actualização podem fazer com que a actualização falheou com que documentos individuais não sejam indexados.

ExemplosCALL MYCOLLECTION.UPDATE;

Para actualizar o índice do conjunto do IBM Navigator for i, siga estes passos.1. A partir do IBM Navigator for i, expanda Gestão do IBM i > Sistema > Todos as tarefas.2. No painel direito, seleccione Sistema > OmniFind > Lista de conjuntos.3. Faça clique com o botão direito no conjunto e seleccione Actualizar.

Voltar a preencher o conjunto de procura de textoO procedimento armazenado REPRIME limpa o conjunto e, em seguida, executa uma actualização inicial.O procedimento não devolve o controlo ao chamador até a actualização ter sido concluída.

REPRIME

Autorização

Este procedimento armazenado é criado com autoridade pública *EXCLUDE e é propriedade do criadordo conjunto de procura de texto.

O procedimento irá adoptar a autoridade do perfil do proprietário do conjunto de procura de texto. Podeser concedida autoridade a outros utilizadores para lhes permitir a execução do procedimento.

Sintaxe

�� REPRIME ��

O qualificador de esquema é o nome do conjunto de procura de texto.

Parâmetros

Nenhum(a)

Recriar considerações de autoridade para objectos indexados

As actualizações agendadas são executados sob o perfil proprietário do conjunto de procura de texto.

Chamadas para os procedimentos armazenados REPRIME são executadas sob o perfil que está a invocaro procedimento.

É recomendado que tanto o proprietário do índice, como o perfil que administra o índice tenhamautoridade para ler os dados do texto a partir de todos os objectos indexados no conjunto. A falta deautoridade suficiente pode provocar resultados imprevisíveis.

140 IBM i: OmniFind Text Search Server for DB2 for i

Page 147: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

A autoridade adoptada não será necessariamente respeitada para pesquisar objectos e extrair textosdesses objectos.

Problemas de autoridade durante o processo de actualização podem fazer com que a actualização falheou com que documentos individuais não sejam indexados.

ExemplosCALL MYCOLLECTION.REPRIME;

Para voltar a preencher o conjunto de procura de texto do IBM Navigator for i, siga estes passos.1. A partir do IBM Navigator for i, expanda Gestão do IBM i > Sistema > Todas as tarefas.2. No painel direito, seleccione Sistema > OmniFind > Lista de conjuntos.3. Faça clique com o botão direito no conjunto e seleccione Recriar.

Procurar o conjuntoEste procedimento permite ao utilizador procurar um conjunto de procura de texto para objectos quecorrespondem a uma procura.

PROCURAR

Autorização

Este procedimento armazenado é criado com autoridade pública *EXCLUDE e é propriedade do criadordo conjunto de procura de texto.

O procedimento irá adoptar a autoridade do perfil do proprietário do conjunto de procura de texto. Podeser concedida autoridade a outros utilizadores para lhes permitir a execução do procedimento.

Sintaxe

�� PROCURAR ( search_string, search_options

, number_of_results

) ��

O qualificador de esquema é o nome do conjunto de procura de texto.

Parâmetros

search_stringUm parâmetro de cadeia que contém a expressão de procura.

Nota: Esta expressão não deve ser uma cadeia em branco ou vazia.

Consulte a Sintaxe de argumento de procura da Referência OmniFind para obter mais detalhes.

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

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

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

OmniFind Text Search Server 141

Page 148: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

search_options:

, QUERYLANGUAGE = valor , RESULTLIMIT = valor , SYNONYM = OFFON

QUERYLANGUAGEEspecifica 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 predefinido paraQUERYLANGUAGE é en_US.

RESULTLIMITIsto fornece uma pista ao optimizador DB2 para a quantidade de linhas do conjunto deresultados que se espera que sejam utilizadas. O optimizador pode escolher um plano diferentepara devolver menos linhas do procedimento de PROCURA. O optimizador também podeignorar esta opção se não for possível beneficiar do desempenho durante a procura.

SYNONYMEspecifica 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 é o valor predefinido.

number_of_resultsO valor inteiro de saída que devolve o número de documentos para o resultado da procura.

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

CONJUNTO DE RESULTADOS DEVOLVIDO

O procedimento de procura devolve um conjunto de resultados que corresponde à expressão de procura.

O conjunto de resultados contém as seguintes colunas:OBJTYPE CHAR(10) CCSID 1208OBJATTR CHAR(10) CCSID 1208CONTAINING_OBJECT_LIB CHAR(10) CCSID 1208CONTAINING_OBJECT_NAME CHAR(10) CCSID 1208OBJECTINFOR XMLMODIFY_TIME TIMESTAMPSCORE DOUBLE

OBJTYPE - O tipo de objecto de sistema para este resultado (*STMF, *OUTQ, etc).

OBJATR - O atributo do objecto de sistema que corresponde à expressão de procura (*SPLF, *DATA, etc).

CONTAINING_OBJECT_LIB - A biblioteca para o objecto de sistema correspondente.

CONTAINING_OBJECT_NAME - O nome para o objecto de sistema correspondente.

OBJECTINFOR - Um valor XML que descreve a informação de localização dos dados indexados quecorresponde à expressão search_string. Um exemplo de uma localização de ficheiro em spool terá oseguinte aspecto:<Spool_File xmlns=”http://www.ibm.com/xmlns/prod/db2textsearch/obj1”>

<job_name>QPADEV000Cjob_name>QPADEV000C><job_user_name>USERAjob_user_name>USERA><spool_file_name>DSXSVRALSspool_file_name>DSXSVRALS><spool_file_number>1spool_file_number>1>

142 IBM i: OmniFind Text Search Server for DB2 for i

Page 149: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

<job_system_name>ZD21BP1job_system_name>ZD21BP1><create_date>1081027create_date>1081027><create_time>035554create_time>035554>

</Spool_File>

Um exemplo de localização do ficheiro de dados contínuos IFS poderá ter este aspecto:<Stream_File xmlns=”http://www.ibm.com/xmlns/prod/db2textsearch/obj1”>

<file_path>/home/usera/a.txt</file_path></Spool_File>

Um exemplo de uma localização de membro de ficheiro físico poderá ter o seguinte aspecto:<Source_Physical_File_Member xmlns=”http://www.ibm.com/xmlns/prod/db2textsearch/obj1>

<file_library>MYLIB</file_library><file_name>MYPF</file_name><member_name>member1</member_name>

</Source_Physical_File_Member>

O DB2 fornece a quantidade de maneiras de converter um valor XML em outros formatos para que asaplicações possam aceder aos dados. Uma das possibilidades é criar uma folha de estilos xsl e utilizar afunção XSLTRANSFORM. Outra possibilidade é a de criar um esquema anotado para os valores XML eutilizar o procedimento XDBDECOMPXML para preencher as tabelas relacionais com os valores. O SQLReference no infocenter contém detalhes de ambas as funções.

MODIFY_TIME - Uma marca de hora que indica a data da última modificação do objecto que está noconjunto. Esta marca de hora nunca será mais recente do que o último processo de actualização.

SCORE - O resultado é superior a 0 mas inferior a 1 se os dados do texto indexado contiverem umcorrespondência para os critérios de procura que o argumento de procura especifica. Quanto maior for afrequência de localização de uma correspondência, maior será o valor do resultado. Se a coluna nãocontém uma correspondência, o resultado é 0.

O conjunto de resultados está ordenado por classificação descendente.

Exemplos1. call MYCOLLECTION.search('big bad wolf');2. call MYCOLLECTION.search('big bad wolf', 'QUERYLANGUAGE=en_US');

Para procurar o conjunto do IBM Navigator for i, siga estes passos.1. No IBM Navigator for i, expanda Gestão do IBM i > Sistema > Procura.2. Seleccione Procurar.

Informação de consulta de conjunto de objectosEste procedimento permite ao utilizador ver a lista de conjuntos de objectos que estão contidos noconjunto.

QUERY_OBJECT_SET

Autorização

Este procedimento armazenado é criado com autoridade pública *EXCLUDE e é propriedade do criadordo conjunto de procura de texto.

O procedimento irá adoptar a autoridade do perfil do proprietário do conjunto de procura de texto. Podeser concedida autoridade a outros utilizadores para lhes permitir a execução do procedimento.

OmniFind Text Search Server 143

Page 150: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Sintaxe

�� QUERY_OBJECT_SET ��

O qualificador de esquema é o nome do conjunto de procura de texto.

Parâmetros

Nenhum(a)

CONJUNTO DE RESULTADOS DEVOLVIDO

O procedimento devolve um conjunto de resultados que tam uma linha para cada conjunto de objectos:SETID INTEGERSETSTATE CHAR(10) CCSID 1208LASTREFRESHTIME TIMESTAMPADDOBJSETSQL VARCHAR(2000) CCSID 1208

SETID - Um identificador único atribuído a cada conjunto de objectos. Este identificador pode serutilizado no procedimento armazenado remove_object_set para remover o conjunto de objectos doconjunto.

SETSTATE - O estado do conjunto de objectos. Isto está reservado para futuras expansões e está sempre'ACTIVE'.

LASTREFRESHTIME - A última vez que o conjunto de objectos foi actualizado para repercutir objectosque estão realmente no sistema.

ADDOBJSETSQL - A chamada do procedimento armazenado SQL que foi utilizada para adicionar esteconjunto de objectos.

ExemplosChamar MYCOLLECTION.QUERY_OBJECT_SET;

Para consultar a informação do conjunto de objectos de um conjunto do IBM Navigator for i, siga estespassos.1. A partir do IBM Navigator for i, expanda Gestão do IBM i > Sistema > Todas as tarefas.2. No painel direito, seleccione Sistema > OmniFind > Lista de conjuntos.3. Faça clique com o botão direito no conjunto e seleccione Propriedades. Faça clique no separador

Objecto.

Obter o estado de objectos indexadosEste procedimento devolve o estado de todos os objectos no conjunto de procura de texto.

GET_OBJECT_STATUS

Autorização

Este procedimento armazenado é criado com autoridade pública *EXCLUDE e é propriedade do criadordo conjunto de procura de texto.

O procedimento irá adoptar a autoridade do perfil do proprietário do conjunto de procura de texto. Podeser concedida autoridade a outros utilizadores para lhes permitir a execução do procedimento.

144 IBM i: OmniFind Text Search Server for DB2 for i

Page 151: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Sintaxe

�� GET_OBJECT_STATUS ��

O qualificador de esquema é o nome do conjunto de procura de texto.

Parâmetros

Nenhum(a)

CONJUNTO DE RESULTADOS DEVOLVIDO

O procedimento devolve um conjunto de resultados que tam uma linha para cada conjunto de objectos:OBJECT XMLSTATUS_TIMESTAMP TIMESTAMPSTATUS_CODE INTEGERTEXT_STATUS VARCHAR(100)

OBJECT - A informação de localização para o objecto no índice, isto corresponde ao formato devolvidopela procura para a coluna OBJECTINFOR.

STATUS_TIMESTAMP - Se o objecto estiver no estado INDEXED, esta é a marca de hora de modificaçãodo objecto no índice. Por outras palavras, as alterações feitas no objecto antes desta hora estão reflectidasno índice de procura de texto. Para todos os outros valores de estado, esta marca de hora é a hora emque o estado foi registado no índice. Por exemplo: Se o estado do objecto for ERROR, esta é a hora emque o erro foi registado.

STATUS_CODE - Um valor numérico que representa o estado deste objecto:0 = O objecto foi indexado e não foram detectadas alterações no objecto.10 = O objecto está actualmente no processo de ser indexado.20 = Foram detectadas alterações no objecto.30 = O objecto foi indexado, mas ocorreu um aviso durante o processo de indexação.40 = Um erro impediu que o objecto fosse indexado.

Estes valores permitem critérios de selecção mais complexos. isto é a obtenção de todos os objectos quenão estejam actualmente no índice pode ser expresso como STATUS_CODE > 0.

Nota: o estado dos objectos que estão no processo de serem actualizados ou que estiveram no processode serem actualizados quando uma actualização foi cancelada, podem divergir da realidade. É possívelque um objecto registe alterações pendentes, quando de facto o texto a ser indexado já foi enviado para oservidor. Também é possível que o estado de um documento seja 'INDEXED', mas o objecto pode não serpesquisável até um ponto de consolidação futuro no processo de actualização. O STATUS_CODE irárepercutir a realidade quando o procedimento armazenado e de actualização estiver completo.

O conjunto de resultados está ordenado (descendente) por código de estado.

TEXT_STATUS - A versão de texto do código de estado:0 = INDEXED10 = INDEXING20 = CHANGES PENDING30 = WARNING40 = ERROR

ExemplosChama MYCOLLECTION.GET_OBJECT_STATUS;

OmniFind Text Search Server 145

Page 152: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Obter objectos não indexadoseste procedimento devolve os objectos que não estão indexados no conjunto de procura de texto.

GET_OBJECTS_NOT_INDEXED

Autorização

Este procedimento armazenado é criado com autoridade pública *EXCLUDE e é propriedade do criadordo conjunto de procura de texto.

O procedimento irá adoptar a autoridade do perfil do proprietário do conjunto de procura de texto. Podeser concedida autoridade a outros utilizadores para lhes permitir a execução do procedimento.

Sintaxe

�� GET_OBJECTS_NOT_INDEXED ��

O qualificador de esquema é o nome do conjunto de procura de texto.

Parâmetros

Nenhum(a)

CONJUNTO DE RESULTADOS DEVOLVIDO

O procedimento devolve um conjunto de resultados que tam uma linha para cada conjunto de objectos:OBJECT XMLSTATUS_TIMESTAMP TIMESTAMPSTATUS_CODE INTEGERTEXT_STATUS VARCHAR(100)

OBJECT - A informação de localização para o objecto no índice, isto corresponde ao formato devolvidopela procura para a coluna OBJECTINFOR.

STATUS_TIMESTAMP - Se o objecto estiver no estado INDEXED, esta é a marca de hora de modificaçãodo objecto no índice. Por outras palavras, as alterações feitas no objecto antes desta hora estão reflectidasno índice de procura de texto. Para todos os outros valores de estado, esta marca de hora é a hora emque o estado foi registado no índice. Por exemplo: Se o estado do objecto for ERROR, esta é a hora emque o erro foi registado.

STATUS_CODE - Um valor numérico que representa o estado deste objecto:0 = O objecto foi indexado e não foram detectadas alterações no objecto.10 = O objecto está actualmente no processo de ser indexado.20 = Foram detectadas alterações no objecto.30 = O objecto foi indexado, mas ocorreu um aviso durante o processo de indexação.40 = Um erro impediu que o objecto fosse indexado.

Estes valores permitem critérios de selecção mais complexos. isto é a obtenção de todos os objectos quenão estejam actualmente no índice pode ser expresso como STATUS_CODE > 0.

Nota: o estado dos objectos que estão no processo de serem actualizados ou que estiveram no processode serem actualizados quando uma actualização foi cancelada, podem divergir da realidade. É possívelque um objecto registe alterações pendentes, quando de facto o texto a ser indexado já foi enviado para oservidor. Também é possível que o estado de um documento seja 'INDEXED', mas o objecto pode não serpesquisável até um ponto de consolidação futuro no processo de actualização. O STATUS_CODE irárepercutir a realidade quando o procedimento armazenado e de actualização estiver completo.

146 IBM i: OmniFind Text Search Server for DB2 for i

Page 153: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

O conjunto de resultados está ordenado (descendente) por código de estado.

TEXT_STATUS - A versão de texto do código de estado:0 = INDEXED10 = INDEXING20 = CHANGES PENDING30 = WARNING and ERROR40 = WARNING and ERROR

ExemplosChama MYCOLLECTION.GET_OBJECTS_NOT_INDEXED;

Obter o estado do conjuntoEste procedimento devolve o estado do conjunto de procura de texto.

STATUS

Autorização

Este procedimento armazenado é criado com autoridade pública *EXCLUDE e é propriedade do criadordo conjunto de procura de texto.

O procedimento irá adoptar a autoridade do perfil do proprietário do conjunto de procura de texto. Podeser concedida autoridade a outros utilizadores para lhes permitir a execução do procedimento.

Sintaxe

�� STATUS ��

O qualificador de esquema é o nome do conjunto de procura de texto.

Parâmetros

Nenhum(a)

CONJUNTO DE RESULTADOS DEVOLVIDO

O procedimento devolve um conjunto de resultados que tam uma linha para cada conjunto de objectos:SERVERID INTEGERSERVERNAME VARCHAR(128)SERVERSTATUS VARCHAR(32)LASTUPDATETIME TIMESTAMPLASTUPDATESTATUS VARCHAR(30)UPDATEFREQUENCY VARCHAR(512)

SERVERID - O ID do servidor para o índice de procura de texto.

SERVERNAME - O nome do sistema central ou o endereço de IP do servidor de procura de texto.

SERVERSTATUS - Indica se um servidor pode ser utilizado como um servidor de procura de texto paracriar índices de procura de texto novos. O valor predefinido é 0 (zero), o que significa que o servidorpode ser utilizado.

LASTUPDATETIME - A hora em que o índice de procura de texto foi actualizado pela última vez.

LASTUPDATESTATUS - Indica o último estado de actualização para o índice de procura de texto.

OmniFind Text Search Server 147

Page 154: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

NEVER UPDATED - O índice de procura de texto nunca foi actualizado antes.UP TO DATE - O índice de procura de texto está actualizado.CHANGES PENDING - Existem alterações pendentes.

O utilizador necessita de actualizar o índice para executar oíndice de procura de texto actual.

FAILED - A actualização do índice de procura de texto falhou da última vez.

UPDATEFREQUENCY - Quando executar actualizações automáticas ao índice de procura de texto.

ExemplosChamar MYCOLLECTION.STATUS;

Para obter o estado do conjunto do IBM Navigator for i, siga estes passos.1. A partir do IBM Navigator for i, expanda Gestão do IBM i > Sistema > Todos as tarefas.2. No painel direito, seleccione Sistema > OmniFind > Lista de conjuntos.

Desactivar um conjunto de procura de textoEste procedimento remove um conjunto de procura de texto do sistema.

SYSPROC.SYSTS_DRPCOL and SYSPROC.SYSTS_DROP_COLLECTION

Autorização

Os procedimentos armazenados SYSPROC.SYSTS_DRPCOL e SYSPROC.SYSTS_DROP_COLLECTION sãoenviados com autoridade pública *EXECUTE.

Não é adoptada nenhuma autoridade e o procedimento é executado sob o perfil do utilizador.

O utilizador tem de ter autoridade para desactivar o esquema SQL (incluindo todos os objectos nomesmo) para desactivar o conjunto com sucesso.

Sintaxe

�� SYSTS_DRPCOL ( collection_name ) ��

Sintaxe

�� SYSTS_DROP_COLLECTION ( collection_name ) ��

O qualificador de esquema é SYSPROC.

Parâmetros

collection_nameO nome do conjunto como fornecido no procedimento armazenado SYSTS_CREATE_COLLECTION.

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

Exemplos

CALL SYSPROC.SYTS_DRPCOL(‘”MYCOLLECTION”')

148 IBM i: OmniFind Text Search Server for DB2 for i

Page 155: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Outros exemplos que utilizam procedimentos de conjuntos de procura de texto> CALL SYSPROC.SYSTS_CREATE_COLLECTION(’MYCOLLECTION’, ’FORMAT TEXT’);

Por predefinição, chamou sempre os procedimentos armazenados associados com o novo conjunto> SET SCHEMA MYCOLLECTION> SET PATH MYCOLLECTION

Adicionar um conjunto de objectos para todos os ficheiros em spool que pertencem aoutilizador ZOOKEEPER> CALL.ADD_SPLF_OBJECT_SET(’’, ’’, ’ZOOKEEPER’);

Adicionar um conjunto de objectos para todos os ficheiros em spool criados em 06/14/2010> CALL ADD_SPLF_OBJECT_SET(’’, ’’, ’’, ’’, ’’, ’’, ’’, ’2010-06-14T00:00:00’,’2010-06-15T00:00:00’);

Adicionar um conjunto de objectos para todos os ficheiros de dados contínuos no directórioIFS ’/home/zookeeper’> CALL ADD_IFS_STMF_OBJECT_SET(’/home/zookeeper’);

Actualizar o conjunto> CALL UPDATE;

Procurar por ’Lions AND tigers AND bears’> CALL SEARCH(’lions AND tigers AND bears’);

Conceder autoridade a outro utilizador (SEARCHER)> GRANT EXECUTE ON SPECIFIC PROCEDURE SEARCH1 TO SEARCHER

Desactivar o conjunto> CALL SYSPROC.SYSTS_DROP_COLLECTION(’MYCOLLECTION’)

Para desactivar um conjunto de procura de texto do IBM Navigator for i, siga estes passos.1. A partir do IBM Navigator for i, expanda Gestão do IBM i > Sistema > Todas as tarefas.2. No painel direito, seleccione Sistema > OmniFind > Lista de conjuntos.3. Faça clique com o botão direito no conjunto e seleccione Eliminar.

Alterar um conjunto de procura de textoPode chamar este procedimento armazenado para modificar atributos de um conjunto que foi criado peloSYSPROC.SYSTS_CREATE_COLLECTION. Apenas os atributos explicitamente especificados nesteprocedimento são alterados. Todos os restantes atributos do índice permanecem inalterados.

Isto é útil se necessitar de alterar os atributos do conjunto, tal como a frequência de actualização, após oconjunto já ter sido criado.

ALTER_COLLECTION

Autorização

Este procedimento armazenado é criado com autoridade pública *EXCLUDE e é propriedade do criadordo conjunto de procura de texto.

O procedimento irá adoptar a autoridade do perfil do proprietário do conjunto de procura de texto. Podeser concedida autoridade a outros utilizadores para lhes permitir a execução do procedimento.

Sintaxe>>-ALTER_COLLECTION--(--options-----------------------------><

O qualificador de esquema é o nome do conjunto de procura de texto.

OmniFind Text Search Server 149

Page 156: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Parâmetros

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:

características-actualização

características-actualização:

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

características-actualizaçãoEspecifica a frequência de actualizações automáticas para o conjunto de procura de texto. O processode actualização para um ambos de procura de texto envolve a indexação dos dados de texto e apesquisa dos objectos de sistema para detectar dados novos ou alterados.

UPDATE FREQUENCY frequência-actualizaçãoEspecifica quando devem ser executadas actualizações automáticas ao conjunto de procura detexto. O valor predefinido é NONE.

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.

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 (*) especifica todasas horas.

M Especifica o minuto ou minutos em que o índice é actualizado. Não é possível especificarum 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 30 minutos.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.

150 IBM i: OmniFind Text Search Server for DB2 for i

Page 157: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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

Exemplo: Este exemplo especifica que a actualização do índice será executada a cada quarto dehora (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 ser actualizado.Pode especificar um asterisco (*) para um intervalo de 5 minutos ou especificar umnúmero inteiro entre 0 e 59. Não é possível repetir valores. A frequência mínima deactualizaçã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. Podeespecificar um asterisco (*) para cada hora ou especificar um número inteiro entre 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. Podeespecificar um asterisco (*) para cada dia ou especificar um número inteiro entre 1 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 inteiro entre 1e 12. Não é possível repetir valores.

OmniFind Text Search Server 151

Page 158: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 ser actualizado.Pode especificar um asterisco (*) para cada dia ou especificar um número inteiro entre 0 e7. 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

Exemplos1. CALL MYCOLLECTION.ALTER_COLLECTION(‘UPDATE FREQUENCY H(0) M(0) D(*)');

O valor da frequência de actualização do conjunto MYCOLLECTION é alterado.O conjunto de procura de texto terá uma frequência de conjunto de todos os dias, às 00:00.

2. CALL MYCOLLECTION.ALTER_COLLECTION(‘UPDATE FREQUENCY NONE');Este conjunto de procura de texto é alterado pata não agendado.

Para alterar um conjunto do IBM Navigator for i, siga estes passos.1. A partir do IBM Navigator for i, expanda Gestão do IBM i > Sistema > Todas as tarefas.2. No painel direito, seleccione Sistema > OmniFind > Alterar conjunto.

Considerações de ASP independentes para Conjuntos de procura detextoConsiderações IASP para um conjunto de procura de texto.

Os Conjuntos de procura de texto podem ser criados num ambiente de conjunto de memória auxiliar(ASP, Auxiliary Storage Pool) independente com as seguintes restrições:1. Se um grupo ASP independente está associado ao sessão actual, o conjunto tem de estar localizado

num ASP no grupo ASP independente. Não é possível administrar um conjunto de procura de textono ASP do sistema ou num ASP de utilizador básico enquanto o módulo está definido para um grupoASP independente. É possível procurar um conjunto que existe no ASP do sistema ou no ASP doutilizador básico, contudo, como esse índice não pode incluir dados no grupo ASP independente,apenas os objectos que estão acessíveis quando o grupo ASP é *NONE serão incluídos.

2. Um conjunto de procura de texto pode indexar quaisquer objectos visíveis a partir do espaço denomes do grupo ASP do conjunto.

3. Se um conjunto de objectos inclui objectos que existem dentro do espaço de nomes do grupo ASP,mas não no próprio grupo, pode ocorrer tempo de indexação significativo se o grupo ASPindependente for movido para outro sistema. Por exemplo: Se um conjunto é criado no ASP 33independente para indexar todos os ficheiros em spool no sistema e o grupo ASP é mudado para uma

152 IBM i: OmniFind Text Search Server for DB2 for i

Page 159: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

máquina diferente, todos os ficheiros em spool da máquina antiga que não estejam no grupos ASPserão removidos do índice e todos os ficheiros em spool na máquina nova que não estejam no índiceserão adicionados.

Criar e restaurar cópias de segurança de considerações paraconjuntos de procura de textoCriar e restaurar cópias de segurança de um conjunto de procura de texto.

É possível criar uma cópia de segurança de um conjunto de procura de texto e restaurar o mesmo aoguardar e restaurar a biblioteca do esquema criado para o conjunto. Durante a restauração, será iniciadouma actualização de forma assíncrona. A actualização irá pesquisar os objectos no sistema e voltar apreencher o índice.

É necessário que seja possível restaurar o índice de procura de texto contido dentro do conjunto para queo conjunto seja utilizável. Estas considerações para restaurar um índice de procura de texto têm de serconsideradas:v Todos os produtos necessários têm de estar instalados.v O servidor de procura de texto deve estar disponível.

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 40. 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 asvistas, 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 -0196

OmniFind Text Search Server 153

Page 160: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

SQLCODE -5003 Não é possível executar a operaçãosob o controlo de consolidações.

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 40Pode 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 uma

correspondência.

“SCORE” na página 42Pode 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 da Procura de texto não foi iniciado.

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

Referências relacionadas:

“Tabela de administração QSYS2.SYSTEXTSERVERS”na página 115Pode 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 112Pode 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 114Pode 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 -5003 • SQLCODE -20424

154 IBM i: OmniFind Text Search Server for DB2 for i

Page 161: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 40Pode 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 42Pode 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.

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

SQLCODE -20425 • CPF32fb

OmniFind Text Search Server 155

Page 162: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 dereferê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.

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.

CPI321E

156 IBM i: OmniFind Text Search Server for DB2 for i

Page 163: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Avisos

Esta informação foi desenvolvida para produtos e serviços disponibilizados nos E.U.A.

A IBM pode não disponibilizar os produtos, serviços ou funções descritos neste documento noutrospaíses. Consulte o seu representante local da IBM para obter mais informações sobre os produtos eserviços actualmente disponíveis na sua área. Quaisquer referências a um produto, programa ou serviçoda IBM não pretende to declarar ou sugerir que só pode ser utilizado tal produto, programa ou serviçoda IBM. Em substituição, pode ser utilizado qualquer produto, programa ou serviço funcionalmenteequivalente que não infrinja quaisquer direitos de propriedade intelectual da IBM. No entanto, é dainteira responsabilidade do utilizador avaliar e verificar o funcionamento de qualquer produto, programaou serviço não produzido pela IBM.

A IBM pode ter patentes ou pedidos de patente pendentes que abrangem os assuntos descritos nestedocumento. O facto de este documento lhe ser fornecido não lhe confere nenhum direito sobre essaspatentes. Caso solicite pedidos de informação sobre licenças, tais pedidos deverão ser endereçados, porescrito, para:

IBM Director of LicensingIBM CorporationNorth Castle DriveArmonk, NY 10504-1785E.U.A.

Para pedidos de licença relativos a informações pedido de resposta (DBCS), contacte o IBM IntellectualProperty Department no seu país ou envie pedidos, por escrito, para:

Intellectual Property LicensingLegal and Intellectual Property LawIBM Japan Ltd.1623-14, Shimotsuruma, Yamato-shiKanagawa 242-8502 Japan

O seguinte parágrafo não se aplica ao Reino Unido ou a qualquer outro país estas cláusulas sejaminconsistentes com a lei local: A INTERNATIONAL BUSINESS MACHINES CORPORATION FORNECEESTA PUBLICAÇÃO TAL COMO ELA É "AS IS" SEM GARANTIA DE QUALQUER ESPÉCIE,EXPLÍCITA OU IMPLÍCITA, INCLUINDO, MAS NÃO LIMITADO ÀS GARANTIAS IMPLÍCITAS DENÃO INFRACÇÃO, COMERCIALIZAÇÃO OU ADEQUAÇÃO A UM DETERMINADO OBJECTIVO.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 efectuar melhorias e/ou alterações no(s) produto(s) e/ou no(s) programa(s)descritos nesta publicação a qualquer momento sem aviso.

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 nesses sítios da Web não fazem parte dos materiais destinados para este produto IBM e autilização destes sítios da Web é da exclusiva responsabilidade do utilizador.

A IBM pode utilizar ou distribuir qualquer informação que lhe seja fornecida pelo utilizador de qualquerforma que julge apropriada sem incorrer em qualquer obrigação para com o autor dessa informação.

© Copyright IBM Corp. 2002, 2014 157

Page 164: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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 CorporationSoftware Interoperability Coordinator, Department YBWA3605 Highway 52 NRochester, 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 da IBM, do Acordo de Licença Internacionalpara Programas da IBM ou qualquer 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 estes produtose não pode confirmar a exactidão do desempenho, compatibilidade ou qualquer outras afirmaçõesrelacionadas com produtos que não pertençam à IBM. Todas as questões sobre as capacidades dosprodutos não produzidos 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 da IBM apresentados são preços de venda sugeridos peça IBM, são actuais e estãosujeitos a alteração 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. O utilizador pode copiar, modificar e distribuir estesexemplos de programa sob qualquer sem qualquer pagamento à IBM, com o objectivo de desenvolver,utilizar, comercializar ou distribuir programas de aplicação em conformidade com a interface deprogramação da aplicação para a plataforma operativa para a qual os exemplos de programas sãoescritos. Estes exemplos não foram testados exaustivamente sob todas as condições. Desta forma, a IBMnão garante nem se responsabiliza pela fiabilidade, assistência ou funcionamento destes programas. Osprogramas exemplo são fornecidos "TAL COMO ESTÃO", sem garantias de qualquer espécie. A IBM nãoserá responsável por quaisquer danos decorrentes da respectiva utilização dos exemplos de programas.

158 IBM i: OmniFind Text Search Server for DB2 for i

Page 165: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

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:

© nome da respectiva empresa) (ano). Parte deste código deriva dos Exemplos de programas da IBMCorp..

© Copyright IBM Corp. _introduza o ano ou anos_.

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 do Modelo de informação comum (CIM, Common Information Model) documenta asinterfaces de programação planeadas que permitem aos clientes escrever programas para obter osserviços do IBM i.

Marcas comerciaisA IBM, o logótipo IBM e ibm.com são marcas comerciais ou marcas comerciais registadas da InternationalBusiness Machines Corp., registadas em diversas jurisdições em todo o mundo. Outros nomes deprodutos e serviços podem ser marcas comerciais da IBM ou de outras empresas. Está disponível umalista actual das marcas comerciais da IBM na Web em “Informações sobre direitos de autor e marcascomerciais ” em www.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.

A IT Infrastructure Library é uma marca comercial registada da Central Computer andTelecommunications Agency a qual faz agora parte do Office of Government Commerce.

Intel, o logótipo Intel, Intel Inside, o logótipo Intel Inside, Intel Centrino, o logótipo Intel Centrino,Celeron, Intel Xeon, Intel SpeedStep, Itanium, e Pentium são marcas comerciais ou marcas comerciaisregistadas da Intel Corporation ou das respectivas subsidiárias nos Estados Unidos e noutros países.

Linux é uma marca comercial registada de Linus Torvalds nos Estados Unidos e/ou noutros países.

Microsoft, Windows, Windows NT e o logótipo Windows são marcas comerciais da Microsoft Corporationnos Estados Unidos, outros países ou ambos.

ITIL é uma marca comercial registada e uma marca comercial comunitária registada do Office ofGovernment Commerce, encontrando-se registada no U.S. Patent and Trademark Office.

UNIX é uma marca comercial registada de The Open Group nos Estados Unidos e noutros países.

Cell Broadband Engine é uma marca comercial de Sony Computer Entertainment, Inc. nos EstadosUnidos, outros países ou ambos e é utilizado sob licença em diante.

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.

Outros nomes de produtos e serviços podem ser marcas comerciais da IBM ou de outras empresas.

Avisos 159

Page 166: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

160 IBM i: OmniFind Text Search Server for DB2 for i

Page 167: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Índice Remissivo

Aactivadores 5actualizar o conjunto 139ADD_SPLF_OBJECT_SET 124, 131adicionar um conjunto de objectos para

dados de ficheiro em spoolADD_SPLF_OBJECT_SET 124

adicionar um conjunto de objectos paraum ficheiro de dados contínuos

ADD_IFS_STMF_OBJECT_SET 131alta disponibilidade 93argumento de procura 40, 43

Ccabeçalho de extensões

conjuntos de procura de texto 118classificação de relevância 43classificação de texto 8códigos de idioma 8códigos de retorno de SQL 153COLLECTION_NAME.UPDATE 139collection.status 147comunicação entre cliente e servidor 3conceitos chave

funções de procura de texto 4configurar 12conjuntos de procura de texto

cabeçalho de extensões 118CONTAINS 47

Ddados XML

indexação 6desactivar um conjunto de procura de

textoSYSTS_DROP_COLLECTION 148

descrição geral do produto 3desempenho 94determinação de problemas 75dicionário de sinónimos 85

adicionar 85remover 86

Eexemplos de consulta

função CONTAINS 47função SCORE 47

FFerramenta de administração 88Ferramenta de configuração 76Ferramenta de sinónimos 85Ferramenta ServerInstance 89ferramentas de linha de comandos 76

Ferramenta de administração 88

ferramentas de linha de comandos(continuação)

Ferramenta de configuração 76Ferramenta de sinónimos 85Ferramenta ServerInstance 89Verificador de condição 91

ficheiros de registo 75formatos de documento

suportados 6função CONTAINS

exemplo 53função SCORE

exemplo 53funções

CONTAINS 40SCORE 43

funções de procura de textoconceitos chave 4

funções definidas pelo utilizador 40

GGet_object_status 144GET_OBJECTS_NOT_INDEXED 146gramática EBNF 68guardar 71, 72, 73guardar e restaurar 71, 72, 73

Hhardware

requisitos 4

IIASP para conjuntos de procura de texto

Conjuntos de procura de texto 152IBM OmniFind Text Search Server

iniciar 70parar 70

idiomassuportados 8

indexação assíncrona 5índice de procura de texto 71, 72, 73

actualizações 4, 118actualizar 14criação 4, 118criar 14procurar 14

índice de texto 3, 71, 72, 73informação de consulta sobre conjuntos

de objectos 143instalação 12instalar 12

Llinguagem XPath 68

Mmensagens 153

Oobter o estado de objectos

indexados 144obter o estado do conjunto 147Obter objectos não indexados 146OmniFind 3, 12OmniFind Text Search 12OmniFind text search server 3

índice de texto 2OmniFind 2procura de texto 2

OmniFind Text Search Server 12operadores de procura avançada

função CONTAINS 47função SCORE 47

Ppacote de dicionários 8preencher 12procedimento armazenado

SYSPROC.SYSTS_REMOVE 79SYSPROC.SYSTS_REPRIMEINDEX 80,

81SYSPROC.SYSTS_VALIDITYCHECK 82

procedimentos armazenados 15SYSPROC.SYSTS_ALTER 28SYSPROC.SYSTS_CREATE 19SYSPROC.SYSTS_DROP 34SYSPROC.SYSTS_START 15SYSPROC.SYSTS_STOP 17SYSPROC.SYSTS_UPDATE 36

processamento linguístico 8chinês 10

processamento linguístico 10coreano 10

processamento linguístico 10japonês 10

processamento linguístico 10procura 94, 98procura de texto 3

iniciar 13procura XML

funções 53gramática de consulta 68

procurar conjuntoPROCURAR 141SYSPROC.SYSTS_CRTCOL 119

QQDBTS_LISTINXSTS

UDTF 87QDBTS_LISTINXSTS UDTF 87QSYS2.SYSTEXTCOLUMNS 114, 117

© Copyright IBM Corp. 2002, 2014 161

Page 168: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

QSYS2.SYSTEXTCONFIGURATION 116QSYS2.SYSTEXTINDEXES 112QSYS2.SYSTEXTSERVERHISTORY 116QSYS2.SYSTEXTSERVERS 12, 115QUERY_OBJECT_SET 143

Rrecriar conjunto 140registo do servidor

guardar 75ver 75

remover um conjunto de objectosREMOVE_OBJECT_SET 138

requisitos do sistema 4Restaurar para conjuntos de procura de

textoRestaurar conjuntos de procura de

texto 153restauro 71, 72, 73

SSCORE 47segmentação baseada em dicionário 10segmentação por n-gramas 8, 10servidor de procura de texto IBM 4servidores de procura de texto 12sintaxe de argumentos de procura 40

carácter global 45excluir termos 45incluir termos 45procura por expressões 45procura simples 45

sintaxe de procura 40sistema operativo

requisitos 4software

requisitos 4suporte de sinónimos 8SYSIBMTS.SYSTEXTDEFAULTS 111SYSPROC.SYSTS_CREATE 19SYSPROC.SYSTS_CREATE_COLLECTION 119SYSPROC.SYSTS_CRTCOL 119SYSPROC.SYSTS_DROP 28, 34SYSPROC.SYSTS_START 15SYSPROC.SYSTS_STOP 17SYSPROC.SYSTS_UPDATE 36SYSTEXTSERVERS 12

Ttabelas de administração 111

QSYS2.SYSTEXTCOLUMNS 114, 117QSYS2.SYSTEXTCONFIGURATION 116QSYS2.SYSTEXTINDEXES 112QSYS2.SYSTEXTSERVERHISTORY 116QSYS2.SYSTEXTSERVERS 115SYSIBMTS.SYSTEXTDEFAULTS 111

tamanho de documentos 15Text Search for DB2 for i 12tipos de dados

suportados 7transacção 98truncamento de documentos 15

UUPDATEAUTOCOMMIT 94, 98

VVerificador de condição 91voltar a preencher o conjunto de procura

de texto 140

162 IBM i: OmniFind Text Search Server for DB2 for i

Page 169: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

Page 170: IBM i: OmniFind Text Search Server for DB2 for i · Administração avançada ... Informações sobre a interface de programação ... O OmniFind Text Search Server for DB2 for i

IBM Confidential IBM Confidential IBM Confidential IBM Confidential

IBM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial I

BM

Con

fiden

tial

����

Número do Programa: 5733-OMF