La forma más eficiente de encontrar coincidencias parciales de cadenas en un gran archivo de cadenas (Python)

Descargué el archivo de títulos de artículos de Wikipedia que contiene el nombre de cada artículo de Wikipedia. Necesito buscar todos los títulos de artículos que puedan coincidir. Por ejemplo, podría tener la palabra "hockey", pero el artículo de Wikipedia para hockey que quisiera es "Ice_hockey". También debería ser una búsqueda que no distinga entre mayúsculas y minúsculas.

Estoy usando Python, ¿y hay una manera más eficiente que simplemente hacer una búsqueda línea por línea? Realizaré esta búsqueda como 500 o 1000 veces por minuto, idealmente. Si línea por línea es mi única opción, ¿hay algunas optimizaciones que pueda hacer dentro de esto?

Creo que hay varios millones de líneas en el archivo.

¿Algunas ideas?

Gracias.

Respuestas a la pregunta(3)

Su respuesta a la pregunta