cqtssetup.pl

Desempenha tarefas de configuração para procura de texto completo.

Sinopse

Gere um arquivo de entidades enviáveis:
cqperl cqtssetup.pl –d dbname –s dbset –u user –p password –o Entity
Gere um arquivo de propriedades de procura do ClearQuest:
cqperl cqtssetup.pl –d dbname –s dbset –u user –p password –o CQ [ -f entity_file ]
Gerar um arquivo de esquema de procura do Solr:
cqperl cqtssetup.pl –d dbname –s dbset –u user –p password –o Solr [ -f arquivo_da_entidade ]

Descrição

O comando cqtssetup.pl desempenha tarefas de configuração para o recurso de procura de texto completo, de acordo com o modo de operação especificado pela opção -o : Entity, CQ ou Solr. A saída é um arquivo nomeado de acordo com o modo de operação:
  • Entity-db_name-dbset_name.txt
  • CQ-db_name-dbset_name.xml
  • Solr-db_name-dbset_name.xml
As etapas para utilizar o cqtssetup.pl são as seguintes:
  1. Gere um arquivo de todas as entidades enviáveis (-o Entity). Essas entidades e seus campos são os candidatos à procura.
  2. Gerar o arquivo de propriedades de procura do ClearQuest (-o CQ) que deve ser usado pelo extrator de registro (cqtsdbcrawler.pl) e pelo recurso de procura. Geralmente, você especifica a saída editada de cqtssetup.pl ... -o Entity como o argumento para a opção -f .
  3. Gere o arquivo de esquema de procura do Solr (-o Solr), o qual especifica como as entidades são indexadas. Geralmente, você especifica a saída de cqtssetup.pl ... -o CQ como o argumento para a opção -f.

Esse comando é instalado no diretório de instalação padrão do produto.

Opções e Argumentos

–d dbname
Nome do banco de dados.
–s dbset
Nome do conjunto de bancos de dados.
–u user
Nome do usuário.
–p password
Senha.
–o { Entity | CQ | Solr }
O modo de operação:
  • Entity cria o arquivo de entidade.
  • CQ cria o arquivo de propriedades de procura.
  • Solr cria o arquivo de esquema de procura do Solr.
–f entity_file
O arquivo de entidade. Essa opção poderá ser especificada somente com as opções CQ e Solr. Quando essa opção é omitida, todos os tipos de entidade enviáveis (e seus campos) localizados no banco de dados são utilizados como o argumento do comando.

O Arquivo de Entidade

O arquivo de entidade é gerado quando -o Entity é especificado como o modo de operação. Ele contém as entidades enviáveis localizadas no banco de dados. Como essas entidades são bem entendidas pelo desenvolvedor do esquema do ClearQuest, não é necessária uma explicação adicional do arquivo de entidade.

O Arquivo de Propriedades de Procura do ClearQuest

O arquivo de propriedades de procura do ClearQuest é gerado quando -o CQ é especificado como o modo de operação. Ele contém várias seções: mecanismo de procura, crawler de banco de dados, banco de dados e entidade. Se o banco de dados do ClearQuest estiver replicado, então haverá várias instâncias de cada seção. Cada instância corresponde a uma réplica e pode necessitar de uma configuração específica para a réplica.

A Seção do Mecanismo de Procura

Esta seção descreve as tags XML na seção do mecanismo de procura do arquivo CQ-db_name-dbset_name.xml. Segue um exemplo dessa seção:
<!- Parâmetros padrão do Mecanismo de Procura Solr -–>
<SearchEngine sitename="<local>" provider="Solr" version="1.2">
     <searchrequest retries="3"
          url=http://localhost:14080/solr/select/?q=%s&start=%d&rows=%d />
     <searchprop pagesize="25" cachesize="1000" />
</SearchEngine>
<SearchEngine>
Especifica a configuração utilizada para comunicar-se com o mecanismo de procura. Para um banco de dados não replicado, sitename="<local>".
Quando o banco de dados está replicado, há uma instância dessa tag para cada réplica e o valor de sitename especifica o site daquela réplica. O recurso de procura de texto completo lê o valor de sitename. Se esse valor não corresponder ao nome do site, o recurso de procura será desativado.
Não é necessário modificar essa tag.
<searchrequest>
Especifica a URL do servidor do mecanismo de procura e como comunicar-se com esse servidor. Não é necessário modificar essa tag.
<searchprop>
Especifica os tamanhos padrão da página e do cache.
  • pagesize especifica o número de ocorrências a serem retornadas por página.
  • cachesize especifica o número de ocorrências a serem lidas e armazenadas em cache.
Não é necessário modificar essa tag.

A Seção de Crawler de Banco de Dados

Esta seção descreve as tags XML na seção de crawler de banco de dados do arquivo CQ-db_name-dbset_name.xml. Segue um exemplo dessa seção:

<!- Parâmetros padrão do Crawler do Banco de Dados do ClearQuest -->
<CQDbCrawler sitename="<local>">
     <batch size="250" delay="5" directory="./batch-output"
          url=http://localhost/solr/update/" />
     <update size="250" delay="300" directory=".update-output"
          url=http://localhost/solr/update/" />
</CQDbCrawler>
<CQDbcrawler>
O valor dessa tag é lido pelo extrator de registro nos dois modos de execução, em lote e de atualização. Ele especifica a configuração do site para usar para comunicar com o mecanismo de procura. Para um banco de dados não replicado, sitename="<local>".

Para um banco de dados replicado, há uma tag <CQDbCrawler> separada para cada réplica, com cada instância de sitename especificando o site de uma réplica. No caso de um banco de dados replicado, o extrator de registro procura um valor sitename que corresponda ao nome do site em que está sendo executado. Se nada for localizado, o extrator de registro não será iniciado.

<batch>, <update>
Os valores dessas tags são lidos pelo comando cqtsdbcrawler nos modos em lote e de atualização. Talvez você queira modificar seus valores para adaptar a seu ambiente do ClearQuest.
  • size especifica o número de registros a serem lidos de uma vez antes de os registros serem enviados para o mecanismo de procura para indexação.
  • delay especifica o horário, em segundos, que o extrator de registro aguarda entre o processamento dos grupos de registros do tamanho especificado pelo size.
  • url especifica como comunicar-se com o mecanismo de procura para incluir registros no índice.
  • thread aplica-se apenas ao modo em lote. Ele especifica o número de encadeamentos a serem criados durante a execução de consultas. Quanto mais encadeamentos, mais rápida será a extração de registros. O número máximo de encadeamentos permitido é 10. Os valores maiores que 10 são truncados para 10.

A Seção de Banco de Dados

Esta seção descreve as tags XML na seção de banco de dados do arquivo CQ-db_name-dbset_name.xml. Segue um exemplo dessa seção:

<!-- Parâmetros do Banco de Dados do ClearQuest e do Servidor CM -->
<CQDatabase sitename="<local>">
     <cmserver>http://localhost/TeamWeb/services/Team/</cmserver>
     <repository dbset="TextSearch" dbname="SAMPL"
          <username="admin" password="" keyfile=""></repository>
</CQDatabase>
<CQDatabase>
O extrator de registro lê o valor dessa tag nos dois modos de execução, em lote e de atualização, para conhecer a configuração do site a ser utilizada para comunicar-se com o banco de dados do ClearQuest e com o Servidor CM (Change Managment) para extrair registros e monitorar atualizações para os bancos de dados. Quando o banco de dados não está replicado, sitename="<local>".

No caso de um banco de dados replicado, há uma instância de CQDatabase para para cada réplica, com sitename especificando o site da réplica. O extrator de registro procura um sitename que corresponda ao site em que está sendo executado; se nada for localizado, o extrator de registro não será iniciado.

Não é necessário modificar essa tag.

<cmserver>
Especifica a URL do CMServer (Change Management Server). Modifique o valor dessa tag conforme apropriado.
<repository>
Especifica o perfil de conexão com o banco de dados. Modifique os seguintes valores de acordo com seu perfil:
  • dbset especifica o nome do conjunto de bancos de dados.
  • dbname especifica o nome do banco de dados.
  • username especifica a identidade assumida pelo extrator de registro para efetuar login no ClearQuest.
  • password especifica a senha criptografada que é gerada pelo cqtsdbcrawler.pl.
  • keyfile especifica o nome do caminho completo do arquivo de chave que é utilizado para decriptografar a senha.
Atenção: Você deve especificar um valor válido para o username, password e keyfile, mais erros resultarão quando executar o comando cqdbtscrawler.pl para executar indexação.

A Seção de Entidade

Esta seção descreve as tags XML na seção de entidade do arquivo CQ-db_name-dbset_name.xml. Segue um exemplo dessa seção:

<!- Parâmetros de Entidade do ClearQuest -->
<CQEntity name="Customer" index="true">
     <field name="schema_mastership" disp_order="0" index="true" />
     <field name="customer_name" disp_order="1" index="true" />
     <field name="phone" disp_order="0" index="true" />
     <field name="company_name" disp_order="0" index="true" />
          .
          .
          .
</CQEntity>
<CQEntity>
O valor dessa tag é lido pelo extrator de registro e pelo recurso de procura. Quando o banco de dados do ClearQuest é replicado, as instâncias de CQEntity devem estar consistentes em todos os sites, caso contrário, a indexação (e, conseqüentemente, os resultados da procura) ficarão inconsistentes de réplica para réplica.
<field>
O extrator de registro usa os valores desta tag para determinar se um campo deve ou não ser indexado e se pode ser utilizado para procura, da seguinte forma:
  • name especifica o nome do campo.
  • index especifica se o campo está ou não indexado. Quando index="<true>", a entidade especificada é indexada e pode ser utilizada para procura.
  • disp_order indica se o campo é exibido ou não em resultados de procura, da seguinte forma:
    • O valor 0 significa que o campo não é exibido.
    • O valor 1 significa que o campo é exibido. Apenas um campo em uma entidade pode ser exibido.
    Atenção: Todos os tipos de registro que são indexados usando o recurso de procura de texto completo do ClearQuest deve ter apenas um campo especificado com um valor disp_order de 1. Se mais de um campo tiver o valor disp_order de 1, nenhum resultado será exibido.

O arquivo de esquema de procura do Solr

O arquivo de esquema de procura Solr é gerado quando -o Solr é especificado como o modo de operação. Tal como no caso de -o CQ, esse modo de operação obtém como sua entrada o arquivo de entidade gerado pela execução desse comando no modo de entidade (-o Entity). Você não edita o arquivo de esquema de procura Solr; em vez disso, copia as seções dele para o arquivo de esquema Solr schema.xml (para obter informações sobre o schema.xml, consulte a documentação do Solr).

A seção mais importante do arquivo de esquema de procura Solr é a seção de mecanismo de procura, como mostrado neste trecho:
<Solr>
	<fields>
		<field name="Operator_Value" type="text" indexed="true" stored="false" required="false" multivalued="true"></field>
		<field name="misc_info" type="text" indexed="true" stored="false" required="false" multivalued="true"></field>
...
		<field name="Resolution" type="text" indexed="true" stored="false" required="false" multivalued="false"></field>

...
		<field name="comments" type="text" indexed="true" stored="false" required="false" multivalued="true"></field>

...
		<field name="RATL_CQ_UNIQUE_FIELD" type="string" indexed="true" stored="true" required="true" multivalued="false"></field>
...
		<field name="RATL_CQ_ALL_FIELDS" type="text" indexed="true" stored="false" required="false" multivalued="true"></field>
	</fields>
</Solr>
<uniqueKey>RATL_CQ_UNIQUE_FIELD</uniqueKey>
<defaultSearchField>RATL_CQ_ALL_FIELDS</defaultSearchField>
<copyField source="Operator_Value" dest="RATL_CQ_ALL_FIELDS"></copyField>
<copyField source="misc_info" dest="RATL_CQ_ALL_FIELDS"></copyField>
...
<copyField source="Resolução" dest="RATL_CQ_ALL_FIELDS"></copyField>
...
<copyField source="Versão" dest="RATL_CQ_ALL_FIELDS"></copyField>
...
<copyField source="comentários" dest="RATL_CQ_ALL_FIELDS"></copyField>
...
<copyField source="Fax" dest="RATL_CQ_ALL_FIELDS"></copyField>
<field>
Fornece ao Solr informações sobre a indexação de um campo:
  • name especifica o nome do campo.
  • type especifica o tipo de dados.
  • indexed especifica se o campo deve ou não ser indexado.
  • stored especifica se os dados no campo devem ou não ser armazenados no índice Lucene.
  • required especifica se um documento deve ou não conter o campo (e seus dados) para ser incluído no índice.
  • multivalued especifica se pode ou não haver outra tag <field> com esse nome de campo.
Não modifique essa tag.
<unique_key>
Especifica o campo na definição de documento Lucene que deve ser utilizado como o identificador de documento. Esse campo é lido pelo Solr, Lucene, extrator de registro e recurso de procura do ClearQuest para identificar exclusivamente um registro do ClearQuest. Não modifique essa tag.
<defaultSearchfield>
Especifica o campo que deve ser utilizado quando uma procura é executada sem um qualificador de campo. Solr e Lucene utilizam esse campo para procurar todos os campos em um registro. Não modifique essa tag.
<copyField>
Especifica que o conteúdo de um campo deve ser copiado para um outro campo, neste caso, <defaultSearchfield>. Não modifique essa tag.

Exemplos

  1. Gere um arquivo de todas as entidades enviáveis no banco de dados SAMPL:
    cqperl cqtssetup.pl -d SAMPL -s TextSearch -u admin -p "" -o Entity

    Esse comando gera o arquivo Entity-SAMPL-TextSearch.txt. O conteúdo do arquivo é semelhante ao seguinte texto:

    Email_Rule=ratl_mastership,ratl_keysite,record_type,dbid,is_active,version,lock_version,locked_by,name,…,…,…
    Customer=ratl_mastership,ratl_keysite,dbid,is_active,version,lock_version,locked_by,record_type,Name,Phone,Fax,Email,CallTrackingID,…,…,…
    Project=ratl_mastership,ratl_keysite,dbid,is_active,version,lock_version,locked_by,…,…,…
    Defect=ratl_mastership,record_type,dbid,is_active,id,state,version,lock_version,locked_by,isduplicate,unduplicate_state,Headline,Description,Priority,Severity,Submitter,…,…,…

    Edite o arquivo para especificar os tipos de registro e campos que devem ser pesquisáveis. Por exemplo, se apenas registros do tipo Defect deverão ser pesquisáveis, exclua todas as linhas no arquivo, exceto aquela que começa com Defect=. Se apenas alguns dos campos definidos por esse tipo de registro deverão ser pesquisáveis, preserve apenas esses campos, excluindo o restante. Por exemplo, se apenas Headline, Description e Severity deverão ser pesquisáveis, o arquivo editado interpretará

    Defect=record_type,dbid,version,Headline,Description,Severity

    Observe que os campos record_type, dbid e version são preservados. É um requisito da implementação de procura de texto completo que os três campos sejam indexados.

  2. Gere um arquivo de propriedades de procura, especificando o arquivo de entidade, Entity-SAMPL-TextSearch.txt, que foi gerado pelo comando anterior.
    cqperl cqtssetup.pl -d SAMPL -s TextSearch -u admin -p ""
    -o CQ -f Entity_SAMPLE_TextSearch.txt

    Esse comando gera o arquivo, CQ-SAMPL-TextSearch.xml, que é utilizado pelo extrator de registro (cqtsdbcrawler.pl) e pelo recurso de procura.

  3. Gere um arquivo de esquema de procura do Solr, especificando o arquivo de entidade, Entity-SAMPL-TextSearch.txt.
    cqperl cqtssetup.pl -d SAMPL -s TextSearch -u admin -p ""
    -o Solr Entity-SAMPL-TextSearch.txt

    Esse comando gera o arquivo Solr-SAMPL-TextSearch.xml. Você não edita esse arquivo: copia as seções dele para o arquivo Solr, schema.xml.

  4. Atualize o arquivo de esquema schema.xml do Solr substituindo certas seções por seções correspondentes do arquivo Solr-SAMPL-TextSearch.xml:
    1. Substitua a seção <fields> do schema.xml pela seção <fields> do Solr-SAMPL-TextSearch.xml.
    2. Substitua a seção <copyfield> da mesma maneira.
    3. Substitua a seção <uniqueKey> da mesma maneira. Essa seção já deverá existir se você iniciou com um arquivo schema.xml existente.
    4. Substitua a seção <defaultSearchField> da mesma maneira. Essa seção já deverá existir se você iniciou com um arquivo schema.xml existente.
  5. Reinicie o WAS para efetivar as alterações feitas.
Nota: Ao editar seu próprio schema.xml, altere o valor de <field name= ... para o nome do esquema do banco de dados. Se você utilizar o ClearQuest MultiSite, especifique também o nome do site local; por exemplo, <field name="Acompanhamento de Defeitos do Acme em Madrid"... A página da Web de administração do Solr refletirá essa alteração.

Consulte também

cqtsdbcrawler.pl, setmasterpropertyfromfile


Feedback