es增删改查api

package com.curtao.company.coordinate.tesk;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.antfact.oplate.util.http.HttpClientService;
import com.curtao.company.coordinate.config.CompanyPersistenceContents;
import com.curtao.company.coordinate.config.EsClientInit;
import com.curtao.company.coordinate.entity.CompanyDTO;
import com.curtao.company.coordinate.entity.gaode.Gaode;
import com.curtao.company.coordinate.entity.gaode.Geocode;
import com.curtao.company.coordinate.model.CompanyBaseInfo;
import com.curtao.company.coordinate.utils.BaseUtilCompany;
import com.curtao.company.coordinate.utils.HttpRequest;
import org.apache.commons.lang.StringUtils;
import org.elasticsearch.action.delete.DeleteResponse;
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.action.support.WriteRequest;
import org.elasticsearch.action.update.UpdateRequestBuilder;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentFactory;
import org.elasticsearch.common.xcontent.XContentType;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.Scroll;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.cassandra.core.CassandraTemplate;
import org.springframework.data.cassandra.core.query.Query;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;

import static org.springframework.data.cassandra.core.query.Criteria.where;

/**
 * <p>功能描述</p>
 *

 * @date 2021/5/12 17:00
 */
@RequestMapping("/v1")
@RestController
public class UpdateCompanyCoordubateTask {
    private static final Logger LOGGER = LoggerFactory.getLogger(UpdateCompanyCoordubateTask.class);
    //日最大查询数量
    private static final int daySize=10000000;
    @Autowired
    private CassandraTemplate template;
    @Autowired
    private EsClientInit esClientInitProduce;
    @Autowired
    private TransportClient client;
    @Value(value = "${gaode.url}")
    private String gaodeUrl;
    @Value(value = "${gaode.key}")
    private String gaodeKey;
    @Autowired
    private HttpClientService httpService;

    @RequestMapping(value = "/get", method = RequestMethod.GET, produces = "application/json")
    public void handleCompanyInfo() {
        LOGGER.info("--->>查询库内公司信息:");
        getCompanyInfo();
    }

    private void getCompanyInfo() {
        try {
			//es增加
            CompanyBaseInfo companyBaseInfo10=new CompanyBaseInfo();
            companyBaseInfo10.setId("ffffff123456789");
            companyBaseInfo10.setName("公司");
            IndexResponse indexResponse = client
                    .prepareIndex(CompanyPersistenceContents.COMPANYINDEX_NEW
                            ,CompanyPersistenceContents.COMPANYBASEINFO,companyBaseInfo10.getId()).setSource(JSON.toJSONString(companyBaseInfo10)
                            , XContentType.JSON).get();


            System.err.println();
            System.err.println(); System.err.println();
            System.err.println();


			//es修改
            CompanyDTO companyDTO2=new CompanyDTO();
            companyDTO2.setId("ffffff123456789");
            companyDTO2.setCity("济南");
            companyDTO2.setLatitude("123.456");
            UpdateRequestBuilder updateRequestBuilder12=client.prepareUpdate(CompanyPersistenceContents.COMPANYINDEX_NEW,
                    CompanyPersistenceContents.COMPANYBASEINFO,companyDTO2.getId());
            updateRequestBuilder12.setDoc(JSON.parseObject(JSON.toJSONString(companyDTO2)));
            updateRequestBuilder12.execute().actionGet();
            System.err.println();
            System.err.println(); System.err.println();
            System.err.println();
            //查询未更新坐标数据
            BoolQueryBuilder boolQuery10 = QueryBuilders.boolQuery();
            //es查询
            boolQuery10.must(QueryBuilders.termQuery("id",companyBaseInfo10.getId()));
            final Scroll scroll10 = new Scroll(TimeValue.timeValueMinutes(100));
            SearchResponse response10= esClientInitProduce.getServer().get()
                    .prepareSearch()
                    .setIndices(CompanyPersistenceContents.COMPANYINDEX_NEW)
                    .setTypes(CompanyPersistenceContents.COMPANYBASEINFO)
                    .setScroll(scroll10)
                    .setQuery(boolQuery10).get();
            List<CompanyBaseInfo> logs10 = BaseUtilCompany.tanslateResponse(response10, CompanyBaseInfo.class);
            System.err.println();
            System.err.println();


 			//es删除
            DeleteResponse response2 = client.prepareDelete(CompanyPersistenceContents.COMPANYINDEX_NEW,
                    CompanyPersistenceContents.COMPANYBASEINFO,
                    companyBaseInfo10.getId()).get();
            System.err.println();
            System.err.println();
            int a=0;
            if (a==0){
                return;
            }     
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值