Bueno, no puedes buscar en texto descifrado sin decodificarlo primero, eso es cierto.
Sin embargo, eso no significa que no haya formas de evitar esto. Por ejemplo, podría hacer un índice invertido de sus datos y hash (sha1, md5, crc32, elija uno) las claves utilizadas para la búsqueda. Todo lo que tiene que hacer es codificar los términos de búsqueda que está utilizando, buscarlos en el índice y recuperar cualquier registro que coincida, que será solo una pequeña parte de la tabla en lugar de todo.
Al codificar los datos (¡use una sal!), evita almacenar los datos de una manera insegura, mientras que aún puede buscar a través de los datos porque creó un índice para ellos. No es necesario descifrar hasta que esté realmente seguro de qué documentos coinciden.