public void IndexUsingAnUrlAsId() { var id = "http://www.skusuplier.com/products/123?affiliateId=23131#oopsIcopiedAnAnchor"; var newProduct = new Product { Id = id, Name = "Top Product" }; var response = this.Client.Index(newProduct); var productInElasticsearch = this.Client.Source<Product>(i=>i.Id(id)); Assert.NotNull(productInElasticsearch); Assert.AreEqual(productInElasticsearch.Id, id); Assert.True(response.IsValid); }
public void MapIdPropertiesForMultipleTypes() { var settings = new ConnectionSettings() .MapIdPropertyFor<ElasticsearchProject>(p => p.LongValue) .MapIdPropertyFor<Person>(p => p.Id) .MapIdPropertyFor<Product>(p => p.Name); var client = new ElasticClient(settings, connection: new InMemoryConnection()); var project = new ElasticsearchProject { LongValue = 1 }; Assert.AreEqual(project.LongValue.ToString(), client.Infer.Id<ElasticsearchProject>(project)); var person = new Person { Id = 2 }; Assert.AreEqual(person.Id.ToString(), client.Infer.Id<Person>(person)); var product = new Product { Name = "foo" }; Assert.AreEqual(product.Name, client.Infer.Id<Product>(product)); }
public void IndexUsingAnUrlAsIdUsingCustomUrlParameterInSettings() { var settings = ElasticsearchConfiguration.Settings().SetGlobalQueryStringParameters(new NameValueCollection { {"apiKey", "my-api-key"} }); var client = new ElasticClient(settings); var id = "http://www.skusuplier.com/products/123?affiliateId=23131#oopsIcopiedAnAnchor"; var newProduct = new Product { Id = id, Name = "Top Product" }; var response = client.Index(newProduct); var productInElasticsearch = client.Get<Product>(id); Assert.NotNull(productInElasticsearch); Assert.AreEqual(productInElasticsearch.Id, id); Assert.True(response.IsValid); }