Índice Invertido
Um índice invertido é uma estrutura de dados de índice que armazena um mapeamento de conteúdo, como palavras ou números, para suas localizações em um documento ou conjunto de documentos. Em palavras simples, é um hashmap como uma estrutura de dados que o direciona de uma palavra para um documento ou página da web.
Existem dois tipos de índices invertidos: Um índice invertido em nível de registro contém uma lista de referências a documentos para cada palavra. Um índice invertido em nível de palavra contém adicionalmente as posições de cada palavra em um documento. A última forma oferece mais funcionalidade, mas precisa de mais capacidade de processamento e espaço para ser criada.
Suponha que queremos pesquisar os textos “olá a todos”, “este artigo é baseado em índice invertido”, “que é uma estrutura de dados semelhante a um hashmap”. Se indexarmos por (texto, palavra dentro do texto), o índice com localização no texto é:
hello (1, 1) everyone (1, 2) this (2, 1) article (2, 2) is (2, 3); (3, 2) based (2, 4) on (2, 5) inverted (2, 6) index (2, 7) which (3, 1) hashmap (3, 3) like (3, 4) data (3, 5) structure (3, 6)
A palavra “hello” está no documento 1 (“hello everyone”) começando na palavra 1, então tem uma entrada (1, 1) e a palavra “is” está no documento 2 e 3 nas posições '3ª' e '2ª' respectivamente (aqui a posição é baseada na palavra).
O índice pode ter pesos, frequências ou outros indicadores.
Passos para construir um índice invertido:
- Busque o documento
Removendo palavras de parada: As palavras de parada são as palavras mais comuns e inúteis em documentos como “eu”, “o”, “nós”, “é”, “um”. - Derivação da palavra raiz
Sempre que desejo pesquisar “gato”, desejo ver um documento que contém informações sobre ele. Mas a palavra presente no documento é chamada de “gatos” ou “maliciosos” em vez de “gato”. Para relacionar as duas palavras, cortarei alguma parte de cada palavra que leio para que possa obter a “palavra raiz”. Existem ferramentas padrão para fazer isso, como “Porter's Stemmer”. - Registre IDs de documentos
Se a palavra já estiver presente, adicione a referência do documento para indexar, caso contrário, crie uma nova entrada. Adicione informações adicionais, como frequência da palavra, localização da palavra, etc.
Exemplo:
Words Document ant doc1 demo doc2 world doc1, doc2
As vantagens do índice invertido são:
- O índice invertido permite pesquisas rápidas de texto completo, a um custo de processamento aumentado quando um documento é adicionado ao banco de dados.
- É fácil de desenvolver.
- É a estrutura de dados mais popular usada em sistemas de recuperação de documentos, usados em grande escala, por exemplo, em motores de busca.
O índice invertido também tem desvantagens:
- Grande sobrecarga de armazenamento e altos custos de manutenção na atualização, exclusão e inserção.
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva