public void CreateIndexMultiFieldMap() { var client = this.Client; var typeMapping = new RootObjectMapping(); typeMapping.Name = Guid.NewGuid().ToString("n"); var property = new MultiFieldMapping(); var primaryField = new StringMapping() { Index = FieldIndexOption.NotAnalyzed }; var analyzedField = new StringMapping() { Index = FieldIndexOption.Analyzed }; property.Fields.Add("name", primaryField); property.Fields.Add("name_analyzed", analyzedField); typeMapping.Properties = typeMapping.Properties ?? new Dictionary <PropertyNameMarker, IElasticType>(); typeMapping.Properties.Add("name", property); var settings = new IndexSettings(); settings.Mappings.Add(typeMapping); settings.NumberOfReplicas = 1; settings.NumberOfShards = 5; settings.Analysis.Analyzers.Add("snowball", new SnowballAnalyzer { Language = "English" }); var indexName = Guid.NewGuid().ToString(); var response = client.CreateIndex(indexName, i => i.InitializeUsing(settings)); Assert.IsTrue(response.IsValid); Assert.IsTrue(response.Acknowledged); var inferrer = new ElasticInferrer(this.Settings); var typeName = inferrer.PropertyName(typeMapping.Name); Assert.IsNotNull(this.Client.GetMapping <ElasticsearchProject>(gm => gm.Index(indexName).Type(typeName))); var deleteResponse = client.DeleteIndex(i => i.Index(indexName)); Assert.IsTrue(deleteResponse.IsValid); Assert.IsTrue(deleteResponse.Acknowledged); }
public void CreateIndexMultiFieldMap() { var client = this._client; var typeMapping = new RootObjectMapping(); typeMapping.TypeNameMarker = Guid.NewGuid().ToString("n"); var property = new MultiFieldMapping(); var primaryField = new StringMapping() { Index = FieldIndexOption.not_analyzed }; var analyzedField = new StringMapping() { Index = FieldIndexOption.analyzed }; property.Fields.Add("name", primaryField); property.Fields.Add("name_analyzed", analyzedField); typeMapping.Properties = typeMapping.Properties ?? new Dictionary <string, IElasticType>(); typeMapping.Properties.Add("name", property); var settings = new IndexSettings(); settings.Mappings.Add(typeMapping); settings.NumberOfReplicas = 1; settings.NumberOfShards = 5; settings.Analysis.Analyzers.Add("snowball", new SnowballAnalyzer { Language = "English" }); var indexName = Guid.NewGuid().ToString(); var response = client.CreateIndex(indexName, settings); Assert.IsTrue(response.IsValid); Assert.IsTrue(response.OK); var typeName = typeMapping.TypeNameMarker.Resolve(this._settings); Assert.IsNotNull(this._client.GetMapping(indexName, typeName)); var deleteResponse = client.DeleteIndex(indexName); Assert.IsTrue(deleteResponse.IsValid); Assert.IsTrue(deleteResponse.OK); }
public void CreateIndexMultiFieldMap() { var client = this._client; var typeMapping = new RootObjectMapping(); typeMapping.Name = Guid.NewGuid().ToString("n"); var property = new MultiFieldMapping(); var primaryField = new StringMapping() { Index = FieldIndexOption.not_analyzed }; var analyzedField = new StringMapping() { Index = FieldIndexOption.analyzed }; property.Fields.Add("name", primaryField); property.Fields.Add("name_analyzed", analyzedField); typeMapping.Properties = typeMapping.Properties ?? new Dictionary<PropertyNameMarker, IElasticType>(); typeMapping.Properties.Add("name", property); var settings = new IndexSettings(); settings.Mappings.Add(typeMapping); settings.NumberOfReplicas = 1; settings.NumberOfShards = 5; settings.Analysis.Analyzers.Add("snowball", new SnowballAnalyzer { Language = "English" }); var indexName = Guid.NewGuid().ToString(); var response = client.CreateIndex(indexName, i=>i.InitializeUsing(settings)); Assert.IsTrue(response.IsValid); Assert.IsTrue(response.Acknowledged); var inferrer = new ElasticInferrer(this._settings); var typeName = inferrer.PropertyName(typeMapping.Name); Assert.IsNotNull(this._client.GetMapping(gm=>gm.Index(indexName).Type(typeName))); var deleteResponse = client.DeleteIndex(i=>i.Index(indexName)); Assert.IsTrue(deleteResponse.IsValid); Assert.IsTrue(deleteResponse.Acknowledged); }
public void CreateIndexMultiFieldMap() { var client = this._client; var typeMapping = new RootObjectMapping(); typeMapping.Name = Guid.NewGuid().ToString("n"); var property = new MultiFieldMapping(); var primaryField = new StringMapping() { Index = FieldIndexOption.not_analyzed }; var analyzedField = new StringMapping() { Index = FieldIndexOption.analyzed }; property.Fields.Add("name", primaryField); property.Fields.Add("name_analyzed", analyzedField); typeMapping.Properties = typeMapping.Properties ?? new Dictionary<string, IElasticType>(); typeMapping.Properties.Add("name", property); var settings = new IndexSettings(); settings.Mappings.Add(typeMapping); settings.NumberOfReplicas = 1; settings.NumberOfShards = 5; settings.Analysis.Analyzer.Add("snowball", new SnowballAnalyzerSettings { Language = "English" }); var indexName = Guid.NewGuid().ToString(); var response = client.CreateIndex(indexName, settings); Assert.IsTrue(response.IsValid); Assert.IsTrue(response.OK); Assert.IsNotNull(this._client.GetMapping(indexName, typeMapping.Name)); response = client.DeleteIndex(indexName); Assert.IsTrue(response.IsValid); Assert.IsTrue(response.OK); }
public void Visit(MultiFieldMapping mapping) { this.PrettyPrint(mapping); }