Zend_Lucene søgekompetent fungerer ret godt. Jeg er ikke sikker på, hvordan det ville klare dit andet krav, men hvis du tilpassede det tokeniserede, skulle du være i stand til at gøre det ved at behandle en ændring fra bogstaver til tal som et nyt ord.
Den, jeg virkelig ikke er sikker på, er det højeste krav. I betragtning af hvordan det er indekseret, bliver rækkefølgen uærbødig i søgningen, så du kan muligvis ikke gøre det uden omfattende redigering af Lucene, skrivning af et filter (brug af lucene til at trække tændstikkerne og derefter kontrollere rækkefølgen) eller skrive din egen løsning . Alle disse vil bremse søgningen og tilføje belastning til din server.
Der er også solr , men jeg har aldrig brugt det og ved ikke noget om det. Sphinx var en anden, men jeg kan se, at du allerede har udelukket det.