private function buildHighlightRules(QueryContext $context)
 {
     $highlighted_fields = [];
     foreach ($context->getHighlightedFields() as $field) {
         switch ($field->getType()) {
             case Mapping::TYPE_STRING:
                 $index_field = $field->getIndexField();
                 $raw_index_field = $field->getIndexField(true);
                 $highlighted_fields[$index_field] = ['matched_fields' => [$index_field, $raw_index_field], 'type' => 'fvh'];
                 break;
             case Mapping::TYPE_FLOAT:
             case Mapping::TYPE_DOUBLE:
             case Mapping::TYPE_INTEGER:
             case Mapping::TYPE_LONG:
             case Mapping::TYPE_SHORT:
             case Mapping::TYPE_BYTE:
                 continue;
             case Mapping::TYPE_DATE:
             default:
                 continue;
         }
     }
     return ['pre_tags' => ['[[em]]'], 'post_tags' => ['[[/em]]'], 'order' => 'score', 'fields' => $highlighted_fields];
 }