List of usage examples for org.apache.solr.common.params CommonParams FIELD
String FIELD
To view the source code for org.apache.solr.common.params CommonParams FIELD.
Click Source Link
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; }