欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot集成es插入和查詢的簡單使用示例詳解

 更新時(shí)間:2023年08月30日 11:50:10   作者:橙橙愛學(xué)習(xí)  
這篇文章主要介紹了springboot集成es 插入和查詢的簡單使用,本文分步驟結(jié)合示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

第一步:引入依賴

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
            <version>2.2.5.RELEASE</version>
        </dependency>

第二步:配置yml文件,在spring下面加上這個(gè)

  elasticsearch:
    rest:
      # ip是服務(wù)器ip地址
      uris: http://127.0.0.1:9200

然后啟動(dòng)項(xiàng)目,看到出現(xiàn)這個(gè)就是成功了

第三步: 創(chuàng)建一個(gè)常量類,用于存儲我們一會(huì)兒要用到的名稱

public class OrderEs {
    public static final String INDEX_NAME = "order_index";
    public static final String ID = "id";
    public static final String ORDER_NO = "order_no";
    public static final String ORDER_BUYER = "order_buyer";
    public static final String ORDER_PHONE = "order_phone";
    public static final String REAL_PAY = "real_pay";
    public static final String ACCOUNT = "account";
}

第四步:創(chuàng)建Es實(shí)體類,注意要加上@Document注解

@Document(indexName = OrderEs.INDEX_NAME)
@Data
public class OrderEsPO {
    @Id
    @Field(type = FieldType.Keyword,name = OrderEs.ID)
    private String id;
    @Field(type = FieldType.Keyword,name = OrderEs.ORDER_NO)
    private String orderNo;
    @Field(type = FieldType.Keyword,name = OrderEs.ORDER_BUYER)
    private String orderBuyer;
    @Field(type = FieldType.Keyword,name = OrderEs.ORDER_PHONE)
    private String orderPhone;
    @Field(type = FieldType.Keyword,name = OrderEs.REAL_PAY)
    private String realPay;
    @Field(type = FieldType.Keyword,name = OrderEs.ACCOUNT)
    private String account;
}

第五步:寫測試接口,這里展示了插入和查詢兩個(gè)方法

@RestController
@RequestMapping("/order")
@CrossOrigin
public class OrderController 
    @Resource
    private ElasticsearchRestTemplate elasticsearchRestTemplate;
    /**
     * es插入
     *
     * @return {@link String}
     */
    @GetMapping("/esinsert")
    @Transactional
    public String esInsert(){
        OrderEsPO orderEsPO = new OrderEsPO();
        orderEsPO.setOrderNo("1234455");
        orderEsPO.setOrderBuyer("張三");
        orderEsPO.setOrderPhone("13191892075");
        orderEsPO.setRealPay("100000");
        orderEsPO.setAccount("1008611");
        elasticsearchRestTemplate.save(orderEsPO);
        return "success";
    }
    /**
     * es搜索
     *
     * @param orderEsPO 訂單es參數(shù)
     * @return {@link String}
     */
    @GetMapping("/essearch")
    @Transactional
    public String esSearch(OrderEsPO orderEsPO){
        /**構(gòu)造查詢對象**/
        BoolQueryBuilder booleanQueryBuilder = QueryBuilders.boolQuery();
        /**編寫查詢條件**/
        booleanQueryBuilder.should(QueryBuilders.termQuery(OrderEs.ORDER_NO,orderEsPO.getOrderNo()));
        /**構(gòu)造query對象**/
        NativeSearchQuery nativeSearchQuery = new NativeSearchQuery(booleanQueryBuilder);
        /**搜索**/
        SearchHits<OrderEsPO> search = elasticsearchRestTemplate.search(nativeSearchQuery, OrderEsPO.class, IndexCoordinates.of(OrderEs.INDEX_NAME));
        List<OrderEsPO> collect = search.getSearchHits().stream().map(SearchHit::getContent).collect(Collectors.toList());
        return collect.toString();
    }
}

然后我們啟動(dòng)項(xiàng)目,先調(diào)用插入接口,由于這個(gè)索引一開始是不存在的,第一次調(diào)用后會(huì)默認(rèn)創(chuàng)建索引,然后打開我們的可視化界面,就能看到這里的索引

 再調(diào)用查詢,就能看到如下信息了

 說明兩個(gè)接口都能被調(diào)用成功,es的簡單使用就完成了

到此這篇關(guān)于springboot集成es 插入和查詢的簡單使用的文章就介紹到這了,更多相關(guān)springboot集成es 查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 在Java中int和byte[]的相互轉(zhuǎn)換

    在Java中int和byte[]的相互轉(zhuǎn)換

    這篇文章主要介紹了在Java中int和byte[]的相互轉(zhuǎn)換的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • Java中indexOf函數(shù)示例詳解

    Java中indexOf函數(shù)示例詳解

    Java String 類的 indexOf() 方法返回指定字符串中指定字符或字符串第一次出現(xiàn)的位置,這篇文章主要介紹了Java中indexOf函數(shù)詳解,需要的朋友可以參考下
    2024-01-01
  • IDEA如何讓控制臺自動(dòng)換行

    IDEA如何讓控制臺自動(dòng)換行

    本文介紹了如何在IDEA中設(shè)置控制臺自動(dòng)換行,具體步驟為:File -> Settings -> Editor -> General -> Console,然后勾選"Use soft wraps in console"選項(xiàng)
    2025-01-01
  • 理解Java多線程之并發(fā)編程

    理解Java多線程之并發(fā)編程

    這篇文章主要介紹了理解Java多線程之并發(fā)編程的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • Java特性隊(duì)列和棧的堵塞原理解析

    Java特性隊(duì)列和棧的堵塞原理解析

    這篇文章主要介紹了Java特性隊(duì)列和棧的堵塞原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Springboot自定義banner及驗(yàn)證過程

    Springboot自定義banner及驗(yàn)證過程

    這篇文章主要介紹了Springboot自定義banner及驗(yàn)證過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Maven中的SnapShot版本和正式版本的區(qū)別

    Maven中的SnapShot版本和正式版本的區(qū)別

    在Nexus倉庫中,一個(gè)倉庫一般分為public(Release)倉和SNAPSHOT倉,本文詳細(xì)的介紹了SnapShot版本和正式版本的區(qū)別,感興趣的可以了解一下
    2021-06-06
  • Spring session 獲取當(dāng)前賬戶登錄數(shù)的實(shí)例代碼

    Spring session 獲取當(dāng)前賬戶登錄數(shù)的實(shí)例代碼

    這篇文章主要介紹了Spring session 獲取當(dāng)前賬戶登錄數(shù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-04-04
  • Java Set集合及其子類HashSet與LinkedHashSet詳解

    Java Set集合及其子類HashSet與LinkedHashSet詳解

    這篇文章主要介紹了Java Set集合及其子類HashSet與LinkedHashSet詳解,文章通過Set集合存儲原理展開文章主題相關(guān)介紹,感興趣的小伙伴可以參考一下
    2022-06-06
  • Java獲取文件路徑常用方法解析

    Java獲取文件路徑常用方法解析

    這篇文章主要介紹了Java獲取文件路徑常用方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09

最新評論