Возможно, вы используете StandardAnalyzer для индексирования документов. Как говорит Javadoc, он использует StandarkTokenizer . Этот токенизатор извлекает слова из текста и обрабатывает их с помощью нескольких простых правил (читайте javadoc). затем происходит некоторая фильтрация токенов, но обычно слово становится токеном.
Я не знаю деталей, но я думаю, что при поиске lucene сравнивает / ищет токены (слова в вашем случае), поэтому запрос "l" приводит к пустому списку, потому что токен "l" не совпадает с Жетон "Лампада".
Если вы хотите искать в своем индексе, используя любую подстроку проиндексированных документов, вам следует рассмотреть возможность использования / записи токенизатора на основе ngrams (). Для каждой возможной подстроки данной строки она создает токен. Имея в качестве строки "Lampada", он будет производить "L", "La", "Lam", ..., "ada", "da", "a", а затем даже при выполнении запроса LuceneIndex с помощью StandardTokenizer и query = "l «вы найдете соответствующие документы (имейте в виду, что этот подход увеличивает скорость, с которой растет индекс).