mailboatの答えは、ほとんど私のために働くんでしたが、それは私の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フィールドの内容から新しいフィールドを作成し、
私の最初の考えは、ユーザーカウントでファセット名を取得してから、範囲をSolr外に構築することです。 –
私はRob Di Marcoに同意します。 Solrのボックスフィーチャからはわかりませんが、これは等しい数でファセット範囲を解決できます。 (その逆数面の特徴のように、数を指定して範囲を取得する) – Omnaest