ElasticSearch - 使用NEST使用正斜杠插入索引

时间:2018-03-27 09:01:29

标签: c# elasticsearch nest

我目前正在调查使用ElasticSearch。我一直在关注他们的指南,并使用Kibana上的开发工具进行一些测试,看起来很简单。

使用REST API我可以通过向/recipes发送POST请求来索引文档,我也可以通过将其发送到/recipes/cakes来索引它,但我现在无法通过复制此行为进行索引NEST客户。

我正在尝试批量插入,如果我只指定recipes

,它可以正常工作

client.IndexMany(docs, "/recipes");

在我看来能够做到这一点是有道理的:

client.IndexMany(docs, "/recipes/cakes");

然而,这会引发错误:Invalid NEST response built from a successful low level call on POST: /recipes%2Fcakes/_bulk

我可以看到问题是因为它是对/进行网址编码,那么在其中使用带有/的索引的正确方法是什么?我似乎无法在任何地方找到答案。

1 个答案:

答案 0 :(得分:0)

似乎我错误地认为这些路径是如何工作的,我认为你可以有几个级别,例如/recipes/cakes/chocolate,但这实际上是插入一个索引recipes的文档,类型{{1 }和cakes的ID。

因此,我可以通过使用IndexMany方法中的下一个参数(chocolate)来实现我的目标:

TypeName type