Example usage for org.apache.solr.client.solrj SolrQuery getSorts

List of usage examples for org.apache.solr.client.solrj SolrQuery getSorts

Introduction

In this page you can find the example usage for org.apache.solr.client.solrj SolrQuery getSorts.

Prototype

public List<SortClause> getSorts() 

Source Link

Document

Gets an a list of current sort clauses.

Usage

From source file:de.dlr.knowledgefinder.webapp.webservice.solr.query.AbstractSolrQueryFactory.java

License:Apache License

private void addSortMethodToSolrQuery(SolrQuery solrQuery, String[] sort) {
    if (sort != null) {
        for (String s : sort) {
            tryToAddSortOrder(solrQuery, s);
        }/*from  w  w  w .j av  a 2 s.com*/
    }

    if (solrQuery.getSorts().size() == 0) {
        solrQuery.addSort(getDefaultSort());
    }
}

From source file:nl.knaw.huygens.timbuctoo.index.solr.SolrQueryMatcher.java

License:Open Source License

public SolrQueryMatcher withSorts(SortClauseMatcher... sorts) {
    List<? super SortClauseMatcher> sortClauseMatchers = Lists.newArrayList(sorts);

    this.addMatcher(new PropertyMatcher<SolrQuery, Iterable<SolrQuery.SortClause>>("sorts",
            Matchers.containsInAnyOrder((Matcher[]) sorts)) {
        @Override//from w  w  w.j a  v  a 2 s. co m
        protected Iterable<SolrQuery.SortClause> getItemValue(SolrQuery item) {
            return item.getSorts();
        }
    });
    return this;
}

From source file:org.apache.metron.solr.matcher.SolrQueryMatcher.java

License:Apache License

@Override
public boolean matches(Object o) {
    SolrQuery solrQuery = (SolrQuery) o;
    return Objects.equals(solrQuery.getStart(), expectedSolrQuery.getStart())
            && Objects.equals(solrQuery.getRows(), expectedSolrQuery.getRows())
            && Objects.equals(solrQuery.getQuery(), expectedSolrQuery.getQuery())
            && Objects.equals(solrQuery.getSorts(), expectedSolrQuery.getSorts())
            && Objects.equals(solrQuery.getFields(), expectedSolrQuery.getFields())
            && Arrays.equals(solrQuery.getFacetFields(), expectedSolrQuery.getFacetFields())
            && Objects.equals(solrQuery.get("collection"), expectedSolrQuery.get("collection"))
            && Objects.equals(solrQuery.get("stats"), expectedSolrQuery.get("stats"))
            && Objects.equals(solrQuery.get("stats.field"), expectedSolrQuery.get("stats.field"))
            && Objects.equals(solrQuery.get("facet"), expectedSolrQuery.get("facet"))
            && Objects.equals(solrQuery.get("facet.pivot"), expectedSolrQuery.get("facet.pivot"));
}

From source file:org.opencommercesearch.AbstractSearchServer.java

License:Apache License

public void setGroupParams(SolrQuery query, Locale locale) {
    query.set("group", true);
    query.set("group.ngroups", true);
    query.set("group.limit", 50);
    query.set("group.field", "productId");
    query.set("group.facet", false);

    if (isGroupSortingEnabled()) {
        List<SolrQuery.SortClause> clauses = query.getSorts();
        boolean isSortByScore = false;

        if (clauses.size() > 0) {
            for (SolrQuery.SortClause clause : clauses) {
                if (SCORE.equals(clause.getItem())) {
                    isSortByScore = true;
                }// w  ww .  ja  v a2 s.co m
            }
        } else {
            isSortByScore = true;
        }

        if (isSortByScore) {
            // break ties with custom sort field
            query.set("group.sort",
                    "isCloseout asc, salePrice" + locale.getCountry() + " asc, sort asc, score desc");
        }
    }
}

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

License:Apache License

@Test
public void testWithNullSort() {
    SimpleStringCriteria criteria = new SimpleStringCriteria("field_1:value_1");
    Query query = new SimpleQuery(criteria);
    query.addSort(null); // do this explicitly

    SolrQuery solrQuery = queryParser.constructSolrQuery(query);
    Assert.assertNull(solrQuery.getSortField());
    Assert.assertTrue(solrQuery.getSorts().isEmpty());
}

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

License:Apache License

@Test
public void testWithSortAscOnSingleField() {
    SimpleStringCriteria criteria = new SimpleStringCriteria("field_1:value_1");
    Query query = new SimpleQuery(criteria);
    query.addSort(new Sort("field_2"));
    SolrQuery solrQuery = queryParser.constructSolrQuery(query);
    Assert.assertEquals("field_2 asc", solrQuery.getSortField());
    Assert.assertEquals(1, solrQuery.getSorts().size());
}

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

License:Apache License

@Test
public void testWithSortDescOnSingleField() {
    SimpleStringCriteria criteria = new SimpleStringCriteria("field_1:value_1");
    Query query = new SimpleQuery(criteria);
    query.addSort(new Sort(Sort.Direction.DESC, "field_2"));
    SolrQuery solrQuery = queryParser.constructSolrQuery(query);
    Assert.assertEquals("field_2 desc", solrQuery.getSortField());
    Assert.assertEquals(1, solrQuery.getSorts().size());
}

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

License:Apache License

@Test
public void testWithSortAscMultipleFields() {
    SimpleStringCriteria criteria = new SimpleStringCriteria("field_1:value_1");
    Query query = new SimpleQuery(criteria);
    query.addSort(new Sort("field_2", "field_3"));
    SolrQuery solrQuery = queryParser.constructSolrQuery(query);
    Assert.assertEquals("field_2 asc,field_3 asc", solrQuery.getSortField());
    Assert.assertEquals(2, solrQuery.getSorts().size());
}

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

License:Apache License

@Test
public void testWithSortDescMultipleFields() {
    SimpleStringCriteria criteria = new SimpleStringCriteria("field_1:value_1");
    Query query = new SimpleQuery(criteria);
    query.addSort(new Sort(Sort.Direction.DESC, "field_2", "field_3"));
    SolrQuery solrQuery = queryParser.constructSolrQuery(query);
    Assert.assertEquals("field_2 desc,field_3 desc", solrQuery.getSortField());
    Assert.assertEquals(2, solrQuery.getSorts().size());
}

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

License:Apache License

@Test
public void testWithSortMixedDirections() {
    SimpleStringCriteria criteria = new SimpleStringCriteria("field_1:value_1");
    Query query = new SimpleQuery(criteria);
    query.addSort(new Sort("field_1"));
    query.addSort(new Sort(Sort.Direction.DESC, "field_2", "field_3"));
    SolrQuery solrQuery = queryParser.constructSolrQuery(query);
    Assert.assertEquals("field_1 asc,field_2 desc,field_3 desc", solrQuery.getSortField());
    Assert.assertEquals(3, solrQuery.getSorts().size());
}