es动态index查询

运行时设定index

配置文件

es.index.name=demo

配置bean

    @Value("${es.index.name}")
    String indexName;

    @Bean
    public String indexName(){
        return indexName;
    }

配置domain

@Document(indexName="#{@indexName}", type = "log")

dao

public interface DemoDao extends ElasticsearchRepository<Demo,String>{
    Page<Demo> findByApp(String app, Pageable pageable);
}

好处是运行时可以指定,但是无法动态查询不同index的

动态参数

    @Autowired
    ElasticsearchTemplate elasticsearchTemplate;
    
    public void demo(String index,String type,String app,Pageable page){
        MatchQueryBuilder matchQueryBuilder = new MatchQueryBuilder("app",app);
        SearchQuery query = new NativeSearchQueryBuilder()
                .withIndices(index)
                .withTypes(type)
                .withQuery(matchQueryBuilder)
                .withPageable(page)
                .build();
        Page<Demo> data = elasticsearchTemplate.queryForPage(query,Demo.class);
    }
    

doc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值