0

我已经使用 TypeMapping 在我的代码中指定了文档映射,在索引时我开始看到以下异常

{"error":"RoutingMissingException[[search2]/[ImageDocument]/[2039810546]]需要路由","status":500}

而且在指定类型映射时,我没有找到任何方法来使用 NEST 指定路由!任何线索我们在索引时或映射时在哪里指定路由参数?

4

2 回答 2

1

我们可以在索引时使用 IndexParameters 参数并指定路由

        IndexParameters indexParams = new IndexParameters() { Routing = "id" };
        var resp = ConnectedClient.Index(doc, "IndexName", "typeName", id, indexParams);
于 2012-11-16T23:00:39.563 回答
0

在 NEST v2.4 中,您可以使用 selector 参数来指定路由。

public IIndexResponse Index<T>(T @object, Func<IndexDescriptor<T>, IIndexRequest> selector = null) where T : class;

并像这样使用它:

var routingId = 1;
var resp = client.Index(doc, r => r.Routing(routingId));
于 2016-09-19T13:52:47.350 回答