Peel the carrot and onion and put them with the celery in a pan that is wide enough to accommodate the fish. Fill two-thirds full with water, place over high heat, and bring to a boil. Add the salt and vinegar, then slide the fish fillet into the water. Bring the water back to a boil, lower the heat, and gently simmer for about 10 minutes for a 1 -inch-thick fillet. Remove the fish with a slotted spoon and set it aside on a plate to cool.
While the fish is cooking, make the mayonnaise.
Remove any skin and bones from the fish. Put the fish and mayonnaise in a food processor and run the processor until you get a smooth consistency. Transfer to a mixing bowl and stir in the olive oil, lemon juice, and capers. You can make this ahead of time and refrigerate it; let warm to room temperature before continuing.
Lightly toast the bread. Cut the slices diagonally in half and spread each piece with some of the fish mixture. Serve at room temperature.