Depende de:
- qué tan grandes son los archivos, qué formato no es demasiado relevante
- si planea agregar más archivos más tarde (sería necesario actualizar el índice, y quizás también una solución escalable para más de 1000 archivos)
- cuantas veces quieres buscar una cadena en particular
- qué tan rápido debe ser el sistema bajo una gran concurrencia (múltiples usuarios que buscan al mismo tiempo)
- ¿Qué tan rápido desea que se devuelvan los resultados (segundos son buenos o se desean milisegundos?
Sugeriría al menos considerar esta nueva opción # 3.
3. Ejecute un trabajo MapReduce o Spark sobre todos los archivos de entrada, el procesamiento es simple (lea una línea y divida en palabras, agrupe por palabra para asegurar valores únicos, luego cree un MapFile como salida con la clave siendo la palabra)
- ¿Cuáles son los lenguajes de programación utilizados en softwares famosos?
- "Cualquiera que sepa un poco sobre computadoras puede usar una herramienta de evasión de censura para acceder al sitio web". ¿Qué significa esta frase?
- ¿Qué software debo usar para hacer presentaciones en un video con animaciones, tablas e imágenes?
- ¿Cuáles son los principales jugadores de iBeacon (o balizas BLE) en Brasil?
- ¿Cuáles son algunos de los bots Slack más interesantes?
MapFile contiene un índice, permite abrir el “archivo” y la búsqueda por clave es realmente rápida.
Más detalles de Google:
Archivo de mapa: construcción, uso, ejemplos de código
Hadoop I / O: Secuencia, mapa, conjunto, matriz, archivos BloomMap – Blog de ingeniería de Cloudera
Otras soluciones: estructura almacenada en memoria, SolR / ElasticSearch, HBase, etc.
PS Quora no es StackOverflow 🙂