我正在尝试将JSON放置到ElasticSearch api中,以尝试将文档索引/插入到现有索引中,但是我找不到任何实际可用的代码示例。我看过httpClient,httpWebRequests和弹性.net插件-NEST。
在Postman之类的工具中,一切正常。以下内容将如何转换为C#?
以下是我要在ARC(高级Rest客户端)中进行放置的示例:
答案 0 :(得分:1)
像这样?
public void PutAPI(string basicAuth, string json)
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("authorization", $"Basic {basicAuth}");
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var response = client.PutAsync("https://mydankapi.com/v1/put", new StringContent(json, Encoding.UTF8, "application/json")).Result;
if (!response.IsSuccessStatusCode)
throw new Exception(response.ReasonPhrase);
}
}
答案 1 :(得分:0)
为什么NEST不能满足您的要求?根据他们的Getting Started - Indexing,您可以像这样对文档建立索引:
var tweet = new Tweet
{
Id = 1,
User = "kimchy",
PostDate = new DateTime(2009, 11, 15),
Message = "Trying out NEST, so far so good?"
};
var response = client.Index(tweet, idx => idx.Index("mytweetindex")); //or specify index via settings.DefaultIndex("mytweetindex");
您所要做的就是为您的文档类型(DataMetadata
?)创建POCO类,然后将索引名称设置为data_metadata
。