visualização

Fluxo do processo de indexação de pesquisa

No sistema IBM Sterling® Order Management, a indexação dos dados transacionais ocorre automaticamente quando o Sterling Search Index está ativado.

Processo de criação do índice

Sempre que dados transacionais são criados ou modificados no sistem Sterling™ Order Management, o Sterling Search Index detecta a necessidade de indexação e envia um subconjunto para delinear os dados transacionais a serem indexados após a confirmação das alterações no sistem Sterling Order Management.

É oferecida a capacidade de indexar dados transacionais para entidades de pedidos e remessas. Se o Sterling Search Index estiver ativado, como parte do fluxo de transações comerciais, sempre que você criar ou modificar um pedido ou uma remessa, o sistem Sterling Order Management verifica se algum dos atributos indexáveis foi modificado durante a transação, mantém as informações na memória e envia um resumo com os atributos indexáveis quando as APIs comerciais ou os agentes correspondentes forem confirmados.

O Índice de Pesquisa Sterling dá suporte ao PeriodicBatchIndexer serviço, que acumula os dados recebidos de diferentes transações comerciais e realiza periodicamente uma atualização em lote do índice com as informações coletadas até aquele momento. A periodicidade das atualizações em lote pode ser configurada por meio da yfs.ssi.batch.index.periodicity.secs propriedade no arquivo yfs.properties_ysc_ext de propriedades, que, por padrão, está definida para 3 segundos. Assim, quaisquer alterações nos dados do esboço são atualizadas no índice de forma assíncrona, mas quase em tempo real.

Sterling Order Management O sistema é de natureza heterogênea e é composto por um servidor de aplicativos, um servidor de agentes e um servidor de índice de pesquisa. Esses servidores estão instalados fora de um sistem Sterling Order Management. Como a indexação é feita de forma assíncrona, sempre existe a possibilidade de que as solicitações enviadas ao Servidor de Índice de Pesquisa não sejam bem-sucedidas, atinjam o tempo limite, sejam perdidas e assim por diante. Além disso, por padrão, uma atualização do índice é acionada apenas uma vez a cada 3 segundos. Se um servidor for encerrado à força, esse conjunto de alterações não será enviado ao Servidor de Índice de Pesquisa. Portanto, a cada atualização do índice de pesquisa, é inserido um registro na YFS_Awaiting_Index tabela com os campos correspondentes ` EntityName ` e ` EntityKey `. Por exemplo, durante uma atualização de pedido, um registro é inserido na YFS_Awaiting_Index tabela com EntityName=Order_Header e EntityKey=<value of OrderHeaderKey>. Este registro está presente no mesmo fragmento do banco de dados que o registro da entidade correspondente.

Sterling Order Management O sistema rastreia todas as operações de atualização de índice na YFS_Awaiting_Index tabela. Para cada tentativa de indexação bem-sucedida, após a operação de atualização do índice, o registro correspondente é removido da YFS_Awaiting_Index tabela. Se a atualização do índice não for bem-sucedida por algum motivo, por exemplo, se o Servidor de Índice de Pesquisa estiver inativo ou se a comunicação com o Servidor de Índice de Pesquisa falhar ou atingir o tempo limite, uma exceção é registrada e os registros correspondentes permanecem na YFS_Awaiting_Index fila, sendo posteriormente processados pelo SSI_Delayed_Sync agente.

O diagrama a seguir ilustra a lógica de criação assíncrona do índice:

As etapas a seguir descrevem o fluxo do processo de criação do índice:
  1. É criada ou atualizada uma ordem no sistem Sterling Order Management, o que indica que pelo menos um dos atributos do modelo de estrutura foi modificado.
  2. Foi criado um documento de esboço, utilizado para atualizar o índice, para o registro do Pedido. Este documento é utilizado para a operação de atualização do índice propriamente dita, conforme explicado nas etapas 5 e 6. No entanto, nesta fase, é criado um registro na YFS_Awaiting_Index tabela para acompanhar essa operação específica de atualização do índice.
  3. A API de negócios ou o agente realiza a confirmação.
  4. O documento criado na etapa 2 é enviado ao acumulador do Índice de Pesquisa Sterling, juntamente com uma referência ao registro correspondente YFS_Awaiting_Index .
  5. O Índice de Pesquisa Sterling reúne esses documentos provenientes de diferentes transações comerciais e os envia periodicamente ao Cliente do Mecanismo de Pesquisa por meio do PeriodicBatchIndexer serviço.
  6. O Cliente do Mecanismo de Busca envia essas atualizações do índice ao Servidor de Índice de Busca.
  7. A resposta do Search Index Server é analisada e, no caso de operações de atualização bem-sucedidas, os registros correspondentes são removidos da YFS_Awaiting_Index tabela. No caso de operações que falharam, os registros correspondentes YFS_Awaiting_Index são mantidos.
Nota:
  • O sistema Sterling Order Management oferece uma integração nativa com o Order Search para dar suporte aos recursos de indexação e pesquisa da entidade Order. Nesta integração, o Order Search é implantado fora do sistem Sterling Order Management e e atua como servidor de índice de pesquisa, constituindo um mecanismo de pesquisa e um repositório de índices.
  • Por padrão, a integração integrada com o Order Service não sincroniza pedidos muito grandes. Esse comportamento existe para evitar falhas na sincronização e a redução do desempenho. Um pedido muito grande extrai uma enorme quantidade de dados do sistema d Sterling Order Management s a cada atualização do pedido. A sincronização com o Serviço de Pedidos é um processo em lote que inclui os pedidos modificados durante o intervalo de sincronização periódico (3 segundos por padrão). Quando são incluídos pedidos muito grandes, eles aumentam a carga útil e podem exceder os limites do sistema, resultando em exceções. Essas exceções interrompem o processo de sincronização, o que também interrompe a sincronização regular dos pedidos. Para evitar isso, por padrão, pedidos muito grandes não são considerados para sincronização com o Serviço de Pedidos.

    A PREVENT_INDEXING_OF_VERY_LARGE_ORDER regra foi adicionada para permitir a sincronização de pedidos muito grandes com o Serviço de Pedidos. Por padrão, essa regra está definida como "Y", o que impede que esses pedidos sejam sincronizados. Você pode alterar o valor para 'N' se o documento de resumo do pedido contiver apenas dados mínimos das linhas do pedido e você quiser avaliar o comportamento da sincronização. Se você notar alguma queda no desempenho ou falhas na sincronização, é recomendável voltar à configuração padrão. O valor desta regra só pode ser alterado por meio de uma chamada manageRule à API.

    Os pedidos com linhas de pedido iguais ou superiores ao VERY_LARGE_ORDER_SIZE valor da regra são considerados pedidos de grande porte.