<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Es-SpringData

      String-Data

      1. 創(chuàng)建項(xiàng)目,設(shè)置包名com.cn.es
      2. 引入pom依賴
      <?xml version="1.0" encoding="UTF-8"?>
      <project xmlns="http://maven.apache.org/POM/4.0.0"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
          <modelVersion>4.0.0</modelVersion>
      
          <groupId>com.cn.es</groupId>
          <artifactId>es-spring</artifactId>
          <version>1.0</version>
      
          <parent>
              <artifactId>spring-boot-starter-parent</artifactId>
              <groupId>org.springframework.boot</groupId>
              <version>2.3.6.RELEASE</version>
              <relativePath/>
          </parent>
      
          <properties>
              <maven.compiler.source>8</maven.compiler.source>
              <maven.compiler.target>8</maven.compiler.target>
          </properties>
      
          <dependencies>
              <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-starter-test</artifactId>
                  <scope>test</scope>
              </dependency>
              <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
              </dependency>
              <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-devtools</artifactId>
                  <scope>runtime</scope>
                  <optional>true</optional>
              </dependency>
              <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-test</artifactId>
              </dependency>
              <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot</artifactId>
              </dependency>
              <dependency>
                  <groupId>junit</groupId>
                  <artifactId>junit</artifactId>
                  <scope>test</scope>
              </dependency>
              <dependency>
                  <groupId>org.springframework.boot</groupId>
                  <artifactId>spring-boot-autoconfigure</artifactId>
                  <version>2.7.13</version>
              </dependency>
              <dependency>
                  <groupId>org.projectlombok</groupId>
                  <artifactId>lombok</artifactId>
              </dependency>
          </dependencies>
      
      </project>
      
      
      

      創(chuàng)建application.properties

      #esIP地址
      elasticsearch.host=127.0.0.1
      #es端口號碼
      elasticsearch.port=9200
      #設(shè)置日志級別為debug
      logging.level.com.cn.es=debug
      
      

      創(chuàng)建啟動(dòng)類

      package com.cn.es;
      
      import org.springframework.boot.SpringApplication;
      import org.springframework.boot.autoconfigure.SpringBootApplication;
      
      @SpringBootApplication
      public class SpringDataEsMainApplication {
      
          public static void main(String[] args) {
              SpringApplication.run(SpringDataEsMainApplication.class,args);
          }
      
      }
      
      

      創(chuàng)建ES的配置類

      package com.cn.es.config;
      
      import lombok.Data;
      import org.apache.http.HttpHost;
      import org.elasticsearch.client.RestClient;
      import org.elasticsearch.client.RestClientBuilder;
      import org.elasticsearch.client.RestHighLevelClient;
      import org.springframework.boot.context.properties.ConfigurationProperties;
      import org.springframework.context.annotation.Configuration;
      import org.springframework.data.elasticsearch.config.AbstractElasticsearchConfiguration;
      
      @Data
      @ConfigurationProperties(prefix = "elasticsearch")
      @Configuration
      public class ElasticsearchConfig extends AbstractElasticsearchConfiguration {
          private String host ;
          private Integer port ;
      
          @Override
          public RestHighLevelClient elasticsearchClient() {
              RestClientBuilder builder = RestClient.builder(new HttpHost(host, port));
              RestHighLevelClient restHighLevelClient = new RestHighLevelClient(builder);
              return restHighLevelClient;
          }
      }
      
      

      創(chuàng)建實(shí)體類

      package com.cn.es.domain;
      
      import lombok.AllArgsConstructor;
      import lombok.Data;
      import lombok.NoArgsConstructor;
      import lombok.ToString;
      import org.springframework.data.annotation.Id;
      import org.springframework.data.elasticsearch.annotations.Document;
      import org.springframework.data.elasticsearch.annotations.Field;
      import org.springframework.data.elasticsearch.annotations.FieldType;
      
      @Data
      @AllArgsConstructor
      @NoArgsConstructor
      @ToString
      @Document(indexName = "product",shards = 3,replicas = 1)
      public class Product {
      
          @Id
          private Long id;//商品唯一標(biāo)識
          @Field(type = FieldType.Text)
          private String title;//商品名稱
          //不做分詞處理
          @Field(type = FieldType.Keyword)
          private String category;//分類名稱
          @Field(type = FieldType.Double)
          private Double price;//商品價(jià)格
          //不做分詞處理,不做索引關(guān)聯(lián),不能通過索引路徑查詢
          @Field(type = FieldType.Keyword,index = false)
          private String images;//圖片地址
      
      }
      
      

      創(chuàng)建DAO層

      package com.cn.es.dao;
      
      import com.cn.es.domain.Product;
      import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
      import org.springframework.stereotype.Repository;
      
      @Repository
      public interface ProductDao extends ElasticsearchRepository<Product,Long> {
      
      }
      
      

      創(chuàng)建test類查詢:

      package com.cn.es.test;
      
      import com.cn.es.dao.ProductDao;
      import com.cn.es.domain.Product;
      import org.junit.Test;
      import org.junit.runner.RunWith;
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.boot.test.context.SpringBootTest;
      import org.springframework.test.context.junit4.SpringRunner;
      
      import java.util.ArrayList;
      import java.util.List;
      
      @RunWith(SpringRunner.class)
      @SpringBootTest
      public class SpringDataProductDaoTest {
      
          @Autowired
          private ProductDao productDao;
      
          /**
           * 添加任務(wù)
           */
          @Test
          public void save () {
              Product product = new Product();
              product.setId(2L);
              product.setTitle("華為手機(jī)");
              product.setCategory("手機(jī)");
              product.setPrice(2999.0);
              product.setImages("http://hw.jpg");
              productDao.save(product);
          }
      
          //相同id就是更新
          @Test
          public void update () {
              Product product = new Product();
              product.setId(2L);
              product.setTitle("小米手機(jī)");
              product.setCategory("手機(jī)");
              product.setPrice(29999.0);
              product.setImages("http://xm.jpg");
              productDao.save(product);
          }
      
      
          @Test
          public void findById(){
              Product product = productDao.findById(2L).get();
              System.out.println(product);
          }
      
      
          @Test
          public void findAll(){
              Iterable<Product> products = productDao.findAll();
              for (Product product : products)
              {
                  System.out.println(product);
              }
          }
      
          @Test
          public void delete(){
             Product product=new Product();
             product.setId(1L);
             productDao.delete(product);
          }
      
      
          //批量新增
          @Test
          public void saveAll(){
              List<Product> productList = new ArrayList<>();
              for (int i = 0; i < 10; i++) {
                  Product product = new Product();
                  product.setId(Long.valueOf(i));
                  product.setTitle("[" + i + "]小米手機(jī)");
                  product.setCategory("手機(jī)");
                  product.setPrice(1999.0 + i);
                  product.setImages("http://www.xm.jpg");
                  productList.add(product);
              }
          }
          
          
      /**
      term查詢
      search(termQueryBuilder)調(diào)用搜索方法,參數(shù)查詢構(gòu)建器對象
      */
      
      @Test
      public void termQuery(){
          
          TermQueryBuilder termQueryBuilder=QueryBuilders.termsQuery("title","小米");
          Iterable<Product> pros = productDao.search(termQueryBuilder);
          for(Product product:pros){
              System.out,printLn(product);
          }
          
      }
          
          
          
          
      /**
      term查詢,分頁查詢
      */
      @Test
      public void termQueryByPage(){
          int currentPage=0;
          int pageSize=5;
          //設(shè)置查詢分頁
          PageRequest pageRequest = PageRequest.of(currentPage,pageSize);
          TermQueryBuilder termQueryBuilder = QueryBuilders.termsQuery("category","小米");
          Iterable<Product> pros = productDao.search(termQueryBuilder,pageRequest);
          for(Product product:pros){
              System.out,println(product);
          }
          
      }
      
      
      }
      
      
      
      

      posted @ 2024-06-25 21:17  赤葉秋楓  閱讀(25)  評論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 亚洲鸥美日韩精品久久| 亚洲天堂一区二区成人在线| 99re在线视频观看| 亚洲精品乱码久久久久久蜜桃图片| 色成人亚洲| 亚洲国产精品久久久久婷婷图片| 国产精品无码a∨麻豆| 色综合久久夜色精品国产| 津南区| 国产第一页浮力影院入口| 高清免费毛片| 国产AV巨作丝袜秘书| 精品国产乱码久久久久app下载| 香蕉亚洲欧洲在线一区| 欧美人与动牲交精品| 天等县| 亚洲综合日韩av在线| 日韩一区二区三区日韩精品| 无码精品人妻一区二区三李一桐| 十八禁国产一区二区三区| 99国产精品99久久久久久 | 中年国产丰满熟女乱子正在播放 | 久久精品免视看国产成人| 福利一区二区不卡国产| 丝袜人妻一区二区三区网站| 欧美激情内射喷水高潮| 狠狠色丁香婷婷久久综合五月| 亚洲综合一区二区三区不卡| 最新国产精品亚洲| 天天做日日做天天添天天欢公交车 | 欧美成人aaa片一区国产精品| av一区二区中文字幕| 欧美人成在线播放网站免费| 亚洲国产精品嫩草影院久久 | 精品午夜福利短视频一区| 国产69精品久久久久99尤物| 免费人成网站免费看视频| 久青草精品视频在线观看| 国产精品一二三区蜜臀av| 内射视频福利在线观看| 德安县|