예제 #1
0
        public void CreateIndex()
        {
            if (indexQuery.IsExists(Constants.SlambyMetadataIndex))
            {
                return;
            }

            var client = elasticClientFactory.GetClient();

            var descriptor = new CreateIndexDescriptor(Constants.SlambyMetadataIndex);

            descriptor
            .Settings(s => s
                      .NumberOfReplicas(0)
                      .NumberOfShards(1))
            .Mappings(m => m
                      .Map <MetadataElastic>(mm => mm
                                             .AutoMap()
                                             .Dynamic(false)
                                             ));

            var createResp = client.CreateIndex(descriptor);

            ResponseValidator(createResp);

            var metadataElastic = new MetadataElastic()
            {
                DBVersion = 0
            };

            Index(metadataElastic);
        }
예제 #2
0
        public void CreateIndex()
        {
            if (indexQuery.IsExists(Constants.SlambyProcessesIndex))
            {
                return;
            }

            var client = elasticClientFactory.GetClient();

            var descriptor = new CreateIndexDescriptor(Constants.SlambyProcessesIndex);

            descriptor
            .Settings(s => s.
                      NumberOfReplicas(0)
                      .NumberOfShards(1))
            .Mappings(m => m
                      .Map <ProcessElastic>(mm => mm.AutoMap().Dynamic(false))
                      );

            var createResp = client.CreateIndex(descriptor);

            ResponseValidator(createResp);

            var propDesc = new PropertiesDescriptor <ProcessElastic>();

            propDesc.Object <object>(s => s.Name(ProcessElastic.InitObjectMappingName).Dynamic(true));
            var putMappingDesc = new PutMappingDescriptor <ProcessElastic>()
                                 .Index(Constants.SlambyProcessesIndex)
                                 .Dynamic(DynamicMapping.Strict)
                                 .Properties(p => propDesc);
            var mapResp = client.Map <DocumentElastic>(p => putMappingDesc);

            ResponseValidator(mapResp);
        }
예제 #3
0
        public void CreateIndex()
        {
            if (indexQuery.IsExists(Constants.SlambyServicesIndex))
            {
                return;
            }

            var descriptor = new CreateIndexDescriptor(Constants.SlambyServicesIndex);

            descriptor
            .Settings(s => s
                      .NumberOfReplicas(0)
                      .NumberOfShards(1))
            .Mappings(m => m
                      .Map <ServiceElastic>(mm => mm.AutoMap().Dynamic(false))
                      .Map <ClassifierSettingsElastic>(mm => mm.AutoMap().Dynamic(false))
                      .Map <PrcSettingsElastic>(mm => mm.AutoMap().Dynamic(false)));

            var createResp = elasticClientFactory.GetClient().CreateIndex(descriptor);

            ResponseValidator(createResp);
        }
예제 #4
0
        public void CreateIndex()
        {
            if (indexQuery.IsExists(Constants.SlambyFileParserIndex))
            {
                return;
            }

            var descriptor = new CreateIndexDescriptor(Constants.SlambyFileParserIndex);

            descriptor
            .Settings(s => s
                      .NumberOfReplicas(0)
                      .NumberOfShards(1))
            .Mappings(m => m
                      .Map <FileParserElastic>(mm => mm
                                               .Properties(
                                                   p => p.Attachment(desc => desc
                                                                     .Name("content")
                                                                     .FileField(d => d //ContentField
                                                                                .Store(true)
                                                                                .Analyzer("standard"))
                                                                     .ContentTypeField(d => d.Store(true))
                                                                     .ContentLengthField(d => (d as NumberPropertyDescriptor <FileParserElastic>).Store(true))
                                                                     .LanguageField(d => (d as StringPropertyDescriptor <FileParserElastic>).Store(true))
                                                                     .KeywordsField(d => d.Store(true))
                                                                     .AuthorField(d => d.Store(true))
                                                                     .DateField(d => d.Store(true))
                                                                     .TitleField(d => d.Store(true))
                                                                     )
                                                   ))
                      );

            var createResp = elasticClientFactory.GetClient().CreateIndex(descriptor);

            ResponseValidator(createResp);
        }