Ejemplo n.º 1
0
        public void Helper()
        {
            var node     = new Uri("http://myserver:9200");
            var settings = new ConnectionSettings(node);
            var client   = new ElasticClient(settings);

            var settings2 = new ConnectionSettings()
                            .DefaultIndex("defaultindex");

            //创建索引
            var descriptor = new CreateIndexDescriptor("db_student")
                             .Settings(s => s.NumberOfShards(5).NumberOfReplicas(1));

            client.CreateIndex(descriptor);


            //删除索引
            var descriptor2 = new DeleteIndexDescriptor("db_student").Index("db_student");

            client.DeleteIndex(descriptor2);

            //删除指定索引所在节点下的所有索引
            var descriptor3 = new DeleteIndexDescriptor("db_student").AllIndices();


            var descriptor4 = new CreateIndexDescriptor("db_student")
                              .Settings(s => s.NumberOfShards(5).NumberOfReplicas(1))
                              .Mappings(ms => ms
                                        .Map <Student>(m => m.AutoMap()));

            client.CreateIndex(descriptor4);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 删除指定索引所在节点下的所有索引
 /// </summary>
 /// <param name="indexName">Index索引名称</param>
 /// <returns>是否删除成功</returns>
 public bool DeleteIndexAll(string indexName)
 {
     if (this.IndexExists(indexName))
     {
         var descriptor = new DeleteIndexDescriptor("db_student").AllIndices();
         elasticClient.DeleteIndex(descriptor);
     }
     return(this.IndexExists(indexName));
 }
Ejemplo n.º 3
0
 /// <summary>
 /// 删除索引
 /// </summary>
 /// <param name="indexName">Index索引名称</param>
 /// <returns>是否删除成功</returns>
 public bool DeleteIndex(string indexName)
 {
     if (this.IndexExists(indexName))
     {
         var descriptor = new DeleteIndexDescriptor(indexName).Index(indexName);
         elasticClient.DeleteIndex(descriptor);
     }
     return(this.IndexExists(indexName));
 }
Ejemplo n.º 4
0
        public override async Task DestroyAsync(CancellationToken cancellationToken)
        {
            // The request.
            IDeleteIndexRequest request = new DeleteIndexDescriptor(Indices.Index <T>());

            // Delete and return the response.
            IDeleteIndexResponse response = await ElasticClient
                                            .DeleteIndexAsync(request, cancellationToken).ConfigureAwait(false);

            // If it failed, throw an exception.
            response.ThrowIfError();
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 删除单个或多个索引(如果多个索引中有不存在的索引,执行失败)
        /// </summary>
        public bool DeleteIndexes(IEnumerable <string> indexes)
        {
            AssertIndexes(indexes);

            var result = false;

            this.Using((client) =>
            {
                string indexsString = string.Join(",", indexes);
                var descriptor      = new DeleteIndexDescriptor(indexsString);
                result = client.DeleteIndex(descriptor).Acknowledged;
            });

            return(result);
        }