C# 如何使用NEST.net客户端二进制文件索引
大家好 如何在elasticsearch中建立二进制文件索引是可能的吗?这是我的代码,但错误400可能我认为“PUT/index/_doc/'no id'”我如何发送以添加idC# 如何使用NEST.net客户端二进制文件索引,c#,.net,
elasticsearch,C#,.net,
elasticsearch,大家好 如何在elasticsearch中建立二进制文件索引是可能的吗?这是我的代码,但错误400可能我认为“PUT/index/_doc/'no id'”我如何发送以添加id private static async Task FileIndexingAsync() { var node = new Uri("http://localhost:9200"); var settings = new ConnectionSetting
private static async Task FileIndexingAsync()
{
var node = new Uri("http://localhost:9200");
var settings = new ConnectionSettings(node);
var client = new ElasticClient(settings);
var fileName = "328c1ca988554b21874fe43fa16335d0.bin";
string path = "C:\\documents\\ETC\\connectorData\\"+ fileName;
Byte[] bytes = File.ReadAllBytes(path);
String base64FileContent = Convert.ToBase64String(bytes);
Debug.WriteLine("base64FileContent : " + base64FileContent);
string pk = Guid.NewGuid().ToString("N");
var binary = new[]
{
new binary
{
Id = pk,
name = fileName,
blob =base64FileContent
}
};
var response = await client.IndexAsync(binary, idx => idx.Index("test_binary"));
Debug.WriteLine("FileIndexingAsync : "+ response);
}
我不得不问:为什么要这样做?在ES中存储任意二进制文件似乎不是一个好主意。我的老板想知道elasticsearch是否可以取代PostgreSQL,所以我尝试了这段代码,我说elasticsearch不能,但他想知道为什么不能