Merged 5.2.N (5.2.2) to HEAD (5.2)

137030 gjames: Merged searchrep (5.2.1) to 5.2.N (5.2.1)
      136312 gjames: SEARCH-339: Fixing afts filterquery


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@137545 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Andrei Rebegea
2017-06-15 11:12:28 +00:00
parent b8f65c8fcb
commit 528aa67e3b
4 changed files with 46 additions and 6 deletions

View File

@@ -472,7 +472,7 @@ public class ResultMapper
if (found.get().getSets() != null) if (found.get().getSets() != null)
{ {
Optional<IntervalSet> foundSet = found.get().getSets().stream().filter(aSet -> buck.getFirst().equals(aSet.getLabel())).findFirst(); Optional<IntervalSet> foundSet = found.get().getSets().stream().filter(aSet -> buck.getFirst().equals(aSet.getLabel())).findFirst();
if (foundSet.isPresent()) filterQuery = found.get().getField()+":"+foundSet.get().toRange(); if (foundSet.isPresent()) filterQuery = found.get().getField()+":"+foundSet.get().toAFTSQuery();
} }
} }
} }

View File

@@ -113,7 +113,7 @@ public class ResultMapperTests
+"\"facet_dates\":{}," +"\"facet_dates\":{},"
+"\"facet_ranges\":{}," +"\"facet_ranges\":{},"
+"\"facet_pivot\":{\"creator,modifier\":[{\"field\":\"creator\",\"count\":7,\"pivot\":[{\"field\":\"modifier\",\"count\":3,\"value\":\"mjackson\"},{\"field\":\"modifier\",\"count\":4,\"value\":\"admin\"}],\"value\":\"mjackson\"}]}," +"\"facet_pivot\":{\"creator,modifier\":[{\"field\":\"creator\",\"count\":7,\"pivot\":[{\"field\":\"modifier\",\"count\":3,\"value\":\"mjackson\"},{\"field\":\"modifier\",\"count\":4,\"value\":\"admin\"}],\"value\":\"mjackson\"}]},"
+"\"facet_intervals\":{\"creator\":{\"last\":4,\"first\":0},\"datetime@sd@{http://www.alfresco.org/model/content/1.0}created\":{\"earlier\":5,\"lastYear\":0,\"currentYear\":0}}" +"\"facet_intervals\":{\"creator\":{\"last\":4,\"first\":0},\"TheCreated\":{\"earlier\":5,\"lastYear\":0,\"currentYear\":854}}"
+ "}," + "},"
+ "\"spellcheck\":{\"searchInsteadFor\":\"alfresco\"}," + "\"spellcheck\":{\"searchInsteadFor\":\"alfresco\"},"
+ "\"highlighting\": {" + "\"highlighting\": {"
@@ -303,7 +303,7 @@ public class ResultMapperTests
assertEquals(2, intervalFacets.size()); assertEquals(2, intervalFacets.size());
assertEquals("creator",intervalFacets.get(0).getLabel()); assertEquals("creator",intervalFacets.get(0).getLabel());
assertEquals("last",intervalFacets.get(0).getBuckets().get(0).getLabel()); assertEquals("last",intervalFacets.get(0).getBuckets().get(0).getLabel());
assertEquals("cm:creator:(a,b]",intervalFacets.get(0).getBuckets().get(0).getFilterQuery()); assertEquals("cm:creator:<a TO b]",intervalFacets.get(0).getBuckets().get(0).getFilterQuery());
assertEquals(METRIC_TYPE.count,intervalFacets.get(0).getBuckets().get(0).getMetrics().get(0).getType()); assertEquals(METRIC_TYPE.count,intervalFacets.get(0).getBuckets().get(0).getMetrics().get(0).getType());
assertEquals(4,intervalFacets.get(0).getBuckets().get(0).getMetrics().get(0).getValue().get("count")); assertEquals(4,intervalFacets.get(0).getBuckets().get(0).getMetrics().get(0).getValue().get("count"));
@@ -371,7 +371,45 @@ public class ResultMapperTests
assertEquals("(",sp.getHighlight().getFields().get(1).getPrefix()); assertEquals("(",sp.getHighlight().getFields().get(1).getPrefix());
assertEquals(")",sp.getHighlight().getFields().get(1).getPostfix()); assertEquals(")",sp.getHighlight().getFields().get(1).getPostfix());
} }
@Test
public void testInterval() throws Exception
{
ResultSet results = mockResultset(Collections.emptyList(),Collections.emptyList());
SearchQuery searchQuery = helper.searchQueryFromJson();
SearchRequestContext searchRequest = SearchRequestContext.from(searchQuery);
SearchParameters searchParams = searchMapper.toSearchParameters(EMPTY_PARAMS, searchQuery, searchRequest);
SearchContext searchContext = mapper.toSearchContext((SolrJSONResultSet) results, searchRequest, searchQuery, 0);
//Facet intervals
List<GenericFacetResponse> intervalFacets = searchContext.getFacets().stream()
.filter(f -> f.getType().equals(FACET_TYPE.interval)).collect(Collectors.toList());
assertEquals(2, intervalFacets.size());
assertEquals("creator",intervalFacets.get(0).getLabel());
assertEquals("last",intervalFacets.get(0).getBuckets().get(0).getLabel());
assertEquals("cm:creator:<a TO b]",intervalFacets.get(0).getBuckets().get(0).getFilterQuery());
assertEquals(METRIC_TYPE.count,intervalFacets.get(0).getBuckets().get(0).getMetrics().get(0).getType());
assertEquals(4,intervalFacets.get(0).getBuckets().get(0).getMetrics().get(0).getValue().get("count"));
assertEquals("TheCreated",intervalFacets.get(1).getLabel());
assertEquals("earlier",intervalFacets.get(1).getBuckets().get(0).getLabel());
assertEquals("cm:created:[* TO 2016>",intervalFacets.get(1).getBuckets().get(0).getFilterQuery());
assertEquals(METRIC_TYPE.count,intervalFacets.get(1).getBuckets().get(0).getMetrics().get(0).getType());
assertEquals(5,intervalFacets.get(1).getBuckets().get(0).getMetrics().get(0).getValue().get("count"));
assertEquals("lastYear",intervalFacets.get(1).getBuckets().get(1).getLabel());
assertEquals("cm:created:[2016 TO 2017>",intervalFacets.get(1).getBuckets().get(1).getFilterQuery());
assertEquals(METRIC_TYPE.count,intervalFacets.get(1).getBuckets().get(1).getMetrics().get(0).getType());
assertEquals(0,intervalFacets.get(1).getBuckets().get(1).getMetrics().get(0).getValue().get("count"));
assertEquals("currentYear",intervalFacets.get(1).getBuckets().get(2).getLabel());
assertEquals("cm:created:[NOW/YEAR TO NOW/YEAR+1YEAR]",intervalFacets.get(1).getBuckets().get(2).getFilterQuery());
assertEquals(METRIC_TYPE.count,intervalFacets.get(1).getBuckets().get(2).getMetrics().get(0).getType());
assertEquals(854,intervalFacets.get(1).getBuckets().get(2).getMetrics().get(0).getValue().get("count"));
}
@Test @Test
/** /**
* Test facet group with out facet fields * Test facet group with out facet fields

View File

@@ -153,7 +153,7 @@ public class SearchQuerySerializerTests
assertEquals(true, is.isStartInclusive()); assertEquals(true, is.isStartInclusive());
assertEquals(false, is.isEndInclusive()); assertEquals(false, is.isEndInclusive());
assertEquals(1,ip.getIntervals().size()); assertEquals(2,ip.getIntervals().size());
Interval interval = ip.getIntervals().get(0); Interval interval = ip.getIntervals().get(0);
assertEquals("creator", interval.getLabel()); assertEquals("creator", interval.getLabel());
assertEquals("cm:creator", interval.getField()); assertEquals("cm:creator", interval.getField());

View File

@@ -67,7 +67,9 @@ public class SerializerTestHelper implements RequestReader
+ "\"facetIntervals\": {\"sets\": [{ \"label\": \"king\", \"start\": \"1\", \"end\": \"2\",\"startInclusive\": true,\"endInclusive\": false}]" + "\"facetIntervals\": {\"sets\": [{ \"label\": \"king\", \"start\": \"1\", \"end\": \"2\",\"startInclusive\": true,\"endInclusive\": false}]"
+ ",\"intervals\": [{\"field\": \"cm:creator\",\"label\": \"creator\"," + ",\"intervals\": [{\"field\": \"cm:creator\",\"label\": \"creator\","
+ "\"sets\": [{\"label\": \"last\",\"start\": \"a\",\"end\": \"b\",\"startInclusive\": false}]" + "\"sets\": [{\"label\": \"last\",\"start\": \"a\",\"end\": \"b\",\"startInclusive\": false}]"
+ "}]}," + "},"
+ "{\"label\":\"TheCreated\",\"field\":\"cm:created\",\"sets\":[{\"label\":\"lastYear\",\"start\":\"2016\",\"end\":\"2017\",\"endInclusive\":false},{\"label\":\"currentYear\",\"start\":\"NOW/YEAR\",\"end\":\"NOW/YEAR+1YEAR\"},{\"label\":\"earlier\",\"start\":\"*\",\"end\":\"2016\",\"endInclusive\":false}]}"
+ "]},"
+ "\"spellcheck\": {\"query\": \"alfrezco\"}," + "\"spellcheck\": {\"query\": \"alfrezco\"},"
+ "\"limits\": {\"permissionEvaluationCount\": \"2000\",\"permissionEvaluationTime\": \"5000\"}," + "\"limits\": {\"permissionEvaluationCount\": \"2000\",\"permissionEvaluationTime\": \"5000\"},"
+ "\"scope\": { \"locations\": [\"nodes\"]}," + "\"scope\": { \"locations\": [\"nodes\"]},"