Я не пробовал это, но, вероятно, это будет работать.
Вы можете индексировать ID в поле user_id и событие поиска, которое должно иметь искомую фразу в поле 'user_id', в вашем случае число:
$query = new Zend_Search_Lucene_Search_Query_Phrase(array('333'), null, 'user_id');
$hits1 = $index->find($query);
Будет выполнен поиск фразы «333» в поле «user_id».
Я не уверен, что это не вернет вам индекс «333», например «3334», «3335», ... вы должны попробовать.
Если это вернет вам все остальные результаты (3334, 3335, ...), вы можете установить, что вы хотите искать только «333», но я оставляю это для вашего исследования:)
Вы можете найти все, что вам нужно здесь: Zend_Search
В любом случае Вы можете сохранить user_id в своем индексе.
Когда кто-то ищет события, вы должны отображать только результат, который имеет:
user_id из индекса == user_id из сессии, это будет работать наверняка.