public ManagementData getById(String modelName, String id) throws IOException {
        if (StringUtil.isEmpty(id)) {
            return null;
        }
        final String index =
            IndexController.LogicIndicesRegister.getPhysicalTableName(modelName);
        final String docId = IndexController.INSTANCE.generateDocId(modelName, id);
        final SearchBuilder search =
            Search.builder().query(Query.ids(docId)).size(1);
        final SearchResponse response = getClient().search(index, search.build());

        if (response.getHits().getHits().size() > 0) {

            SearchHit data = response.getHits().getHits().get(0);
            return storageBuilder.storage2Entity(new ElasticSearchConverter.ToEntity(modelName, data.getSource()));
        }
        return null;
    }
@param modelName the name of the model
@param id       the id of the data
@return null if not found
@throws IOException if any IO exception occurred
oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/base/ManagementCRUDEsDAO.java