提问者:小点点

使用Elasticsearch Nest 7. x查询5.x索引


我有一个使用Nest 7. x的项目,我需要对较旧的5.x elasticsearch索引进行查询。当我进行这样的调用时,我收到以下错误。我猜这是由于映射类型在版本6及更高版本中的更改。有什么方法可以查询较旧的索引吗?

var result = _elasticClient.GetAsync<Category>(id)

从GET: /myindex/_doc/15437请求上的成功(404)低级调用构建的无效NEST响应:


共1个答案

匿名用户

作为一种变通方法,我这样做了,看起来很有效。不确定是否有更好的解决方案?

var response = _elasticClient.SearchAsync<Category>(s => s
                .Query(q => q
                    .Bool(b => b
                        .Must(
                            bs => bs.Term(p => p.Id, id),
                            bs => bs.Term(p => p.Field("_type").Value("category"))
                        )
                    )
                )
            )