public Result Update(string dataSetName, string id, DocumentElastic documentOriginal, string newId, object document) { var documentQuery = DocumentQuery(dataSetName); if (!string.Equals(id, newId, StringComparison.Ordinal)) { var documentReindexed = Get(dataSetName, id); documentReindexed.Id = newId; documentReindexed.ModifiedDate = DateTime.UtcNow; Delete(dataSetName, id); var response = Index(dataSetName, documentReindexed); if (response.ItemsWithErrors?.Count > 0) { // mivel már törölve lett az eredeti, megpróbáljuk újraindexelni Index(dataSetName, documentOriginal); return(Result.Fail(response.ItemsWithErrors.Select(s => s.Error.Reason).First())); } } var documentModified = Get(dataSetName, newId); documentModified.DocumentObject = document; documentModified.ModifiedDate = DateTime.UtcNow; documentModified.Text = DocumentHelper.GetConcatenatedText(document, DataSet(dataSetName).DataSet.InterpretedFields, documentOriginal.DocumentObject); documentQuery.Update(newId, documentModified); return(Result.Ok()); }
public void RemoveTagIds_ShouldRemove_TagIds() { // Arrange var documentElastic = new DocumentElastic() { DocumentObject = JToken.FromObject(new { nested = new { tags = new string[] { "1", "2", "3", "4" } } }) }; // Act DocumentHelper.RemoveTagIds(documentElastic.DocumentObject, "nested.tags", new List <string>() { "2", "4" }); // Assert dynamic dyn = documentElastic.DocumentObject; Assert.Equal((dyn.nested.tags as JArray).Select(s => (string)s).ToArray(), new string[] { "1", "3" }); }
public string Update(string id, DocumentElastic documentElastic) { var response = Client.Update(new DocumentPath <DocumentElastic>(id), ur => ur.Doc(documentElastic)); ResponseValidator(response); ResponseValidator(Client.Flush(IndexName)); return(response.Id); }
public Result Index(string dataSetName, object document, string id) { var documentElastic = new DocumentElastic { Id = id, DocumentObject = document, Text = DocumentHelper.GetConcatenatedText(document, DataSet(dataSetName).DataSet.InterpretedFields) }; var response = DocumentQuery(dataSetName).Index(documentElastic); if (response.ItemsWithErrors?.Count > 0) { return(Result.Fail(response.ItemsWithErrors.Select(s => s.Error.Reason).First())); } return(Result.Ok()); }
public NestBulkResponse Index(string dataSetName, DocumentElastic documentElastic) { documentElastic.Text = DocumentHelper.GetConcatenatedText(documentElastic.DocumentObject, DataSet(dataSetName).DataSet.InterpretedFields); return(DocumentQuery(dataSetName).Index(documentElastic)); }
public HashSet <string> GetTagIds(DocumentElastic document, string fieldName) { return(GetTagIds(new[] { document }, fieldName)); }
public NestBulkResponse Index(DocumentElastic documentElastic) { return(Index(new List <DocumentElastic> { documentElastic })); }