Example usage for org.springframework.data.solr.core.query Criteria getBoost

List of usage examples for org.springframework.data.solr.core.query Criteria getBoost

Introduction

In this page you can find the example usage for org.springframework.data.solr.core.query Criteria getBoost.

Prototype

public float getBoost() 

Source Link

Document

Boost criteria value

Usage

From source file:org.springframework.data.solr.core.query.CriteriaTests.java

@Test
public void testBoost() {
    Criteria criteria = new Criteria("field_1").is("value_1").boost(2f);
    assertPredicate(criteria.getPredicates(), 0, OperationKey.EQUALS, "value_1");
    Assert.assertEquals(2f, criteria.getBoost(), 0);
}

From source file:org.springframework.data.solr.core.QueryParserBase.java

/**
 * Creates query string representation of a single critiera
 * // www.  ja  va  2 s  .com
 * @param criteria
 * @return
 */
protected String createQueryFragmentForCriteria(Criteria part) {
    Criteria criteria = (Criteria) part;
    StringBuilder queryFragment = new StringBuilder();
    boolean singeEntryCriteria = (criteria.getPredicates().size() == 1);
    if (criteria instanceof QueryStringHolder) {
        return ((QueryStringHolder) criteria).getQueryString();
    }

    String fieldName = getNullsafeFieldName(criteria.getField());
    if (criteria.isNegating()) {
        fieldName = NOT + fieldName;
    }
    if (!StringUtils.isEmpty(fieldName) && !containsFunctionCriteria(criteria.getPredicates())) {
        queryFragment.append(fieldName);
        queryFragment.append(DELIMINATOR);
    }

    // no criteria given is defaulted to not null
    if (criteria.getPredicates().isEmpty()) {
        queryFragment.append("[* TO *]");
        return queryFragment.toString();
    }

    if (!singeEntryCriteria) {
        queryFragment.append("(");
    }

    CriteriaQueryStringValueProvider valueProvider = new CriteriaQueryStringValueProvider(criteria);
    while (valueProvider.hasNext()) {
        queryFragment.append(valueProvider.next());
        if (valueProvider.hasNext()) {
            queryFragment.append(CRITERIA_VALUE_SEPERATOR);
        }
    }

    if (!singeEntryCriteria) {
        queryFragment.append(")");
    }
    if (!Float.isNaN(criteria.getBoost())) {
        queryFragment.append(BOOST + criteria.getBoost());
    }

    return queryFragment.toString();
}