En la actualidad es cada vez más evidente la necesidad de procesar grandes conjuntos de datos, de manera tal de poder obtener información útil a partir de ellos.
Sin embargo, la evolución de las tecnologías de información y comunicación, en conjunto con la gran cantidad y variedad de información disponible digitalmente, han llevado en las ´ultimas décadas al surgimiento de nuevos depósitos no estructurados de información, en los cuales los datos que no se adaptan fácilmente al modelo relacional.
A tipos de datos tales como texto libre, imágenes, audio, video, secuencias biológicas de ADN o proteínas, entre otros; no se los puede estructurar más en claves y registros, o tal estructuración es muy dificultosa (tanto manual como computacionalmente), y restringe de antemano los tipos de consultas que luego se pueden realizar.
Como muchas aplicaciones computacionales necesitan recuperar datos e información desde estas grandes bases de datos conteniendo datos no estructurados, es necesario lograr eficiencia en formas más sofisticadas de búsqueda que la habitual sobre datos estucturados. Así, dada una consulta, el objetivo de un sistema de recuperación de información es obtener lo que podría ser útil o relevante para el usuario, usando una estructura de almacenamiento especialmente diseñada para responderla eficientemente.