A fusão de segmentos consolida fragmentos de índice imutáveis em menos estruturas maiores, melhorando frequentemente as consultas em regime estável, mas consumindo recursos computacionais substanciais em segundo plano e largura de banda de armazenamento.
A ingestão incremental num servidor de pesquisa doméstico cria novos segmentos vetoriais ou lexicais, em vez de reescrever todo o índice para cada documento. As consultas distribuem-se por esses fragmentos e combinam os respetivos resultados, enquanto as eliminações podem permanecer como lápides. Uma fusão reescreve os segmentos selecionados, remove os registos obsoletos e cria uma geração de substituição; o desempenho pode piorar durante o processo antes de melhorar depois.
Os segmentos tornam os novos dados do índice publicáveis sem mutação no local
Um segmento é uma estrutura de pesquisa imutável e autónoma, produzida por uma descarga ou compilação em lote. O índice ativo referencia vários segmentos, permitindo que os leitores continuem a consultar ficheiros estáveis enquanto os escritores publicam novos dados através de alterações aos metadados.
A referência do Solr explica que os índices Lucene utilizam segmentos de escrita única e os combinam periodicamente para evitar uma fragmentação interminável. A imutabilidade simplifica a leitura concorrente, mas transfere o custo das atualizações para fusões posteriores. Esta distinção continua visível durante os testes domésticos posteriores.
Os motores vetoriais variam nos detalhes dos grafos, das listas de ocorrências e da quantização, mas o ciclo de vida continua reconhecível: criar pequenas unidades pesquisáveis, marcar os registos substituídos e consolidar de acordo com uma política. O resultado intermédio deve permanecer inspecionável antes de se avançar para a automatização.
A fusão reescreve os dados e altera a distribuição das consultas
A fusão lê os segmentos de origem, copia os registos ativos para um novo segmento maior, reconstrói as respetivas estruturas de pesquisa, consolida o novo manifesto e, posteriormente, remove os ficheiros sem referências. Após a mudança, as consultas pesquisam menos fragmentos e ignoram as lápides recuperadas.
Uma visualização de engenharia do Lucene mostra fusões concorrentes de segmentos a ocorrerem em simultâneo e a demorarem mais à medida que aumentam as entradas fundidas. Este processo consome E/S, CPU, capacidade temporária e cache de páginas, mesmo quando as consultas em primeiro plano continuam disponíveis. Essa fronteira deve ser medida separadamente em condições de funcionamento realistas.
Menos segmentos podem reduzir a sobrecarga por segmento, mas uma estrutura maior pode ter uma localidade de cache e características de grafo diferentes. Por isso, a contagem de segmentos, por si só, não é um indicador calibrado da recuperação vetorial nem da latência. A consequência prática torna-se evidente quando várias fontes competem por um contexto limitado.
A contenção em primeiro plano e a forma pós-fusão seguem direções opostas
Durante uma fusão, as leituras e escritas sequenciais competem com a recuperação, o carregamento de modelos e a ingestão. Os novos ficheiros podem expulsar páginas quentes do índice, enquanto a duplicação temporária aumenta as necessidades de espaço livre e a amplificação das escritas no SSD. Esta dependência deve permanecer explícita na interface final.
A investigação sobre a contenção entre fusões e consultas identifica a competição por CPU, largura de banda do disco e cache de páginas entre a manutenção do índice e as consultas. Explica por que motivo a latência p99 pode aumentar significativamente, mesmo quando o índice fundido necessita posteriormente de menos distribuição. O resultado deve, por isso, ser verificado face às evidências originais.
A fronteira de falha é uma fusão forçada agressiva num índice em alteração ativa ou com espaço limitado. A operação pode criar imediatamente novos segmentos pequenos, esgotar o armazenamento temporário ou trocar um benefício modesto nas consultas por horas de serviço degradado.
Meça antes, durante e depois da mesma fusão
Registe a contagem e os tamanhos dos segmentos, os vetores ativos e eliminados, os bytes temporários, o débito da fusão, as escritas no SSD, a CPU, as falhas do cache de páginas, a taxa de ingestão, a recuperação, e a latência p50 e p99 das consultas. Esta distinção continua visível durante os testes domésticos posteriores.
Compare as alterações na ordenação com a ordenação após a fusão de segmentos. Reproduza um conjunto de consultas idêntico antes da fusão, durante o pico da manutenção, imediatamente após a mudança e depois de os caches aquecerem. O resultado intermédio deve permanecer inspecionável antes de se avançar para a automatização.
Ajuste a política de fusão apenas com base na cronologia completa. Se as consultas pós-fusão melhorarem, mas a manutenção violar os objetivos de latência, limite ou agende o trabalho em segundo plano, em vez de forçar todos os fragmentos para um único segmento. Essa fronteira deve ser medida separadamente em condições de funcionamento realistas.
Centro de Tecnologia e IA
Mais para Ler

Um LLM local pode retomar a geração depois de o seu processo reiniciar?
Uma explicação da retoma da geração de LLM baseada primeiro no mecanismo, das suas concessões em termos de recursos partilhados, de três perguntas frequentes...

Pode um servidor doméstico executar embeddings e transcodificação de vídeo na mesma GPU integrada?
Uma explicação baseada primeiro no mecanismo dos embeddings partilhados da iGPU e da transcodificação, das suas cedências em termos de recursos partilhados, três perguntas...

Como é que o tempo de vida do token de acesso afeta a segurança e o atrito no agregado familiar?
Uma explicação baseada primeiro no mecanismo da duração dos tokens de acesso, os compromissos relativos aos recursos partilhados, três perguntas frequentes sobre a propagação...

