public static function fetchSymptomsLetters($related_infos = false)
 {
     if ( is_null(self::$_symptomsLetters) )
     {
         $field = 'attr_custom_symptom_'.ClusterTool::clusterIdentifier().'_s';
         $params = array(
             'indent'       => 'on',
             'q'            => '',
             'start'        => 0,
             'rows'         => 0,
             'fl'           => 'score',
             'qt'           => 'ezpublish',
             'explainOther' => '',
             'hl.fl'        => '',
             'facet'        => 'true',
             'facet.field'  => $field,
             'facet.mincount'    => 1
         );
         $solrResult = self::rawSearch($params);
         
         $translations = FacetFilteringTool::getTaxonomyTranslation( 'symptom' );
         $letters = array();
         foreach( $solrResult['facet_counts']['facet_fields'][$field] as $key => $v) {
             list( $letter, $symptomLabel, $url ) = explode('##', $key);
             
             if( !isset($letters[$letter]) )
                 $letters[$letter] = array();
             $letters[$letter][$symptomLabel] = $url;
         }
         
         ksort($letters);
         foreach ( $letters as $letter => $symptoms)
         {
             uksort($symptoms, function($a, $b) {
                 return strcmp(StringTool::CJK2Pinyin($a), StringTool::CJK2Pinyin($b));
             });
             $letters[$letter] = $symptoms;
         }
         self::$_symptomsLetters = $letters;
     }
     
     return array( 'result' => self::$_symptomsLetters );
 }