Heat the olive oil in a large pot over medium heat. Add the finely chopped shallots and celery and sauté until softened, about 4-5 minutes.
Add the garlic, sage, and turmeric. Cook for another 2 minutes until fragrant.
Stir in the drained cannellini beans and season with salt and cracked black pepper. Add 10-12 cups of water (or vegetable broth) and the parmesan rind. Bring to a boil and then let simmer for 15 minutes.
Scoop 4 cups of the soup with lots of beans into a high-speed blender and blend until smooth (this brings some thickness and creaminess to the broth). Add back to the soup and bring back to a simmer for another 10 min and then check for seasoning before adding in the orzo and simmer for 10 minutes, stirring occasionally (it can stick to the bottom so be sure to do this) until the orzo is al-dente.
Squeeze in the juice of 2 lemons. Taste and adjust seasoning as needed.
After the soup sits for a bit it will thicken, enjoy as is or add a bit of water to loosen up.