Il Zend_Lucene ricerca competente funziona abbastanza bene. Non sono sicuro di come possa far fronte al tuo secondo requisito, tuttavia, se hai personalizzato il token, dovresti essere in grado di farlo trattando una modifica da lettere a numeri come una nuova parola.
Quello di cui non sono davvero sicuro è il requisito principale. Dato il modo in cui è indicizzato, l'ordine diventa irriverente nella ricerca, quindi potresti non essere in grado di farlo senza pesanti modifiche di Lucene, scrivere un filtro (usando lucene per estrarre le corrispondenze, quindi controllare l'ordine) o scrivere la tua soluzione . Tutto ciò rallenterà la ricerca e aggiungerà carico al tuo server.
C'è anche solr , ma non l'ho mai usato e non ne so nulla. Sfinge era un altro, ma vedo che lo hai già escluso.