ElasticSearch父子文档关系,根据id查询子文档报错,org.elasticsearch.action.RoutingMissingException

主要是因为建立父子文档关系时,mapping设置了
"_routing" : {
"required" : true
}
这时,单独根据id查询子文档就会报错,加上routing就可以了,例:
/**
     * select高管。
     */
    @RequestMapping("/seepeople")
    public Result seepeople(@RequestParam(defaultValue = "index") String index,
                            @RequestParam(defaultValue = "") String type,
                                @RequestParam(defaultValue = "") String id,
                                @RequestParam(defaultValue = "") String routing,
                                @RequestParam(defaultValue = "") String viewfield ) {
        SearchResponse searchResponse = null;
        ArrayList alt = new ArrayList();
        SearchRequestBuilder builder = ESTools.client.prepareSearch(index).setTypes(type);
        builder.setFetchSource(viewfield,"");
          QueryBuilder qb = QueryBuilders.matchQuery("_id",id);
        builder.setQuery(qb);
        builder.setRouting(routing);
        searchResponse = builder.get();
        for(SearchHit hit: searchResponse.getHits().getHits()) {
            alt.add(hit.getSource());

        }

        return ResultGenerator.genSuccessResult(alt);
    }

未经允许不得转载:高腾蛟 » ElasticSearch父子文档关系,根据id查询子文档报错,org.elasticsearch.action.RoutingMissingException

赞 (0)
分享到:更多 ()

相关推荐

    暂无内容!

评论 0

评论前必须登录!

登陆 注册