当前位置: 首页 > news >正文

永兴县网站建设哪家好做金馆长网站网站

永兴县网站建设哪家好,做金馆长网站网站,为什么推荐企业做网站,网站登不上去的原因简介 Spring Data for Elasticsearch 是 Spring Data 项目的一部分#xff0c;该项目旨在为新数据存储提供熟悉且一致的基于 Spring 的编程模型#xff0c;同时保留特定于存储的特性和功能。 Spring Data Elasticsearch 项目提供了与 Elasticsearch 搜索引擎的集成。Spring…简介 Spring Data for Elasticsearch 是 Spring Data 项目的一部分该项目旨在为新数据存储提供熟悉且一致的基于 Spring 的编程模型同时保留特定于存储的特性和功能。 Spring Data Elasticsearch 项目提供了与 Elasticsearch 搜索引擎的集成。Spring Data Elasticsearch 的关键功能领域是以 POJO 为中心的模型用于与 Elastichsearch 文档交互并轻松编写存储库样式的数据访问层。 简单使用 1.创建SpringBoot项目导入Spring Data Elasticsearch的起步依赖。 /*elasticsearch的起步依赖*/ dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-elasticsearch/artifactId /dependency/*lomobok起步依赖*/dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional /dependency2.编写配置文件连接ElasticSearch spring:elasticsearch:uris: https://192.168.66.101:9200username: elasticpassword: 12345678打印日志  logging: pattern: console: %d{HH:mm:ss.SSS} %clr(%-5level) --- [%-15thread] %cyan(%-50logger{50}):%msg%n 从 ES8 开始访问 ES 的协议从 http 变成了 https 访问 https 请求 需要SSL 证书在开发环境下我们不需要配置该证书在项目中 添加一个配置类跳过SSL 证书检查即可。 3.创建配置类跳过SSL证书检查  Component public class RestClientBuilderCustomizerImpl implements RestClientBuilderCustomizer {Overridepublic void customize(RestClientBuilder builder) {}/*** 跳过SSL的证书检查*/Overridepublic void customize(HttpAsyncClientBuilder builder) {SSLContextBuilder sscb SSLContexts.custom();try {sscb.loadTrustMaterial((chain, authType) - {return true;});} catch (NoSuchAlgorithmException e) {throw new RuntimeException(e);} catch (KeyStoreException e) {throw new RuntimeException(e);}try {builder.setSSLContext(sscb.build());} catch (KeyManagementException | NoSuchAlgorithmException e) {e.printStackTrace();}} } 4.创建实体类 一个实体类的所有对象都会存入 ES 的一个索引中所以我们在创建实体类时关联ES 索引 Document(indexName product,createIndex true) //关联名为product的索引 Data AllArgsConstructor public class Product {Id //标记在成员变量上标记一个字段为主键该字段的值会同步到ES该文档的id值//标记在成员变量上标记为文档中的域一般有如下属性-// type域的类型,index是否创建索引,store是否单独存储,analyzer分词器,searchAnalyzer搜索分词器Field(type FieldType.Integer,store true,index true)private Integer id;Field(type FieldType.Text,store true,index true,analyzer ik_max_word,searchAnalyzer ik_max_word)private String productName;Field(type FieldType.Text,store true,index true,analyzer ik_max_word,searchAnalyzer ik_max_word)private String productDesc; } 5.创建Repository接口 Repository 接口继承 ElasticsearchRepository 该接口提供了文档的增删改查方法 Repository public interface ProductRepository extends ElasticsearchRepositoryProduct,Integer { } 6.测试Repository接口 6.1测试保存和修改方法 SpringBootTest public class ProductRepositoryTest {Autowiredprivate ProductRepository repository;//保存文档public void addProduct(){Product product new Product(1, 今天是第一天, 第一天plus);repository.save(product);}//修改方法(当该文档已经存在即对其进行修改)public void addProduct(){Product product new Product(1, 今天是第first天, 第first天plus);repository.save(product);} } 6.2查找文档方法 6.2.1根据id进行查询 Testpublic void findById(){OptionalProduct byId repository.findById(1);System.out.println(byId.get());} 6.2.2查询所有文档 Testpublic void findAll(){repository.findAll().forEach(System.out::println);} 6.3测试删除方法 //根据其主键id进行删除 Testpublic void deleteById(){repository.deleteById(1);} 7.使用DSL语句查询文档 query 后的 json 对象称为 DSL语句 我们可以在接口方法上使用 Query注解自定义 DSL 语句查询。 在Repository接口层编写方法 7.1 匹配查询 Repository public interface ProductRepository extends ElasticsearchRepositoryProduct,Integer {//匹配查询Query({\n \match\: {\n \productDesc\: \?0\\n }\n })ListProduct findByProductDescMatch(String keyword); } 7.2模糊查询 Repository public interface ProductRepository extends ElasticsearchRepositoryProduct,Integer {Query( {\n \match\: {\n \productDesc\:{\n \query\: \\\?0\,\n \fuzziness\: 1\n }\n }\n })ListProduct findByProductDescFuzzy(String keyword); } 8.按照规则命名方法查询文档 1.只需在 Repository 接口中按照一定的规则命名方法该方法就能完成相应的查询 2. 规则查询方法以 findBy 开头涉及查询条件时条件的属性用条件关键字连接。 8.1单条件查询 Repository public interface ProductRepository extends ElasticsearchRepositoryProduct,Integer {//根据规则进行查询-通过productNameListProduct findByProductName(String productName); } 测试 Testpublic void testFindByProductName(){ListProduct byProductName repository.findByProductName(iphone);byProductName.forEach(System.out::println);} 8.2 多条件选择查询 Repository public interface ProductRepository extends ElasticsearchRepositoryProduct,Integer { //测试按照规则命名使用 Or 查询 ListProduct findByProductNameOrProductDesc(String productName,String productDesc); } 测试 Testpublic void testFindByProductNameOrProductDesc(){repository.findByProductNameOrProductDesc(iphone,三体).forEach(System.out::println);} 8.3范围查询 Repository public interface ProductRepository extends ElasticsearchRepositoryProduct,Integer {//测试使用命名规则进行 范围查询 ListProduct findByIdBetween(Integer start,Integer end); } 测试 Testpublic void testFindByProductIdBetween(){repository.findByIdBetween(1,3).forEach(System.out::println);} 9.分页查询 在使用继承或自定义的方法时在方法中添加 Pageable 类型的参 数返回值为Page 类型即可进行分页查询。 9.1继承方法 Testpublic void testFindPage(){//参数1当前页从0开始,参数2每页显示多少条Pageable pageable PageRequest.of(0,3);PageProduct all repository.findAll(pageable);System.out.println(总条数all.getTotalElements());System.out.println(总页数all.getTotalPages());System.out.println(数据all.getContent());} 10.分页查询并排序 10.1继承方法 使用继承或自定义的方法时在方法中添加 Sort 类型的参数即可进行结果排序。 Testpublic void testFindPage2(){//既分页又排序Sort sort Sort.by(Sort.Direction.DESC, id);Pageable pageable PageRequest.of(0,3,sort);PageProduct all repository.findByProductDescMatch(体,pageable);System.out.println(总条数all.getTotalElements());System.out.println(总页数all.getTotalPages());System.out.println(数据all.getContent());}
http://www.hkea.cn/news/14370022/

相关文章:

  • 免费的网站入口在哪学历网站怎么做
  • 机械技术支持东莞网站建设wordpress微信分享按钮
  • 网站开发接口江门网站制作计划
  • 重庆企业站seo门户网站建设费用
  • 东莞网站建设美丽广州网页设计公司招聘
  • jsp手机版网站开发百度123123网址大全
  • 成都青羊区建设局网站南通高端网站设计开发
  • 陕西省建设厅证网站号多少企业vi设计说明
  • 建视频网站需要多大空间简洁大气网站设计
  • three.js 做的网站网站建设免费的服务器
  • 金华网站制作费用海南房地产网站建设
  • 宣城市建设监督管理局网站首页公司网站的seo优化
  • 广告设计哪个网站好优质做网站哪家好
  • 自己网站做搜索引擎优化网络销售有前途吗
  • 常见网站架构海外购物app排行榜前十名
  • 呼和浩特做网站的郑州市金水区
  • 网站设计的目的和功能怎么创建视频号
  • 网站开发人员需求分析建立网站需要多少钱怎么样
  • 最好的网站模版vps如何设置网站权限
  • 网站开发工作周记只会网站开发能创业吗
  • 网站域名备案认证千库网免费素材图库
  • 廊坊网站建设谷德设计网站
  • 图书网站建设方案广东微信网站开发哪家好
  • wordpress音乐网站网站后台内容管理系统
  • asp网站怎样做app微信卖水果链接网站怎么做
  • 网站300兆是多少网站建设公司织梦模板
  • 做网站如何获利企业营销系统和网站建设
  • 中国建设银行绑定网站四川网站建设scyiyou
  • WordPress网站封装app教程服务器类网站建设
  • 怎么用ps制作个人网站模板下载手机端网站设计尺寸