+ 1 к ответам Xapian и Pyndexter.
Ferret на самом деле написан на C с рубиновой привязкой сверху. Чистая поисковая система Ruby будет даже медленнее, чем чистая Python. Я бы хотел, чтобы «кто-то еще» написал слой Cython / Pyrex для интерфейса Python для Ferret, но сам этого не сделаю, потому что зачем беспокоиться, когда есть привязки Python для Xapian.