mirror of
https://github.com/Alfresco/SearchServices.git
synced 2025-09-17 14:21:20 +00:00
Merge branch 'feature/SEARCH-1689' of git.alfresco.com:search_discovery/insightengine into feature/SEARCH_1687_ContentStore_Removal
This commit is contained in:
@@ -33,6 +33,8 @@ import java.util.ArrayList;
|
|||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static java.util.Optional.of;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Andy, Elia
|
* @author Andy, Elia
|
||||||
*
|
*
|
||||||
@@ -43,13 +45,14 @@ public class AlfrescoFieldMapperTransformer extends DocTransformer
|
|||||||
|
|
||||||
private ResultContext context;
|
private ResultContext context;
|
||||||
private SolrReturnFields solrReturnFields;
|
private SolrReturnFields solrReturnFields;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getName()
|
public String getName()
|
||||||
{
|
{
|
||||||
return "fmap";
|
return "fmap";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void setContext( ResultContext context )
|
public void setContext( ResultContext context )
|
||||||
{
|
{
|
||||||
this.context = context;
|
this.context = context;
|
||||||
@@ -116,7 +119,12 @@ public class AlfrescoFieldMapperTransformer extends DocTransformer
|
|||||||
}
|
}
|
||||||
|
|
||||||
private Object getFieldValue(SchemaField schemaField, Object value){
|
private Object getFieldValue(SchemaField schemaField, Object value){
|
||||||
Object indexedValue = DocsStreamer.getValue(schemaField, (IndexableField) value);
|
if (value instanceof IndexableField)
|
||||||
return indexedValue instanceof String? removeLocale((String) indexedValue) : indexedValue;
|
{
|
||||||
|
Object indexedValue = DocsStreamer.getValue(schemaField, (IndexableField) value);
|
||||||
|
return indexedValue instanceof String? removeLocale((String) indexedValue) : indexedValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
return value;
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -63,7 +63,6 @@ public class AlfrescoFieldMapperTransformerIT extends AbstractAlfrescoDistribute
|
|||||||
@BeforeClass
|
@BeforeClass
|
||||||
public static void initData() throws Throwable
|
public static void initData() throws Throwable
|
||||||
{
|
{
|
||||||
// FIXME: 1 shard??
|
|
||||||
initSolrServers(1, AlfrescoFieldMapperTransformerIT.getSimpleClassName(), null);
|
initSolrServers(1, AlfrescoFieldMapperTransformerIT.getSimpleClassName(), null);
|
||||||
populateAlfrescoData();
|
populateAlfrescoData();
|
||||||
}
|
}
|
||||||
@@ -78,7 +77,7 @@ public class AlfrescoFieldMapperTransformerIT extends AbstractAlfrescoDistribute
|
|||||||
public void transformDocument_noDocTransformer_shouldReturnBasicFields() throws Exception
|
public void transformDocument_noDocTransformer_shouldReturnBasicFields() throws Exception
|
||||||
{
|
{
|
||||||
putHandleDefaults();
|
putHandleDefaults();
|
||||||
//Test 1: Running a simple query without invoking CachedDocTransformer, expected to see id,DBID and _version_
|
//Test 1: Running a simple query without invoking AlfrescoFieldMapperTransformer, expected to see id,DBID and _version_
|
||||||
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts"));
|
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts"));
|
||||||
assertNotNull(resp);
|
assertNotNull(resp);
|
||||||
SolrDocumentList results = resp.getResults();
|
SolrDocumentList results = resp.getResults();
|
||||||
@@ -104,8 +103,8 @@ public class AlfrescoFieldMapperTransformerIT extends AbstractAlfrescoDistribute
|
|||||||
{
|
{
|
||||||
putHandleDefaults();
|
putHandleDefaults();
|
||||||
|
|
||||||
//Test 2: Running simple query with CachedDocTransformer, expected to see all fields returned
|
//Test 2: Running simple query with AlfrescoFieldMapperTransformer, expected to see all fields returned
|
||||||
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","*,[cached]"));
|
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","*,[fmap]"));
|
||||||
SolrDocument docWithAllFields = resp.getResults().get(0);
|
SolrDocument docWithAllFields = resp.getResults().get(0);
|
||||||
assertTrue(docWithAllFields.size() > 3);
|
assertTrue(docWithAllFields.size() > 3);
|
||||||
|
|
||||||
@@ -126,8 +125,8 @@ public class AlfrescoFieldMapperTransformerIT extends AbstractAlfrescoDistribute
|
|||||||
{
|
{
|
||||||
putHandleDefaults();
|
putHandleDefaults();
|
||||||
|
|
||||||
//Test 3: Running simple query with CachedDocTransformer, expected to see selected fields returned
|
//Test 3: Running simple query with AlfrescoFieldMapperTransformer, expected to see selected fields returned
|
||||||
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","id,DBID,[cached]"));
|
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","id,DBID,[fmap]"));
|
||||||
|
|
||||||
assertNotNull(resp);
|
assertNotNull(resp);
|
||||||
SolrDocument docWithRequestedFields = resp.getResults().get(0);
|
SolrDocument docWithRequestedFields = resp.getResults().get(0);
|
||||||
@@ -141,8 +140,23 @@ public class AlfrescoFieldMapperTransformerIT extends AbstractAlfrescoDistribute
|
|||||||
{
|
{
|
||||||
putHandleDefaults();
|
putHandleDefaults();
|
||||||
|
|
||||||
//Test 4: Running simple query with CachedDocTransformer on non default fields, expected to see selected fields returned
|
//Test 4: Running simple query with fmapDocTransformer on non default fields, expected to see selected fields returned
|
||||||
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","id, cm_title,[cached]"));
|
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","id, cm_title,[fmap]"));
|
||||||
|
|
||||||
|
assertNotNull(resp);
|
||||||
|
SolrDocument docWithRequestedFields3 = resp.getResults().get(0);
|
||||||
|
assertEquals(2, docWithRequestedFields3.size());
|
||||||
|
assertNotNull(docWithRequestedFields3.get("id"));
|
||||||
|
String title = (String) docWithRequestedFields3.getFieldValue("cm_title");
|
||||||
|
assertEquals("title1", title);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void transformDocument_docTransformerSetTwice_shouldWorkWithoutErrors() throws Exception
|
||||||
|
{
|
||||||
|
putHandleDefaults();
|
||||||
|
|
||||||
|
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","id, cm_title,[fmap], [fmap]"));
|
||||||
|
|
||||||
assertNotNull(resp);
|
assertNotNull(resp);
|
||||||
SolrDocument docWithRequestedFields3 = resp.getResults().get(0);
|
SolrDocument docWithRequestedFields3 = resp.getResults().get(0);
|
||||||
@@ -157,7 +171,7 @@ public class AlfrescoFieldMapperTransformerIT extends AbstractAlfrescoDistribute
|
|||||||
{
|
{
|
||||||
putHandleDefaults();
|
putHandleDefaults();
|
||||||
|
|
||||||
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","cm_name, score, [cached]"));
|
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","cm_name, score, [fmap]"));
|
||||||
assertNotNull(resp);
|
assertNotNull(resp);
|
||||||
SolrDocumentList results = resp.getResults();
|
SolrDocumentList results = resp.getResults();
|
||||||
SolrDocument docWithAllFields = results.get(0);
|
SolrDocument docWithAllFields = results.get(0);
|
||||||
@@ -172,7 +186,7 @@ public class AlfrescoFieldMapperTransformerIT extends AbstractAlfrescoDistribute
|
|||||||
{
|
{
|
||||||
putHandleDefaults();
|
putHandleDefaults();
|
||||||
|
|
||||||
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","cm_title, cm_created, DBID, score, [cached]"));
|
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","cm_title, cm_created, DBID, score, [fmap]"));
|
||||||
assertNotNull(resp);
|
assertNotNull(resp);
|
||||||
SolrDocumentList results = resp.getResults();
|
SolrDocumentList results = resp.getResults();
|
||||||
SolrDocument docWithAllFields = results.get(0);
|
SolrDocument docWithAllFields = results.get(0);
|
||||||
@@ -188,7 +202,7 @@ public class AlfrescoFieldMapperTransformerIT extends AbstractAlfrescoDistribute
|
|||||||
{
|
{
|
||||||
putHandleDefaults();
|
putHandleDefaults();
|
||||||
|
|
||||||
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","cm?title, *name, [cached]"));
|
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","cm?title, *name, [fmap]"));
|
||||||
assertNotNull(resp);
|
assertNotNull(resp);
|
||||||
SolrDocumentList results = resp.getResults();
|
SolrDocumentList results = resp.getResults();
|
||||||
SolrDocument docWithAllFields = results.get(0);
|
SolrDocument docWithAllFields = results.get(0);
|
||||||
@@ -203,7 +217,7 @@ public class AlfrescoFieldMapperTransformerIT extends AbstractAlfrescoDistribute
|
|||||||
{
|
{
|
||||||
putHandleDefaults();
|
putHandleDefaults();
|
||||||
|
|
||||||
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","cm_title, [explain], [cached]"));
|
QueryResponse resp = query(getDefaultTestClient(), true, ALFRESCO_JSON, params("q", "*", "qt", "/afts", "shards.qt", "/afts","fl","cm_title, [explain], [fmap]"));
|
||||||
assertNotNull(resp);
|
assertNotNull(resp);
|
||||||
SolrDocumentList results = resp.getResults();
|
SolrDocumentList results = resp.getResults();
|
||||||
SolrDocument docWithAllFields = results.get(0);
|
SolrDocument docWithAllFields = results.get(0);
|
||||||
|
Reference in New Issue
Block a user