ответ почтовой шлюпки у меня почти сработал, но в моем Solr нужно было немного подправить:
Определение типа:
<fieldType name="vendorNameRangeFieldType" class="solr.TextField">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="vendorNameLetterRanges.txt" ignoreCase="true" expand="true"/>
</analyzer>
</fieldType>
Определение поля:
<field name="vendorNameFacetLetter" type="vendorNameRangeFieldType" indexed="true" stored="true" />
Копирование содержимого в поле:
<copyField source="Title_prop" dest="vendorNameFacetLetter" maxChars="1"/>
И содержимое моего файла синонимов:
a,b,c,d => AD
e,f,g,h => EH
i,j,k,l => IL
m,n,o,p => MP
q,r,s,t => QT
u,v,w,x,y,z => UZ
Это создает новое поле из содержимого поля Title_prop (используя только его первый символ), а затем вы можете фильтровать это новое поле, используя группы AD, EH и т. Д., Такие как:
... &fq=vendorNameFacetLetter:QT ...