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

网站安全建设方案网上推广引流的有用吗?

网站安全建设方案,网上推广引流的有用吗?,装修公司加盟品牌,企业网站安全建设方案一 Spring Data Elasticsearch 项目环境搭建 1.1 修改pom文件添加依赖 目前使用spring-boot-starter-parent版本为2.2.8.RELEASE 对应spring-data-elasticsearch版本为2.2.8.RELEASE,版本对应可以自行百度,如果不行直接用elasticsearch-rest-high-lev…

一 Spring Data Elasticsearch 项目环境搭建

1.1 修改pom文件添加依赖

目前使用spring-boot-starter-parent版本为2.2.8.RELEASE

对应spring-data-elasticsearch版本为2.2.8.RELEASE,版本对应可以自行百度,如果不行直接用elasticsearch-rest-high-level-client工具类吧

      <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId><version>2.2.8.RELEASE</version></dependency><dependency><groupId>org.elasticsearch</groupId><artifactId>elasticsearch</artifactId><version>7.5.0</version></dependency><dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-client</artifactId><version>7.5.0</version></dependency><dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>7.5.0</version></dependency>
1.2 新建配置文件
import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** ES配置类** @author lc* @version 1.0* @date 2022/3/25 10:53*/
@Configuration
public class ElasticSearchClientConfig {@Beanpublic RestHighLevelClient restHighLevelClient() {RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(new HttpHost("192.168.1.100", 9200, "http")));return client;}
}

二 ElasticsearchTemplate的使用

2.1 创建实体类

@Document指定实体类和索引对应关系

    indexName:索引名称type: 索引类型(从ES 7.0 开始已经过时了)shards: 主分片数量。从ES 7开始默认1replicas:复制分片数量。从ES 7开始默认1

@Id 指定主键

@Field指定普通属性

    type: 对应Elasticsearch中属性类型。使用FiledType枚举可以快速获取。text类型能被分词keywords不能被分词index: 是否创建索引。作为搜索条件时index必须为trueanalyzer:指定分词器类型。
@Data
@Document(indexName = "student_index",shards = 1,replicas = 1)
public class Student {@Idprivate String id;@Field(type = FieldType.Keyword)private String name;@Field(type = FieldType.Text,analyzer = "ik_max_word")private String desc;@Field(type = FieldType.Text,analyzer = "ik_max_word")private String data;@Field(type = FieldType.Integer)private Integer age;
}
2.2 初始化索引
    @Autowiredprivate ElasticsearchRestTemplate elasticsearchRestTemplate;@Testvoid createIndex() {// 从 spring data es 4.0开始所有索引操作都在这个接口IndexOperations indexOperations = elasticsearchRestTemplate.indexOps(Student.class);// 是否存在,存在则删除if(indexOperations.exists()){indexOperations.delete();}// 创建索引indexOperations.create();// createMapping 根据实体类获取映射关系// putMapping 把映射关系添加到索引中Document mapping = indexOperations.createMapping(Student.class);indexOperations.putMapping(mapping);}
2.3 删除索引
    /*** 删除索引*/@Testvoid deleteIndex() {IndexOperations indexOperations = elasticsearchRestTemplate.indexOps(Student.class);boolean delete = indexOperations.delete();System.out.println(delete);}
2.4 新增文档
  • 新增单个文档
    /*** 新增单个文档*/@Testvoid insert(){Student student = new Student();student.setAge(23);student.setData("123");student.setDesc("华为手机");student.setId("1");student.setName("张三");Student save = elasticsearchRestTemplate.save(student);System.out.println(save);}
  • 批量新增
    /*** 批量新增*/@Testvoid batchInsert(){List<Student> list = new ArrayList<>();list.add(new Student("2","李四","苹果手机","1",22));list.add(new Student("3","王五","oppo手机","2",24));list.add(new Student("4","赵六","voio手机","3",25));list.add(new Student("5","田七","小米手机","4",26));Iterable<Student> result = elasticsearchRestTemplate.save(list);System.out.println(result);}
2.5 删除操作
  • 根据主键删除
     /*** 根据主键删除*/@Testvoid  deleteById() {// 根据id删除String delete = elasticsearchRestTemplate.delete("5", Student.class);System.out.println(delete);}
  • 根据条件删除
   /*** 根据查询条件删除*/@Testvoid  delete() {QueryStringQueryBuilder queryBuilder = QueryBuilders.queryStringQuery("张三");Query query = new NativeSearchQuery(queryBuilder);ByQueryResponse QueryDelete = elasticsearchRestTemplate.delete(query, Student.class);System.out.println(QueryDelete);}
2.6 修改操作
  • 全量替换
   /*** 批量修改*/@Testvoid update(){Student student = new Student();student.setId("1");student.setAge(23);student.setData("99");student.setDesc("华为手机AND苹果手机");student.setName("张三");Student save = elasticsearchRestTemplate.save(student);System.out.println(save);}
  • 部分修改
    /*** 部分修改*/@Testvoid update2(){// ctx._source 固定写法String script = "ctx._source.age = 27;ctx._source.desc = 'oppo手机and苹果电脑'";UpdateQuery build = UpdateQuery.builder("3").withScript(script).build();IndexCoordinates indexCoordinates = IndexCoordinates.of("student_index");UpdateResponse update = elasticsearchRestTemplate.update(build, indexCoordinates);System.out.println(update.getResult());}
2.7 查询操作
  • 根据主键查询
     /*** 根据主键查查询*/@Testvoid  searchById(){Student student = elasticsearchRestTemplate.get("3", Student.class);System.out.println(student);}
  • 模糊查询
    /*** 模糊查询*/@Testvoid LikeSearch(){QueryStringQueryBuilder queryBuilder = QueryBuilders.queryStringQuery("手机");Query query = new NativeSearchQuery(queryBuilder);SearchHits<Student> search = elasticsearchRestTemplate.search(query, Student.class);List<SearchHit<Student>> searchHits = search.getSearchHits();List<Student> list = new ArrayList<>();searchHits.forEach(sh->{list.add(sh.getContent());});System.out.println(list);}
  • 使用match_all查询所有文档
    /*** 使用match_all查询所有文档*/@Testvoid matchAllSearch(){MatchAllQueryBuilder queryBuilder = QueryBuilders.matchAllQuery();Query query = new NativeSearchQuery(queryBuilder);SearchHits<Student> search = elasticsearchRestTemplate.search(query, Student.class);List<SearchHit<Student>> searchHits = search.getSearchHits();List<Student> list = new ArrayList<>();searchHits.forEach(sh->{list.add(sh.getContent());});System.out.println(list);}
  • 使用match查询文档
     /*** 使用match查询文档*/@Testvoid matchSearch(){Query query = new NativeSearchQuery( QueryBuilders.matchQuery("name","张三"));SearchHits<Student> search = elasticsearchRestTemplate.search(query, Student.class);List<SearchHit<Student>> searchHits = search.getSearchHits();System.out.println(search.getTotalHits());List<Student> list = new ArrayList<>();searchHits.forEach(sh->{list.add(sh.getContent());});System.out.println(list);}
  • 使用match_phrase查询文档
     /*** 使用match_phrase查询文档* 短语搜索是对条件不分词,但是文档中属性根据配置实体类时指定的分词类型进行分词。* 如果属性使用ik分词器,从分词后的索引数据中进行匹配。*/@Testvoid matchPhraseSearch(){Query query = new NativeSearchQuery( QueryBuilders.matchPhraseQuery("desc","电脑"));SearchHits<Student> search = elasticsearchRestTemplate.search(query, Student.class);List<SearchHit<Student>> searchHits = search.getSearchHits();System.out.println(search.getTotalHits());List<Student> list = new ArrayList<>();searchHits.forEach(sh->{list.add(sh.getContent());});System.out.println(list);}
  • 使用range查询文档
    /*** 使用range查询文档*/@Testvoid rangeSearch(){Query query = new NativeSearchQuery( QueryBuilders.rangeQuery("age").gte("24").lte(29));SearchHits<Student> search = elasticsearchRestTemplate.search(query, Student.class);List<SearchHit<Student>> searchHits = search.getSearchHits();System.out.println(search.getTotalHits());List<Student> list = new ArrayList<>();searchHits.forEach(sh->{list.add(sh.getContent());});System.out.println(list);}
  • 多条件查询
    /***  多条件查询*/@Testvoid querysSearch(){BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();List<QueryBuilder> listQuery = new ArrayList<>();listQuery.add(QueryBuilders.matchQuery("name","张三"));listQuery.add(QueryBuilders.matchQuery("age","23"));boolQueryBuilder.must().addAll(listQuery);// 逻辑 与
//        boolQueryBuilder.should().addAll(listQuery);// 逻辑 或BoolQueryBuilder boolQueryBuilder2 = QueryBuilders.boolQuery();List<QueryBuilder> listQuery2 = new ArrayList<>();listQuery2.add(QueryBuilders.matchQuery("name","李四"));listQuery2.add(QueryBuilders.matchQuery("age","22"));boolQueryBuilder2.must().addAll(listQuery2);// 逻辑 与BoolQueryBuilder boolQueryBuilder3 = QueryBuilders.boolQuery();List<QueryBuilder> listQuery3 = new ArrayList<>();listQuery3.add(boolQueryBuilder);listQuery3.add(boolQueryBuilder2);boolQueryBuilder3.should().addAll(listQuery3);// 逻辑 或boolQueryBuilder3.must().addAll(listQuery3);// 逻辑 与NativeSearchQuery nativeSearchQuery = new NativeSearchQuery(boolQueryBuilder3);SearchHits<Student> search = elasticsearchRestTemplate.search(nativeSearchQuery, Student.class);List<SearchHit<Student>> searchHits = search.getSearchHits();System.out.println(search.getTotalHits());List<Student> list = new ArrayList<>();searchHits.forEach(sh->{list.add(sh.getContent());});System.out.println(list);}
  • 分页与排序
    /*** 分页查询*/@Testvoid pageSearch(){Query query = new NativeSearchQuery(QueryBuilders.matchAllQuery());// 排序query.addSort(Sort.by(Sort.Direction.DESC,"age"));// 分页query.setPageable(PageRequest.of(1,2));SearchHits<Student> searchHits = elasticsearchRestTemplate.search(query, Student.class);System.out.println(searchHits.getTotalHits());List<SearchHit<Student>> hitList = searchHits.getSearchHits();List<Student> listResult = new ArrayList<>();hitList.forEach(list->{listResult.add(list.getContent());});System.out.println(listResult);}

文章转载自:

http://41pGs56p.Lmxfy.cn
http://Frhl4ej6.Lmxfy.cn
http://RMyUH1gZ.Lmxfy.cn
http://vw2LDQ2a.Lmxfy.cn
http://bj1HnNDN.Lmxfy.cn
http://3R7j5e4A.Lmxfy.cn
http://JSzIHn9h.Lmxfy.cn
http://fOLtPtI7.Lmxfy.cn
http://scQ0cGUP.Lmxfy.cn
http://GC26Rpra.Lmxfy.cn
http://lSNYKahY.Lmxfy.cn
http://r5JJxFaC.Lmxfy.cn
http://DxoKvvrp.Lmxfy.cn
http://Xyi4kNQg.Lmxfy.cn
http://g3wFMT36.Lmxfy.cn
http://TXNxge7z.Lmxfy.cn
http://rNzUEbGD.Lmxfy.cn
http://WvAWt8TB.Lmxfy.cn
http://iGmyPdx2.Lmxfy.cn
http://pfOVWizs.Lmxfy.cn
http://w0icUoh2.Lmxfy.cn
http://p8YfEdd9.Lmxfy.cn
http://HQH7RzPB.Lmxfy.cn
http://kRc3ogiS.Lmxfy.cn
http://Izb0RQy0.Lmxfy.cn
http://SY1xNGll.Lmxfy.cn
http://iFFoxvOT.Lmxfy.cn
http://CJHWN8FC.Lmxfy.cn
http://GnJAK1Ng.Lmxfy.cn
http://meqes4pk.Lmxfy.cn
http://www.dtcms.com/wzjs/667544.html

相关文章:

  • 网站怎么上传模板wordpress商业版
  • 网站备案幕布大小贵州网站建设维护
  • 一个网站项目开发流程厦门谷歌seo
  • 网站建设数据安全的意义你在四川省建设安全与质量监督网站
  • 高端建站平台设计风格出众拍卖网站建设公司
  • php做直播类型的网站手机免费网站建设
  • 如何进行网站运营与规划wordpress插件汉化下载
  • 公司网站建设内容二手建筑铝模板哪里有卖
  • 上海高端网站建设wordpress空间满
  • 郑州百度seo网站优网络营销的基本方式有哪些
  • 有人打电话说请我做网站 骗子大连seo排名优化
  • 做准的算命网站建立网站的流程
  • 做手机网站费用seo网站推广专员招聘
  • 安庆网站建设专业西部数码网站管理助手3.0教程
  • 沧州手机网站关于加强公司网站建设的通知
  • 自己做网站帮别人卖东西wordpress播放器修改
  • 中国机械加工网官方网站怎样建设企业网站
  • 购物网站建设要多少钱熊掌号wordpress
  • 公司域名注册网站哪个好免费ppt生成器
  • 兴县网站建设国企招聘网最新招聘2023
  • 网站开发话题wordpress搭建内网导航
  • 管理信息系统网站建设网站运营专员
  • 网站开发话术在四川省住房和城乡建设厅网站上查
  • html个人网站设计模板做游戏制作 网站
  • 铜陵市住房和城乡建设局网站国际互联网出口
  • 公司网站如何宣传推广建筑网格布搭接
  • 多米诺网站建设服务昌平装修公司哪家好
  • 做视频网站要什么软件下载最近重大新闻事件2021
  • 网站建设哪一家好企业seo平台
  • 上海建设行业的资质网站商丘网站制作报价信赖赛憬科技