private static QueryBuilder createBoostedQuery()

in fts/src/main/java/com/epam/eco/schemacatalog/fts/repo/SchemaDocumentRepositoryImpl.java [219:250]


    private static QueryBuilder createBoostedQuery(SearchParams params) {
        String queryString = params.getQuery() != null ? params.getQuery() : "";

        QueryStringQueryBuilder boostedQuery = new QueryStringQueryBuilder(queryString);

        Map<String, Float> boostingMap = new HashMap<>();

        boostingMap.put(FtsConstants.FIELD_SCHEMA_REGISTRY_ID, params.getSchemaRegistryIdBoost());
        boostingMap.put(FtsConstants.FIELD_SUBJECT, params.getSubjectBoost());
        boostingMap.put(FtsConstants.FIELD_VERSION, params.getVersionBoost());
        boostingMap.put(FtsConstants.FIELD_VERSION_LATEST, params.getVersionLatestBoost());
        boostingMap.put(FtsConstants.FIELD_COMPATIBILITY, params.getCompatibilityBoost());
        boostingMap.put(FtsConstants.FIELD_MODE, params.getModeBoost());
        boostingMap.put(FtsConstants.FIELD_ROOT_NAME, params.getNameBoost());
        boostingMap.put(FtsConstants.FIELD_ROOT_NAMESPACE, params.getNamespaceBoost());
        boostingMap.put(FtsConstants.FIELD_ROOT_FULLNAME, params.getFullnameBoost());
        boostingMap.put(FtsConstants.FIELD_DELETED, params.getDeletedBoost());
        boostingMap.put(FtsConstants.FIELD_METADATA_DOC, params.getMetadataDocBoost());
        boostingMap.put(FtsConstants.FIELD_METADATA_ATTRIBUTE_KEY, params.getMetadataAttributeKeyBoost());
        boostingMap.put(FtsConstants.FIELD_METADATA_ATTRIBUTE_VALUE, params.getMetadataAttributeValueBoost());
        boostingMap.put(FtsConstants.FIELD_METADATA_UPDATED_BY, params.getMetadataUpdatedByBoost());
        boostingMap.put(FtsConstants.FIELD_PROPERTY_KEY, params.getPropertyKeysBoost());
        boostingMap.put(FtsConstants.FIELD_PROPERTY_VALUE, params.getPropertyValuesBoost());

        boostingMap.forEach((field, boost) -> {
            if (boost != null) {
                boostedQuery.field(field, boost);
            }
        });

        return boostedQuery;
    }