Sítio do Piropo

B. Piropo

< Coluna em Fórum PCs >
Volte
23/06/2008

< Vista e seu índice >


Você, usuário de Vista, está a par do conceito de “pastas virtuais”? Já ajustou o a indexação de seu sistema operacional? E, sobretudo: já experimentou fazer uma pesquisa usando a caixa de pesquisas do canto superior direito do Windows Explorer?

Antes de prosseguir, uma informação colateral: usando computador diariamente há vinte anos, desenvolvi alguma prática. Digito com os dez dedos e bastante rapidamente. Uma palavra simples, de seis letras, como “coluna”, levo menos de um segundo para digitar (não se trata de bazófia; logo veremos a importância deste fato no contexto da coluna).

Voltando ao assunto: verifiquei ainda há pouco e minha pasta “Documentos” contém exatos 25.979 arquivos mantidos em 1.436 pastas. Para quantificar a rapidez de funcionamento do mecanismo de busca de Vista efetuei uma busca em toda a pasta Documentos por todos os itens que contivessem a palavra “coluna”. Minha intenção era, após selecionada a pasta “Documentos”, entrar com a palavra “coluna” na caixa de buscas do Windows Explorer e, digitado o último “a”, cronometrar o tempo que Vista levaria para localizar e exibir a lista de todos os arquivos que contivessem a referida palavra, seja em seu texto, seja em seu título, seja em seus “metadados”.

Infelizmente, não foi possível medir o tempo: assim que terminei de digitar a palavra, a lista de todos os 3.407 arquivos que satisfizeram ao critério de busca estava concluída e parcialmente (a parte que coube) exibida na tela.

Quer dizer: dentro de um universo de quase vinte e seis mil arquivos Vista conseguiu separar os quase três mil e quinhentos que continham a palavra “coluna” em seu texto ou em suas propriedades e apresentou na tela seus detalhes em menos tempo do que eu gastei digitando uma palavra simples de seis caracteres. E fez isto enquanto eu digitava a palavra.

Tente algo parecido em qualquer outro sistema operacional apenas com os recursos do próprio sistema operacional (ou seja, sem usar programas especializados em busca) e compare.

Como diabos Vista consegue esta proeza?

Já veremos. Antes, vamos examinar os resultados de minha busca. E a melhor forma de fazer isto é, ainda na janela do Windows Explorer que os exibe e depois de realizada a pesquisa, clicar em “Painel de pesquisa” da entrada “Ferramentas de pesquisa” para exibir a barra de botões de pesquisa com seus botões.

Clicando no botão “Imagem” da barra descobri que, dos arquivos listados, 747 eram imagens, uma boa parte “jpeg”, a maioria tipo “gif”. Como elas foram parar na lista de arquivos que continham a palavra “coluna”? Simples: estavam armazenadas em pastas cuja via continha a palavra “coluna” e esta informação foi incluída nas “Propriedades” de cada arquivo, por isso Vista os selecionou. Eles não me interessavam.

Curiosamente descobri que havia também um arquivo de música em formato “wma” que se imiscuiu na lista pela mesma razão – e que também não me interessava. Além de 29 mensagens de correio eletrônico que continham a palavra “coluna” em seu texto ou linha de assunto. E mais 206 arquivos diversos dos mais variados tipos, como arquivos de scripts do JScript contidos em algumas páginas HTML, dezenas de arquivos de páginas de estilo usados para formatar páginas da Internet, uma dezena de arquivos “zip”, poucas dezenas de pastas, um surpreendente arquivo “chm” (compilação de arquivo de ajuda em HTML) e um imprevisível arquivo “ins”. Havia até mesmo dois executáveis. Eu não estava interessado em nenhum deles. Apenas me interessavam os arquivos do tipo “Documento”.

Para selecionar somente estes, cliquei no botão correspondente da barra de pesquisa.

Ah, melhorou: em um par de segundos cerca de 30% de minha lista foi expurgada e o que sobrou reduziu-se “apenas” aos 2.425 arquivos que poderiam ser classificados como “documentos”.

Acontece que 1.260 deles eram arquivos tipo “htm” ou “html” de páginas da Internet, muitos eram arquivos “ppt” ou “pps" de apresentações montadas para palestras e aulas e cerca de uma dezena deles eram arquivos “pdf”. Nada disso me interessava. Queria apenas os arquivos de texto, seja texto puro, seja os criados pelo editor de textos.

Fui então até a extremidade direita da barra de pesquisas e cliquei no pequeno ícone “Pesquisa avançada” para abrir o painel correspondente. Nele, na entrada “Nome”, digitei (sem aspas): “*.txt OR *.doc* OR *.rtf” e cliquei em “Pesquisar”.

Pronto: em três passos executados em vinte ou trinta segundos minha lista ficou reduzida a somente 1.141 documentos, a maioria deles do Word (doc, docx ou rtf), o restante texto puro (txt). Todos eles contendo a palavra “coluna” em seu texto, título ou propriedades.

Clique para ampliar...
Figura 1: resultado parcial da busca refinada.

É claro que eu poderia continuar refinando a busca selecionando apenas os arquivos de tamanho acima, abaixo ou entre determinados limites, modificados pela última vez antes, depois ou no período entre datas selecionadas além de mais uma série de critérios. Sem falar, naturalmente, em continuar selecionando arquivos com base no conteúdo, entrando na caixa de pesquisa da própria janela de busca com outras palavras ou expressões que também estivessem contidas no arquivo desejado. E sabendo que cada um desses passos geraria uma nova lista, refinada, em menos de um segundo.

Com um sistema assim, ninguém leva mais de um minuto para encontrar qualquer arquivo, de qualquer tipo, seja onde ele estiver se escondido.

Mas não é só isto. Já reparou na caixa “Iniciar pesquisa” situada na base do painel esquerdo do menu Iniciar de Vista? Quer consultar a janela “Serviços”, que lista todos os serviços, em execução ou não, incluídos em Vista? Pois abra o menu Iniciar e nem se dê ao trabalho de clicar na caixa (o cursor já estará nela por padrão). Digite (sem aspas) “serviç” e aposto que ao terminar de digitar o cê-cedilha a entrada “Serviços” já aparecerá no topo da lista “Programas” do painel esquerdo do menu Iniciar, pronta para que você clique nela e abra a janela correspondente. O resultado vem enquanto você digita. Não há que esperar pela execução da busca, ela é quase instantânea.

Mas, repetindo a pergunta: como Vista consegue esta façanha?

Posso lhe responder isso de uma forma simples e direta ou de um jeito mais elaborado e interessante.

A forma simples e direta é: indexando arquivos e seus conteúdos e propriedades e efetuando a busca no índice, não nos arquivos.

O jeito elaborado é: a façanha é possível porque, embora Vista ainda não inclua o revolucionário, mui prometido e badalado sistema de arquivos WFS (Windows Future System), contém sua semente. E a semente é o que basta não só para acelerar as buscas de arquivos como também para, com seus resultados, criar todo um sistema de pastas virtuais que pode prescindir totalmente da clássica “árvore de diretórios” ou hierarquia de pastas, cada uma delas contendo arquivos com algo em comum (que, eventualmente, podem ser compartilhados com outras pastas virtuais). Isto pode ser feito apenas efetuando uma busca com os critérios adequados e recorrendo ao ícone “Salvar pesquisa” da barra de ferramentas do Windows Explorer para armazenar seus resultados. Armazenado um critério de busca e criada com ele uma pasta virtual, Vista atualiza dinamicamente a pasta. Isto quer dizer que, a partir daquele momento, toda vez que for criado um novo arquivo que satisfaça o critério de criação da pasta, seu vínculo é imediatamente armazenado nela. Esta é a idéia que norteia o WFS, ou seja, na prática Vista já o inclui (ou pelo menos a parte dele que vale a pena), embora não o mencione expressamente.

Mas esperemos um pouco para falar no WFS e nas surpreendentes pastas virtuais. Por hoje fiquemos apenas na forma simples e vamos nos ater à questão da indexação.

Indexação é uma técnica usada em bancos de dados e dispositivos de busca para permitir acesso rápido aos elementos incluídos no índice. Especificamente no caso das buscas de Vista, o dispositivo de indexação varre todos os arquivos incluídos no escopo da busca (ou seja, aqueles selecionados para serem “indexados”), os analisa, fraciona, coleta as informações de interesse (que, no caso da indexação dos arquivos feita por Vista inclui os “metadados” sobre os quais falaremos adiante), as codifica e armazena em um único arquivo localizado em “C:\Program Data\Microsoft” (mas cuja localização pode ser alterada caso o usuário disponha de uma unidade de armazenamento mais rápida que a “C:”).

O usuário jamais tem acesso direto ao arquivo de índice. Na verdade, exceto em casos muito especiais, sequer precisa tomar conhecimento de sua existência. Mas, quando solicita a Windows que faça uma pesquisa entre os arquivos indexados, a busca não será feita nos arquivos propriamente ditos, mas no arquivo índice. Desta forma, uma busca completa incluindo o conteúdo de algumas dezenas de milhares de arquivos, que poderia demorar algumas horas, é feita em milissegundos e o resultado retornado quase imediatamente.

Em Vista, por padrão, a indexação de arquivos vem habilitada e os arquivos incluídos no índice são aqueles armazenados nos locais mais comuns, como as pastas Documentos, Imagens, Músicas e coisas que tais. Locais que contenham arquivos executáveis, bibliotecas de ligação dinâmica e arquivos de sistema, entre outros, não são indexados visto que isto somente serviria para aumentar desnecessariamente o tamanho do arquivo de índice e atrasar as buscas, já que dificilmente se efetua buscas nos conteúdos deste tipo de arquivos. Mas nada impede que qualquer usuário altere a relação de locais indexados, incluindo ou excluindo pastas e unidades de discos inteiras.

Para saber quais locais estão incluídos no índice, aproveite o sistema de buscas de Vista e digite “índex” na caixa “Iniciar pesquisa” do menu Iniciar. Assim que você acabar de digitar o “x” verá, no alto da lista “Programas”, a entrada “Opções de Indexação”. Clique nela (se preferir ter mais trabalho, abra o Painel de Controle, clique no objeto “Sistema e Manutenção” e acione a entrada “Opções de Indexação”; tem gente que não gosta de Vista e, só de pirraça, prefere agir assim para poder reclamar depois). A janela que se abre mostra não apenas os locais indexados como também a quantidade de itens indexados (no caso desta máquina que vos fala, quase oitenta mil arquivos) e oferece a possibilidade de modificar os locais e ter acesso às opções avançadas, que incluem a solicitação para indexar arquivos criptografados, recriar o índice (o que vai demorar um bocado) e restaurar os ajustes padrões, assim como alterar a localização do arquivo de índice.

Clique para ampliar...
Figura 2: janelas de opções de indexação.

O sistema de indexação de Vista é dinâmico. Isto significa que cada arquivo gravado em um dos locais selecionados para serem indexados é varrido, tem suas informações e conteúdo classificados, ordenados e incluídos no índice.

O sistema de indexação de arquivos de Vista tem outros desdobramentos. Daria para escrever toda uma série de colunas apenas sobre as diferenças entre as buscas efetuadas na caixa de busca do Windows Explorer (que se restringem ao escopo do local selecionado e incluem todo o conteúdo de cada arquivo) e aquelas efetuadas na caixa “Iniciar pesquisa” do menu Iniciar (que se restringe aos nomes e metadados dos arquivos, evitando perscrutar seus conteúdos) e mais um monte de coisas. Na verdade, a indexação de Vista, como antes mencionado, é a semente (na verdade um pouco mais que isso como veremos nas próximas colunas) do tão falado Windows Future System e, embora a MS dê pouca ênfase a ela (por razões que também veremos adiante), é uma das mais formidáveis inovações do sistema operacional.

No entanto, por paradoxal que pareça, é uma das razões mais citadas para que usuários iniciantes desistam de Vista.

Como se explica?

Bem, é que como o índice é dinâmico, ele não pára de “fuçar” os arquivos do disco rígido até que consiga indexar todos os que estão armazenados nos locais incluídos no sistema de indexação. É a penosa indexação inicial que, inexoravelmente, precisa analisar e varrer cada arquivo armazenado em todos os locais selecionados para serem indexados, uma tarefa demorada por sua própria natureza, cuja duração é proporcional ao número de arquivos examinados, mas que é executada apenas uma vez. E quando se instala Vista em uma máquina (ou se compra uma nova máquina com Vista instalado), uma das primeiras providências é transferir para ela todos os arquivos de documentos até então armazenados alhures.

A grande maioria deles, naturalmente, vai para a pasta “Documentos” e congêneres, locais incluídos por padrão entre os que são indexados.

Resultado: o sistema de indexação começa imediatamente a atuar e, ainda que em segundo plano, vai lenta e inexoravelmente varrendo todos e cada um dos arquivos recém gravados para poder criar o índice. O que, naturalmente, além de tornar o desempenho da máquina mais lento, mantém a “luzinha” que indica atividade da unidade de disco incômoda e permanentemente piscando.

Isso, naturalmente, dura apenas algum tempo. Se você liga o micro para trabalhar, usa-o um pouco e desliga, a indexação inicial é interrompida enquanto a máquina está desligada e é imediatamente retomada quando ela voltar a ser ligada. Neste caso, dependendo da duração de cada sessão de trabalho e de sua freqüência, toda a faina de indexação pode durar alguns dias ou mesmo semanas.

É claro que, uma vez terminada a indexação inicial, o serviço de indexação somente é acionado de quando em vez, seja quando se inclui um novo arquivo em um dos locais indexados, seja quando a atualização rotineira é executada. Mas, neste ponto, o usuário raramente toma conhecimento dele e o desempenho da máquina não mais é afetado.

Aqueles que têm paciência, sabem o porquê da incessante atividade do disco e da lentidão da máquina nos primeiros dias de uso e conhecem os benefícios que deles poderão advir, esperam que a indexação inicial seja concluída (os mais espertos deixam o micro permanentemente ligado até que o serviço inicial tenha terminado) e, em contrapartida, ganham uma ferramenta de busca inigualável em termos de precisão e rapidez. E, se empregarem um par de horas para aprender a usá-la, recuperarão estas horas – e dezenas, talvez centenas de outras – na redução do tempo gasto para localizar arquivos.

Os mais impacientes e menos informados usam Vista dois ou três dias, acham que o sistema é muito lento, que o disco rígido não pára de girar, que tudo aquilo é muito incômodo e desagradável e voltam a usar o sistema operacional antigo, seja ele qual for.

E ficam felicíssimos quando a entrada “Pesquisar” do menu Iniciar do Windows XP retorna o resultado de uma busca em menos de dez minutos.

Não estou exagerando: agora mesmo, para comparar, em uma máquina de capacidade de processamento e armazenamento semelhantes a esta que estou usando e onde mantenho o XP instalado para uso eventual, que armazena menos arquivos do que esta (na verdade esta armazena todos os da outra e mais os criados em cerca de um ano de uso intensivo), solicitei que fosse efetuada a mesma busca pela palavra “coluna” cujo resultado me foi retornado por Vista em menos de um segundo acessando o índice.

O XP faz buscas acessando diretamente os arquivos. Quando o tempo de busca atingiu sete minutos e os resultados mal chegavam a poucas dezenas (o total deveria passar do milhar), desisti.

Afinal, tenho mais o que fazer...

 

B. Piropo