Esempio n. 1
0
        /// <summary>
        /// DELETE api/indexes/id
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <HttpResponseMessage> Delete(string id)
        {
            var result = await _managementClient.DeleteIndexAsync(id);

            if (!result.IsSuccess)
            {
                return(Request.CreateResponse(result.StatusCode, result));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }
Esempio n. 2
0
 // delete the index.
 public async Task DeleteIndex()
 {
     var result = await managementClient.DeleteIndexAsync(Index);
 }
Esempio n. 3
0
        /// <summary>
        /// インデックス作成
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void button3_Click(object sender, EventArgs e)
        {
            flg = false;


            //前にあったデータは削除
            for (int i = 0; i < fileNames.Length; i++)
            {
                var connection = ApiConnection.Create("datest01", "A53D975119F80AA1D75895645A5234BE");
                var client     = new IndexManagementClient(connection);

                client.DeleteIndexAsync("index" + i).Wait();
                connection.Execute(new ApiRequest("datasources/testcontainer" + i, HttpMethod.Delete), CancellationToken.None).Wait();
                connection.Execute(new ApiRequest("indexers/indexer" + i, HttpMethod.Delete), CancellationToken.None).Wait();

                //データソース設定
                connection.Execute(new ApiRequest("datasources", HttpMethod.Post, new
                {
                    name        = "source" + i,
                    type        = "azureblob",
                    credentials = new { connectionString = "DefaultEndpointsProtocol=https;AccountName=testda01;AccountKey=Yh3sa6UyVcg8puiiBu1EYlesMSJLX45ZFwv0Ws8fxDjCin+5INxmMOBjwN0EaAN0TvFy92gjdfHHmas7lnpEzw==" },
                    container   = new { name = "testcontainer" + i }
                }), CancellationToken.None).Wait();

                if (fileNames[i].Contains(".csv"))
                {
                    //インデックス作成
                    connection.Execute(new ApiRequest("indexes", HttpMethod.Post, new
                    {
                        name   = "index" + i,
                        fields = new List <F>
                        {
                            new F
                            {
                                name       = "metadata_storage_name",
                                type       = "Edm.String",
                                searchable = true,
                                sortable   = true,
                                facetable  = true,
                                filterable = true
                            },

                            new F
                            {
                                name       = "Id",
                                type       = "Edm.String",
                                searchable = true,
                                key        = true
                            },
                            new F
                            {
                                name       = "Name",
                                type       = "Edm.String",
                                searchable = true,
                            },
                            new F
                            {
                                name       = "Age",
                                type       = "Edm.String",
                                searchable = true,
                            }
                        }
                    }), CancellationToken.None).Wait();

                    //インデクサ設定(ヘッダーのみ)
                    connection.Execute(new ApiRequest("indexers", HttpMethod.Post, new
                    {
                        name            = "indexer" + i,
                        dataSourceName  = "source" + i,
                        targetIndexName = "index" + i,
                        parameters      = new
                        {
                            configuration = new
                            {
                                parsingMode = "delimitedText",
                                firstLineContainsHeaders = true
                            }
                        }
                    }), CancellationToken.None).Wait();

                    //インデクサ作成(ヘッダー以外のみ)
                    connection.Execute(new ApiRequest("indexers", HttpMethod.Post, new
                    {
                        name            = "indexer" + i,
                        dataSourceName  = "source" + i,
                        targetIndexName = "index" + i,
                        parameters      = new
                        {
                            configuration = new
                            {
                                parsingMode          = "delimitedText",
                                delimitedTextHeaders = "Id,Name,Age",
                            }
                        }
                    }), CancellationToken.None).Wait();


                    connection.Execute(new ApiRequest("indexers/indexer" + i + "/run", HttpMethod.Post), CancellationToken.None).Wait();
                }

                else
                {
                    //インデックス作成
                    connection.Execute(new ApiRequest("indexes", HttpMethod.Post, new
                    {
                        name   = "index" + i,
                        fields = new List <F>
                        {
                            new F
                            {
                                name       = "metadata_storage_content_md5",
                                type       = "Edm.String",
                                searchable = true,
                                sortable   = true,
                                facetable  = true,
                                filterable = true,
                                key        = true
                            },

                            new F
                            {
                                name       = "metadata_storage_name",
                                type       = "Edm.String",
                                searchable = true,
                                sortable   = true,
                                facetable  = true,
                                filterable = true,
                            },
                            new F
                            {
                                name       = "content",
                                type       = "Edm.String",
                                searchable = true,
                                sortable   = true,
                                facetable  = true,
                                filterable = true
                            }
                        }
                    }), CancellationToken.None).Wait();

                    //インデクサ設定
                    connection.Execute(new ApiRequest("indexers", HttpMethod.Post, new
                    {
                        name            = "indexer" + i,
                        dataSourceName  = "source" + i,
                        targetIndexName = "index" + i,
                    }), CancellationToken.None).Wait();

                    connection.Execute(new ApiRequest("indexers/indexer" + i + "/run", HttpMethod.Post), CancellationToken.None).Wait();
                }
            }


            await Task.Run(() => Thread.Sleep(5000));

            MessageBox.Show("インデックスの設定が終了したよ");

            flg = true;
        }