private RankSetting toRankSetting(ImmutableSDField field, RankSetting.Type type) {
        if (type.equals(RankSetting.Type.WEIGHT) && field.getWeight() > 0 && field.getWeight() != 100)
            return new RankSetting(field.getName(), type, field.getWeight());
        if (type.equals(RankSetting.Type.RANKTYPE))
            return new RankSetting(field.getName(), type, field.getRankType());
        if (type.equals(RankSetting.Type.LITERALBOOST) && field.getLiteralBoost() > 0)
            return new RankSetting(field.getName(), type, field.getLiteralBoost());

        // Index level setting really
        if (type.equals(RankSetting.Type.PREFERBITVECTOR) && field.getRanking().isFilter()) {
            return new RankSetting(field.getName(), type, true);
        }

        return null;
    }
Ignore self inheriting of default as some applications may use that for historical reasons.
config-model/src/main/java/com/yahoo/schema/DefaultRankProfile.java