Package org.apache.solr.handler.designer
Class ManagedSchemaDiff
java.lang.Object
org.apache.solr.handler.designer.ManagedSchemaDiff
Utility methods for comparing managed index schemas
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondiff(List<org.apache.solr.common.util.SimpleOrderedMap<Object>> list1, List<org.apache.solr.common.util.SimpleOrderedMap<Object>> list2) diff(Map<String, org.apache.solr.common.util.SimpleOrderedMap<Object>> map1, Map<String, org.apache.solr.common.util.SimpleOrderedMap<Object>> map2) Compute difference between two map objects withSimpleOrderedMapas values.diff(ManagedIndexSchema oldSchema, ManagedIndexSchema newSchema) Compute difference between two managed schemas.getCopyFieldList(ManagedIndexSchema indexSchema) mapDynamicFieldToPropValues(IndexSchema.DynamicField[] dynamicFields) mapFieldsToPropertyValues(Map<String, SchemaField> fields) mapFieldTypesToPropValues(Map<String, FieldType> fieldTypes)
-
Constructor Details
-
ManagedSchemaDiff
public ManagedSchemaDiff()
-
-
Method Details
-
diff
Compute difference between two managed schemas. The returned map consists of changed, new, removed elements in fields, field types, dynamic fields and copy fields between input schemas.Output format when rendered to json will look like below:
{ "fields": { "updated": {...}, "added": {...}, "removed": {...} }, "fieldTypes": { "updated": {...}, "added": {...}, "removed": {...} }, "dynamicFields": { "updated": {...}, "added": {...}, "removed": {...} }, "copyFields: { "new": [...], "old": [...] } }- Parameters:
oldSchema- instance ofManagedIndexSchemanewSchema- instance ofManagedIndexSchema- Returns:
- the difference between two schemas
-
diff
protected static Map<String,Object> diff(Map<String, org.apache.solr.common.util.SimpleOrderedMap<Object>> map1, Map<String, org.apache.solr.common.util.SimpleOrderedMap<Object>> map2) Compute difference between two map objects withSimpleOrderedMapas values.Example of the output format when rendered to json
{ "updated": { "stringField": [ { "docValues": "false" }, { "docValues": "true" } }, "added": { "newstringfield: { "name": "newstringfield", "type": "string", ..... } }, "removed": { "oldstringfield": { "name": "oldstringfield", "type": "string", ..... } } }- Parameters:
map1- instance of Map withSimpleOrderedMapelementsmap2- instance of Map withSimpleOrderedMapelements- Returns:
- the difference between two Map
-
diff
-
mapFieldsToPropertyValues
-
mapFieldTypesToPropValues
-
mapDynamicFieldToPropValues
protected static Map<String,org.apache.solr.common.util.SimpleOrderedMap<Object>> mapDynamicFieldToPropValues(IndexSchema.DynamicField[] dynamicFields) -
getCopyFieldList
protected static List<org.apache.solr.common.util.SimpleOrderedMap<Object>> getCopyFieldList(ManagedIndexSchema indexSchema)
-