Вы можете использовать solr.EdgeNGramFilterFactory. Вы можете установить minGramSize на 1.
Этот FilterFactory очень полезен при сопоставлении подстрочных подстрок (или суффиксных подстрок, если side = "back") определенных терминов в индексе во время запроса.
Ссылка: http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.EdgeNGramFilterFactory
Так для примера выше,
для Джон Джексон, он будет хранить:
J, JO, JOH, JOHN, J, JA, JAC, JACK, домкраты , ДЖЕКСОН
и Джейка СМИТ:
J, JA, JAK, Jake, S, SM, SMI, SMIT, SMITH
Теперь, когда кто-то ищет J, первый документ (john jackson) получит более высокий балл, потому что J дважды в индексе.