コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
ファイル: IndicesTests.cs プロジェクト: romankor/NEST
        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);
        }
コード例 #5
0
 public void Visit(MultiFieldMapping mapping)
 {
     this.PrettyPrint(mapping);
 }