Example usage for org.apache.solr.common.params CommonParams FIELD

List of usage examples for org.apache.solr.common.params CommonParams FIELD

Introduction

In this page you can find the example usage for org.apache.solr.common.params CommonParams FIELD.

Prototype

String FIELD

To view the source code for org.apache.solr.common.params CommonParams FIELD.

Click Source Link

Usage

From source file:com.frank.search.solr.core.DefaultQueryParser.java

License:Apache License

private void processStatsOptions(SolrQuery solrQuery, Query query) {
    StatsOptions statsOptions = query.getStatsOptions();

    if (statsOptions == null || (CollectionUtils.isEmpty(statsOptions.getFields())
            && CollectionUtils.isEmpty(statsOptions.getFacets())
            && CollectionUtils.isEmpty(statsOptions.getSelectiveFacets()))) {
        return;/* ww w.j a  v a 2  s.  c  om*/
    }

    solrQuery.set(StatsParams.STATS, true);

    for (Field field : statsOptions.getFields()) {
        solrQuery.add(StatsParams.STATS_FIELD, field.getName());

        String selectiveCalcDistinctParam = CommonParams.FIELD + "." + field.getName() + "."
                + StatsParams.STATS_CALC_DISTINCT;
        Boolean selectiveCountDistincts = statsOptions.isSelectiveCalcDistincts(field);

        if (selectiveCountDistincts != null) {
            solrQuery.add(selectiveCalcDistinctParam, String.valueOf(selectiveCountDistincts.booleanValue()));
        }

    }

    for (Field field : statsOptions.getFacets()) {
        solrQuery.add(StatsParams.STATS_FACET, field.getName());
    }

    for (Entry<Field, Collection<Field>> entry : statsOptions.getSelectiveFacets().entrySet()) {

        Field field = entry.getKey();
        String prefix = CommonParams.FIELD + "." + field.getName() + ".";

        String paramName = prefix + StatsParams.STATS_FACET;
        for (Field facetField : entry.getValue()) {
            solrQuery.add(paramName, facetField.getName());
        }

    }

}

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

License:Apache License

/**
 * @see DATASOLR-160/*  ww w .j  a va  2 s . c om*/
 */
@Test
public void testConstructSolrQueryWithSelectiveStatsFacet() {
    StatsOptions statsOptions = new StatsOptions()//
            .addField(new SimpleField("field_1"))//
            .addSelectiveFacet(new SimpleField("field_2"));

    SimpleQuery query = new SimpleQuery("*:*");
    query.setStatsOptions(statsOptions);

    SolrQuery solrQuery = queryParser.constructSolrQuery(query);

    String[] fields = solrQuery.getParams(StatsParams.STATS_FIELD);
    String[] facets = solrQuery.getParams(CommonParams.FIELD + ".field_1." + StatsParams.STATS_FACET);

    Assert.assertEquals(1, fields.length);
    Assert.assertEquals(1, facets.length);
    Assert.assertEquals("field_1", fields[0]);
    Assert.assertEquals("field_2", facets[0]);
}

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

License:Apache License

/**
 * @see DATASOLR-160/*from   w w  w . j a v  a2 s.co  m*/
 */
@Test
public void testConstructSolrQueryWithSelectiveStatsCountDistinct() {
    StatsOptions statsOptions = new StatsOptions()//
            .addField(new SimpleField("field_1")).setSelectiveCalcDistinct(true) //
            .addField(new SimpleField("field_2")).setSelectiveCalcDistinct(false) //
            .addField(new SimpleField("field_3"));

    SimpleQuery query = new SimpleQuery("*:*");
    query.setStatsOptions(statsOptions);

    SolrQuery solrQuery = queryParser.constructSolrQuery(query);

    String[] fields = solrQuery.getParams(StatsParams.STATS_FIELD);
    String[] calc1 = solrQuery.getParams(CommonParams.FIELD + ".field_1." + StatsParams.STATS_CALC_DISTINCT);
    String[] calc2 = solrQuery.getParams(CommonParams.FIELD + ".field_2." + StatsParams.STATS_CALC_DISTINCT);
    String[] calc3 = solrQuery.getParams(CommonParams.FIELD + ".field_3." + StatsParams.STATS_CALC_DISTINCT);

    Arrays.sort(fields);

    Assert.assertEquals(3, fields.length);
    Assert.assertArrayEquals(new String[] { "field_1", "field_2", "field_3" }, fields);
    Assert.assertEquals("true", calc1[0]);
    Assert.assertEquals("false", calc2[0]);
    Assert.assertNull(calc3);
}

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

License:Apache License

/**
 * @see DATASOLR-160//w w w .jav  a2  s .  c o m
 */
@Test
public void testConstructSolrQueryWithStatsConfig() {
    StatsOptions statsOptions = new StatsOptions()//
            .addField(new SimpleField("field_1"))//
            .addSelectiveFacet(new SimpleField("field_1_1"))//
            .addSelectiveFacet(new SimpleField("field_1_2"))//
            .addField("field_2")//
            .addFacet("field_3");

    SimpleQuery query = new SimpleQuery("*:*");
    query.setStatsOptions(statsOptions);

    SolrQuery solrQuery = queryParser.constructSolrQuery(query);

    List<String> fields = Arrays.asList(solrQuery.getParams(StatsParams.STATS_FIELD));
    Collections.sort(fields);
    List<String> selectiveFacets = Arrays
            .asList(solrQuery.getParams(CommonParams.FIELD + ".field_1." + StatsParams.STATS_FACET));
    String[] facets = solrQuery.getParams(StatsParams.STATS_FACET);

    Assert.assertEquals(2, fields.size());
    Assert.assertEquals(2, selectiveFacets.size());
    Assert.assertEquals("field_1", fields.get(0));
    Assert.assertEquals("field_2", fields.get(1));
    Assert.assertEquals("field_1_1", selectiveFacets.get(0));
    Assert.assertEquals("field_1_2", selectiveFacets.get(1));
    Assert.assertEquals("field_3", facets[0]);
}

From source file:org.tallison.solr.search.concordance.KeywordCooccurRankHandler.java

License:Apache License

public static String getField(SolrParams params) {
    String fieldName = params.get(CommonParams.FIELD);
    if (fieldName == null || fieldName.equalsIgnoreCase("null")) {

        if (fieldName == null || fieldName.equalsIgnoreCase("null"))
            fieldName = params.get(CommonParams.DF);

        if (fieldName == null || fieldName.equalsIgnoreCase("null")) {
            //check field list if not in field
            fieldName = params.get(CommonParams.FL);

            //TODO: change when/if request allows for multiple terms
            if (fieldName != null)
                fieldName = fieldName.split(",")[0].trim();
        }/*from www.  j av  a2s.c  o m*/
    }
    return fieldName;
}

From source file:org.tallison.solr.search.concordance.SolrConcordanceBase.java

License:Apache License

public static String getField(SolrParams params, String fallBackField) {
    //TODO: figure out what the standard way of doing this
    String fieldName = params.get(CommonParams.FIELD);
    if (fieldName == null || fieldName.equalsIgnoreCase("null")) {

        if (fieldName == null || fieldName.equalsIgnoreCase("null")) {
            fieldName = params.get(CommonParams.DF);
        }//from www .  j a  v a  2 s.com

        if (fieldName == null || fieldName.equalsIgnoreCase("null")) {
            //check field list if not in field
            fieldName = params.get(CommonParams.FL);

            //TODO: change when/if request allows for multiple terms
            if (fieldName != null) {
                fieldName = fieldName.split(",")[0].trim();
            }
        }
    }

    return (fieldName != null) ? fieldName : fallBackField;
}