【问题标题】:Using Elasticsearch Nest 7.x to query 5.x index使用 Elasticsearch Nest 7.x 查询 5.x 索引
【发布时间】:2021-05-02 12:44:44
【问题描述】:

我有一个使用 Nest 7.x 的项目,我需要对旧的 5.x 弹性搜索索引进行查询。当我这样拨打电话时,我收到以下错误。我猜这是由于映射类型在版本 6 及更高版本中发生了变化。有什么办法可以查询旧索引吗?

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

从成功的 (404) 低级别调用构建的无效 NEST 响应 获取:/myindex/_doc/15437 请求: 响应:{"_index":"2020-01-13","_type":"_doc","_id":"15437","found":false}

【问题讨论】:

  • 是不是因为索引中的_type不是_doc

标签: elasticsearch 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"))
                        )
                    )
                )
            )

【讨论】:

    猜你喜欢
    • 2017-04-04
    • 1970-01-01
    • 1970-01-01
    • 2019-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-07
    • 2018-07-08
    相关资源
    最近更新 更多