Fluxo do processo de indexação de pesquisa
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:

- É 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.
- 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 naYFS_Awaiting_Indextabela para acompanhar essa operação específica de atualização do índice. - A API de negócios ou o agente realiza a confirmação.
- 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. - 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
PeriodicBatchIndexerserviço. - O Cliente do Mecanismo de Busca envia essas atualizações do índice ao Servidor de Índice de Busca.
- 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_Indextabela. No caso de operações que falharam, os registros correspondentesYFS_Awaiting_Indexsão mantidos.
- 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_ORDERregra 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 chamadamanageRuleà API.Os pedidos com linhas de pedido iguais ou superiores ao
VERY_LARGE_ORDER_SIZEvalor da regra são considerados pedidos de grande porte.