Zend_Lucene компетентното търсене работи доста добре. Не съм сигурен как ще се справи с второто ви изискване, но ако сте персонализирали токенизираното, трябва да можете да го направите, като третирате промяната от букви към цифри като нова дума.
Това, за което наистина не съм сигурен, е най-важното изискване. Като се има предвид как се индексира, редът става непочтителен в търсенето, така че може да не успеете да го направите без сериозно редактиране на Lucene, писане на филтър (използване на lucene за извличане на съвпаденията, след това проверка на реда) или писане на собствено решение . Всичко това ще забави търсенето и ще натовари вашия сървър.
Има и solr , но никога не съм го използвал и не знам нищо за него. Сфинкс беше друг, но виждам, че вече сте го изключили.