public void ReIndexItem(IAzureSearchSimpleDataSet data) { var documents = new List <Document>(); var config = GetConfiguration(); documents.Add(FromlDataset(data, config.SearchFields)); IndexContentBatch(documents); }
private Document AddFields(Document c, IAzureSearchSimpleDataSet data, SearchField[] searchFields) { foreach (var field in searchFields) { if (data.RowData.ContainsKey(field.Name)) { var value = data.RowData[field.Name]; if (field.Type == "collection") { if (value != value.Collection) { c.Add(field.Name, value.Collection); } else { c.Add(field.Name, new List <string>()); } } if (field.Type == "string") { if (value.String != null) { c.Add(field.Name, value.String); } else { c.Add(field.Name, string.Empty); } } if (field.Type == "int") { c.Add(field.Name, value.Int); } if (field.Type == "bool") { c.Add(field.Name, value.Bool); } if (field.Type == "date") { if (value.DateTime != null) { c.Add(field.Name, value.DateTime); } else { c.Add(field.Name, default(DateTime)); } } } } return(c); }
private Document FromlDataset(IAzureSearchSimpleDataSet data, SearchField[] searchFields) { var c = new Document { { "Id", data.Id.ToString() }, { "Key", data.Key.ToString() }, }; c = AddFields(c, data, searchFields); return(c); }