Przeglądaj źródła

HUE-5787 [indexer] Newly created collection do not have an ID field

Romain Rigaux 8 lat temu
rodzic
commit
db3eb0b
1 zmienionych plików z 4 dodań i 0 usunięć
  1. 4 0
      desktop/libs/indexer/src/indexer/utils.py

+ 4 - 0
desktop/libs/indexer/src/indexer/utils.py

@@ -62,8 +62,10 @@ def get_config_template_path(solr_cloud_mode):
 class SchemaXml(object):
   def __init__(self, xml):
     self.xml = xml
+    self.unique_key_field = None
 
   def uniqueKeyField(self, unique_key_field):
+    self.unique_key_field = unique_key_field
     self.xml = force_unicode(force_unicode(self.xml).replace(u'<!-- REPLACE UNIQUE KEY -->', force_unicode(unique_key_field)))
 
   def fields(self, fields):
@@ -71,6 +73,8 @@ class SchemaXml(object):
     for field in fields:
       field_dict = DEFAULT_FIELD.copy()
       field_dict.update(field)
+      if self.unique_key_field == field['name']:
+        field_dict['required'] = 'true'
       fields_xml += FIELD_XML_TEMPLATE % field_dict + '\n'
     self.xml = force_unicode(force_unicode(self.xml).replace(u'<!-- REPLACE FIELDS -->', force_unicode(fields_xml)))