예제 #1
0
        public RegisterIndexDoc CreateIndexDoc(SearchResultItem item)
        {
            var indexDoc = new RegisterIndexDoc();

            try
            {
                indexDoc.SystemID                  = item.SystemID;
                indexDoc.CodelistValue             = item.CodelistValue;
                indexDoc.currentVersion            = item.currentVersion;
                indexDoc.DatasetOwner              = item.DatasetOwner;
                indexDoc.Discriminator             = item.Discriminator;
                indexDoc.DocumentOwner             = item.DocumentOwner;
                indexDoc.ObjektkatalogUrl          = item.ObjektkatalogUrl;
                indexDoc.ParentRegisterDescription = item.ParentRegisterDescription;
                indexDoc.ParentRegisterId          = item.ParentRegisterId;
                indexDoc.ParentRegisterName        = item.ParentRegisterName;
                indexDoc.ParentregisterOwner       = item.ParentregisterOwner;
                indexDoc.ParentRegisterSeoname     = item.ParentRegisterSeoname;
                indexDoc.ParentRegisterUrl         = item.ParentRegisterUrl;
                indexDoc.RegisteItemUrl            = item.RegisteItemUrl;
                indexDoc.RegisteItemUrlDataset     = item.RegisteItemUrlDataset;
                indexDoc.RegisteItemUrlDocument    = item.RegisteItemUrlDocument;
                indexDoc.RegisterDescription       = item.RegisterDescription;
                indexDoc.RegisterID                = item.RegisterID;
                indexDoc.RegisterItemDescription   = item.RegisterItemDescription;
                indexDoc.RegisterItemName          = item.RegisterItemName;
                indexDoc.RegisterItemNameEnglish   = item.RegisterItemNameEnglish;
                indexDoc.RegisterItemSeoname       = item.RegisterItemSeoname;
                indexDoc.RegisterItemStatus        = item.RegisterItemStatus;
                indexDoc.RegisterItemUpdated       = item.RegisterItemUpdated;
                indexDoc.RegisterName              = item.RegisterName;
                indexDoc.RegisterSeoname           = item.RegisterSeoname;
                indexDoc.Shortname                 = item.Shortname;
                indexDoc.Submitter                 = item.Submitter;
                indexDoc.subregisterItemUrl        = item.subregisterItemUrl;
                indexDoc.SubregisterUrl            = item.SubregisterUrl;
                indexDoc.Type         = getTypeName(item.Discriminator);
                indexDoc.Organization = getOrganizationName(item);

                Log.Info(string.Format("Indexing register with systemID={0}", indexDoc.SystemID));
            }
            catch (Exception e)
            {
                Log.Error(e);
            }
            return(indexDoc);
        }
예제 #2
0
        public void Index(RegisterIndexDoc doc)
        {
            var currentCulture = System.Threading.Thread.CurrentThread.CurrentCulture;

            System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
            Log.Info(string.Format("Indexing single document systemID={0}", doc.SystemID));
            try
            {
                _solr.Add(doc);
                _solr.Commit();
            }
            catch (SolrNet.Exceptions.SolrConnectionException ex)
            {
                Log.Error("Connection to solr failed" + ex);
            }
            catch (Exception ex)
            {
                Log.Error("Error:" + ex.Message);
            }
            System.Threading.Thread.CurrentThread.CurrentCulture = currentCulture;
        }