class ElasticSearchRowModeStrategy extends AbstractThingDataRepositoryStrategy {

    private final ThingsRegistry registry;
    private final ElasticSearchService searchService;
    private final AggregationService aggregationService;
    private final ElasticSearchIndexManager indexManager;

    @Override
    public String getId() {
        return "default-row";
    }

    @Override
    public String getName() {
        return "ElasticSearch-行式存储";
    }

    @Override
    public SaveOperations createOpsForSave(OperationsContext context) {
        return new ElasticSearchRowModeSaveOperations(
            registry,
            context.getMetricBuilder(),
            context.getSettings(),
            searchService);
    }

    @Override
    protected QueryOperations createForQuery(String thingType, String templateId, String thingId, OperationsContext context) {
        return new ElasticSearchRowModeQueryOperations(
            thingType,
            templateId,
            thingId,
            context.getMetricBuilder(),
            context.getSettings(),
            registry,
            searchService,
            aggregationService);
    }

    @Override
    protected DDLOperations createForDDL(String thingType, String templateId, String thingId, OperationsContext context) {<FILL_FUNCTION_BODY>}

    @Override
    public int getOrder() {
        return 10000;
    }
}

        return new ElasticSearchRowModeDDLOperations(
            thingType,
            templateId,
            thingId,
            context.getSettings(),
            context.getMetricBuilder(),
            indexManager);
    
<methods>public non-sealed void <init>() ,public abstract org.jetlinks.community.things.data.operations.SaveOperations createOpsForSave(org.jetlinks.community.things.data.ThingsDataRepositoryStrategy.OperationsContext) ,public final org.jetlinks.community.things.data.operations.TemplateOperations opsForTemplate(java.lang.String, java.lang.String, org.jetlinks.community.things.data.ThingsDataRepositoryStrategy.OperationsContext) ,public final org.jetlinks.community.things.data.operations.ThingOperations opsForThing(java.lang.String, java.lang.String, java.lang.String, org.jetlinks.community.things.data.ThingsDataRepositoryStrategy.OperationsContext) <variables>