elasticsearch 索引的基本操作

elasticsearch 索引的基本操作

简介

本次操作以TransportClient的Java API操作
    private TransportClient client = TransportClientFactory.getInstance().getTransportClient();

    /**
     *判断索引是否存在
     * @param index
     * @return
     */
    public boolean isIndexExist(String index) {
        return client.admin().indices().prepareExists(index).execute().actionGet().isExists();
    }


    /**
     * 新增索引
     * @param index
     * @return
     */
    public boolean addIndex(String index) {
        return isIndexExist(index)
                ? false
                : client.admin().indices().prepareCreate(index).execute().actionGet().isAcknowledged();
    }

    /**
     *
     * 删除索引
     * @param index
     * @return
     */
    public boolean deleteIndex(String index) {
        return isIndexExist(index)
                ? client.admin().indices().prepareDelete(index).execute().actionGet().isAcknowledged()
                : false;
    }

    /**
     * 判断inde下指定type是否存在
     * @param index
     * @param type
     * @return
     */
    public boolean isTypeExist(String index, String type) {
        return isIndexExist(index)
                ? client.admin().indices().prepareTypesExists(index).setTypes(type).execute().actionGet().isExists()
                : false;
    }

        /**
     * 获取索引的所有数据,返回前size条
     * @param index 索引
     * @param size 返回多少条明细
     * @return SearchHits
     */
    public SearchHits matchAllQuery(String index, int size) {
        QueryBuilder query = QueryBuilders.matchAllQuery();
        SearchResponse response = client.prepareSearch(index).setQuery(query).setSize(size).execute().actionGet();
//        for (SearchHit searchHit : response.getHits()) {
//            String jsonStr = searchHit.getSourceAsString();
//            System.out.println(jsonStr);
//        }
        return response.getHits();
    }

欢迎关注我公众号:

发表回复

您的电子邮箱地址不会被公开。

粤ICP备17041560号-2