springboot的esApi如何进行ES两个索引关联查询

索引1:字段A,字段B
索引2:字段C,字段D(日期)

提问:springboot集成ES,如何用ElasticsearchOperations关联查询两个索引,结果返回索引1的数据
要求:字段A=字段C AND 字段D >'20230101'


@Document(indexName = "index1")
public class Index1Entity {
    @Id
    private String id;
    private String fieldA;
    private String fieldB;

    // getters and setters
}

@Document(indexName = "index2")
public class Index2Entity {
    @Id
    private String id;
    private String fieldC;
    private Date fieldD;

    // getters and setters
}



@Autowired
private ElasticsearchOperations elasticsearchOperations;


Criteria criteria = new Criteria("fieldA").is("fieldC")
        .and(new Criteria("fieldD").greaterThan(parseDate("20230101")));

// Utility method to parse the date
private Date parseDate(String dateString) {
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
    try {
        return dateFormat.parse(dateString);
    } catch (ParseException e) {
        throw new IllegalArgumentException("Invalid date format: " + dateString);
    }
}


SearchQuery searchQuery = new NativeSearchQueryBuilder()
        .withQuery(criteria)
        .build();

List<Index1Entity> results = elasticsearchOperations.queryForList(searchQuery, Index1Entity.class);
```java



```

@ada;@ada;