ElasticSearch7.6

JS——ES6、ES7、ES8、ES9、ES10介绍 ES全称ECMAScript,ECMAScript是ECMA制定的标准化脚本语言。目前JavaScript使用的ECMAScript版本为ECMA-417。关于ECMA的最新资讯可以浏览ECMA news查看。ECMA规范最终由TC39敲定。TC39由包括浏览器厂商在内的各方组成,他们开会推动JavaScript提案沿着一条严格的发展道路前进。Stage 0: strawman——最初想法的提交。 阅读详情

ElasticSearch7.6

elasticsearch:

安装:
     1 解压,
     2 bin
     3 启动
目录:
     bin 启动文件
     config 配置文件
         log4j2 日志配置文件
         jvm.options java 虚拟机相关的配置
         elasticsearch.yml elasticsearch 的配置文件! 默认 9200 端口! 跨域!
         lib 相关jar包
         logs 日志!
         modules 功能模块
         plugins 插件!

安装可视化插件:

安装:
          1 elasticsearch-head-master,解压
          2 npm install npm run start , 需要node环境
          3 解决跨域问题,elasticsearch->config->elasticsearch.yml配置:
             http.cors.enabled: true
             http.cors.allow-origin: "*"

Kibana:

 1、解压后端的目录
 2、启动
 3、访问测试
 4、开发工具! (Post、curl、head、谷歌浏览器插件测试!)
 5、汉化,i18n.locale: "zh-CN"

ES核心概念
在这里插入图片描述

在这里插入图片描述

IK分词器插件

安装:
	1、https://github.com/medcl/elasticsearch-analysis-ik
	2、下载完毕之后,放入到我们的elasticsearch 插件,plugins目录
	3、重启观察ES,可以看到ik分词器被加载了!
	4、elasticsearch-plugin 可以通过这个命令来查看加载进来的插件
	5、使用kibana测试!
其他:
	ik_smart 和 ik_max_word,其中 ik_smart 为最少切分,ik_max_word为最细 粒度划分!
	config/IKAnalyzer.cfg.xml  添加加载分词规则,main.dic默认加载 (必定添加main)
methodurl地址描述
PUTlocalhost:9200/索引名称/类型名称/文档id创建文档(指定文档id)
POSTlocalhost:9200/索引名称/类型名称创建文档(随机文档id)
_updatellocalhost:9200/索引名称/类型名称/文档id/_update修改文档
DELETElocalhost:9200/索引名称/类型名称/文档id删除文档
GETlocalhost:9200/索引名称/类型名称/文档id查询文档通过文档id
POSTlocalhost:9200/索引名称/类型名称/_search查询所有数据

api操作

添加

PUT /zgc/user/2
{
"name": "狂神说java",
"age" : 10,
"desc": "还行",
"tags": ["技术宅","帅哥","渣男"]
}

PUT更新

空的字段会覆盖,不推荐

PUT /zgc/user/1
{
"name": "狂神说123",
"desc": "一顿操作猛如虎,一看工资2500",
"tags": ["技术宅","温暖","直男"]
}

POST更新

灵活,推荐

POST /zgc/user/1/_update
{
  "doc":{
    "name": "狂神说222222"
  }
}

简单查询

GET /zgc/user/1

1,分词并且搜索词拆分

// 查询文档1,2
POST /zgc/user/_search?q=name:狂神说java

2,分词并且搜索词拆分

GET /zgc/user/_search
{
  "query": {
    "match": {
      "name": "狂神说"
    }
  }
}

_source指定字段,sort排序,

GET /zgc/user/_search
{
  "query": {
    "match": {
      "name": "狂神说"
    }
  }
  , "_source": ["name","tags","age"]
  ,"sort": [
    {
      "age": {
        "order": "asc"
      }
    }
  ]
  ,"from": 0
  ,"size": 2
}

most (and),should (or),must_not (not)

GET /zgc/user/_search
{
  "query": {
    "bool": {
      "must_not": [
        {
          "match": {
            "name": "java"
          }
        },
        {
          "match": {
            "age": "10"
          }
        }
      ]
    }
  }
}

匹配多个值 or并且搜索词拆分

GET /zgc/user/_search
{
  "query": {
    "match": {
      "tags": "男  帅哥"
    }
  }
}

term 不能把搜索词拆分

GET /zgc/user/_search
{
  "query": {
    "term": {
      "name": "狂"
    }
  }
}

filter,过滤器

# query->bool->filter
# filter比query快的原因:
# 1 query:会先比较查询条件,然后计算分值,最后返回文档结果;filter: 1 对结果进行缓存 2 避免计算分值
GET /zgc/user/_search
{
  "query": {
    "bool": {
      "filter": {
        "range": {
          "age": {
            "gte": 10,
            "lte": 200
          }
        }
      }
    }
    
  }
}

高亮查询

GET /zgc/user/_search
{
  "query": {
    "match": {
      "name": "狂神"
    }
  }
  ,"highlight": {
    "fields": {
      "name":{}
    }
  }
}

自定义高亮查询

GET /zgc/user/_search
{
  "query": {
    "match": {
      "name": "狂神"
    }
  }
  ,"highlight": {
    "fields": {
      "name":{}
    }
    ,"pre_tags": "<p class='key' style='color:red' >"
    ,"post_tags": "</p>"
  }
}

集成SpringBoot

https://www.elastic.co/guide/en/elasticsearch/client/index.html
在这里插入图片描述
在这里插入图片描述

maven

<elasticsearch.version>7.6.1</elasticsearch.version>

springboot配置

// 新建ElasticSearchClientConfig文件
@Configuration
public class ElasticSearchClientConfig {

    @Bean
    public RestHighLevelClient restHighLevelClient() {

        RestHighLevelClient client = new RestHighLevelClient(
                RestClient.builder(
                        new HttpHost("127.0.0.1", 9200, "http")
                )
        );
        return client;
    }
}

包,搜autoconfigure->搜elasticearch->ElasticsearchRestClientAutoConfiguration

@Import({RestClientBuilderConfiguration.class, RestHighLevelClientConfiguration.class, RestClientFallbackConfiguration.class})

索引操作

@Autowired
private RestHighLevelClient restHighLevelClient;

// 创建索引
@Test
void createIndex() throws IOException {
	CreateIndexRequest createIndexRequest = new CreateIndexRequest("zgc_index");
	CreateIndexResponse createIndexResponse = restHighLevelClient.indices().create(createIndexRequest, RequestOptions.DEFAULT);
	System.out.println(createIndexResponse);
}
//org.elasticsearch.client.indices.CreateIndexResponse@998a69c8

// 判断索引是否存在
@Test
void existIndex() throws IOException {
	GetIndexRequest getIndexRequest = new GetIndexRequest("zgc_index");
	boolean exists = restHighLevelClient.indices().exists(getIndexRequest, RequestOptions.DEFAULT);
	System.out.println(exists);
}
//true

// 删除索引
@Test
void delIndex() throws IOException {
	DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest("zgc_index");
	AcknowledgedResponse delete = restHighLevelClient.indices().delete(deleteIndexRequest, RequestOptions.DEFAULT);
	System.out.println(delete);
	System.out.println(delete.isAcknowledged());
}
//org.elasticsearch.action.support.master.AcknowledgedResponse@4ee
//true

文档操作

@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
    private String name;
    private int age;
}
// 添加文档(行) put /zgc_index/_doc/1  {xxx}
@Test
void addDocument() throws IOException {
    User user = new User("陈小周2", 18);
    String string = JSON.toJSONString(user);

    IndexRequest indexRequest = new IndexRequest("zgc_index");
    indexRequest.source(string, XContentType.JSON);
    indexRequest.timeout(TimeValue.timeValueSeconds(1));
    indexRequest.id("2"); // 手动指定id

    IndexResponse index = restHighLevelClient.index(indexRequest, RequestOptions.DEFAULT);
    System.out.println(index.toString());
    System.out.println(index.status());
}
//IndexResponse[index=zgc_index,type=_doc,id=2,version=1,result=created,seqNo=3,primaryTerm=1,shards={"total":2,"successful":1,"failed":0}]
//CREATED

// 判断文档是否存在(和判断索引差不多)
@SneakyThrows
@Test
void existDocument() throws IOException {
    GetRequest getRequest = new GetRequest("zgc_index", "2");

    boolean exists = restHighLevelClient.exists(getRequest, RequestOptions.DEFAULT);
    System.out.println(exists);
}
//true


// 获取文档
@Test
void getDocument() throws IOException {
    GetRequest getRequest = new GetRequest("zgc_index", "1");

    GetResponse documentFields = restHighLevelClient.get(getRequest, RequestOptions.DEFAULT);
    System.out.println(documentFields);
    System.out.println(documentFields.getSourceAsString());
}
//{"_index":"zgc_index","_type":"_doc","_id":"1","_version":3,"_seq_no":2,"_primary_term":1,"found":true,"_source":{"age":18,"name":"陈小周"}}
//{"age":18,"name":"陈小周"}

// 更新文档
@Test
void updateDucement() throws IOException {
    UpdateRequest updateRequest = new UpdateRequest("zgc_index", "1");
    User user = new User("陈大周", 99);
    updateRequest.doc(JSON.toJSONString(user), XContentType.JSON);
	updateRequest.timeout("1s");

    UpdateResponse update = restHighLevelClient.update(updateRequest, RequestOptions.DEFAULT);
    System.out.println(update);
    System.out.println(update.status());
}
//UpdateResponse[index=zgc_index,type=_doc,id=1,version=4,seqNo=4,primaryTerm=1,result=updated,shards=ShardInfo{total=2, successful=1, failures=[]}]
//OK

// 删除文档
@Test
void delDocument() throws IOException {
	DeleteRequest deleteRequest = new DeleteRequest("zgc_index","2");
	deleteRequest.timeout("1s");
	DeleteResponse delete = restHighLevelClient.delete(deleteRequest, RequestOptions.DEFAULT);
	System.out.println(delete);
	System.out.println(delete.status());
}
//DeleteResponse[index=zgc_index,type=_doc,id=2,version=2,result=deleted,shards=ShardInfo{total=2, successful=1, failures=[]}]
//OK

批量插入

// 批量插入
@Test
void bulkDocument() throws IOException {
    ArrayList<User> users = new ArrayList<>();
    users.add(new User("aa", 10));
    users.add(new User("bb", 11));
    users.add(new User("cc", 12));
    BulkRequest bulkRequest = new BulkRequest();
    bulkRequest.timeout("10s");
    for (int i = 0; i < users.size(); i++) {
        bulkRequest.add(new IndexRequest("zgc_index").id("" + (i + 1)).source(JSON.toJSONString(users.get(i)),XContentType.JSON));
    }

    BulkResponse bulk = restHighLevelClient.bulk(bulkRequest, RequestOptions.DEFAULT);
    System.out.println(bulk);
    System.out.println(bulk.status());
    System.out.println(bulk.hasFailures()); // 返回false代表成功
}
//org.elasticsearch.action.bulk.BulkResponse@1f39269d
//OK
//false

查询

    // 查询
    @Test
    void search() throws IOException {
        // 查询请求
        SearchRequest searchRequest = new SearchRequest("zgc_index");
        // 查询构造
        SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
        // 查询条件 1和2
//		TermQueryBuilder  termQueryBuilder =  QueryBuilders.termQuery("name","aa");
        QueryBuilder termQueryBuilder = new TermQueryBuilder("name", "aa");
//		searchSourceBuilder.highlighter();
        searchSourceBuilder.query(termQueryBuilder);
        searchSourceBuilder.timeout(new TimeValue(60, TimeUnit.SECONDS));
        searchRequest.source(searchSourceBuilder);
        SearchResponse search = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
        System.out.println(search);

        System.out.println(JSON.toJSONString(search.getHits()));
        System.out.println("----------------------------------");
        for (SearchHit hit : search.getHits()) {
            System.out.println(hit.getSourceAsMap());
        }
        System.out.println("===========================================");
        for (SearchHit hit : search.getHits().getHits()) {
            System.out.println(hit.getSourceAsMap());
        }
    }
    //{"took":12,"timed_out":false,"_shards":{"total":1,"successful":1,"skipped":0,"failed":0},"hits":{"total":{"value":1,"relation":"eq"},"max_score":0.9808291,"hits":[{"_index":"zgc_index","_type":"_doc","_id":"1","_score":0.9808291,"_source":{"age":10,"name":"aa"}}]}}
    //{"fragment":true,"hits":[{"fields":{},"fragment":false,"highlightFields":{"$ref":"$.hits[0].fields"},"id":"1","matchedQueries":[],"primaryTerm":0,"rawSortValues":[],"score":0.9808291,"seqNo":-2,"sortValues":[],"sourceAsMap":{"name":"aa","age":10},"sourceAsString":"{\"age\":10,\"name\":\"aa\"}","sourceRef":{"fragment":true},"type":"_doc","version":-1}],"maxScore":0.9808291,"totalHits":{"relation":"EQUAL_TO","value":1}}
    //----------------------------------
    //{name=aa, age=10}
    //===========================================
    //{name=aa, age=10}

京东搜索实战

访问静态页面

在这里插入图片描述
注意:上文修改ElasticSearch版本包的添加config包和其文件,导入静态资源

server.port=9090
# 关闭thymeleaf的缓存
spring.thymeleaf.cache=false
@Controller
public class Jd {
    @GetMapping({"/", "/jd"})
//    @ResponseBody
    public String jd() {
        return "index";
    }
}
// 可以访问首页

数据爬取

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.10.2</version>
</dependency>
package com.zgc.esjd3.util;

import com.zgc.esjd3.pojo.Content;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.springframework.stereotype.Component;

import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;

@Component
public class HtmlParseUtil {
//    public static void main(String[] args) throws IOException {
//        HtmlParseUtil htmlParseUtil = new HtmlParseUtil();
//        htmlParseUtil.parseJd("java");
//    }
    public ArrayList<Content> parseJd(String keyword) throws IOException {
        // url
        String url = "https://search.jd.com/Search?keyword=" + keyword;
        // 解析网页,返回Document
        Document parse = Jsoup.parse(new URL(url), 3000);
        Element j_goodsList = parse.getElementById("J_goodsList");
        Elements elements = j_goodsList.getElementsByTag("li");
        ArrayList<Content> contentArrayList = new ArrayList<>();

        for (Element element : elements) {
            String img = element.getElementsByTag("img").eq(0).attr("src");
            String price = element.getElementsByClass("p-price").eq(0).text();
            String title = element.getElementsByClass("p-name").eq(0).text();
            if (title.length() != 0 && img != null) {
                Content content = new Content(title, img, price);
                contentArrayList.add(content);
            }
        }
        System.out.println(contentArrayList);
        return contentArrayList;
    }
}

数据存进es

package com.zgc.esjd3.service;

import com.alibaba.fastjson.JSON;
import com.zgc.esjd3.pojo.Content;
import com.zgc.esjd3.util.HtmlParseUtil;
import org.elasticsearch.action.bulk.BulkRequest;
import org.elasticsearch.action.bulk.BulkResponse;
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.common.xcontent.XContentType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.io.IOException;
import java.util.ArrayList;

@Service
public class ContentService {

    @Autowired
    private RestHighLevelClient restHighLevelClient;


    // Jsoup数据放es
    public boolean parseContent(String keyword) throws IOException {
        BulkRequest bulkRequest = new BulkRequest();
        bulkRequest.timeout("3m");
        ArrayList<Content> contents = new HtmlParseUtil().parseJd(keyword);
        for (int i = 0; i < contents.size(); i++) {
            bulkRequest.add(new IndexRequest("jd_index").id("" + (i + 1)).source(JSON.toJSONString(contents.get(i)), XContentType.JSON));
        }

        BulkResponse bulk = restHighLevelClient.bulk(bulkRequest, RequestOptions.DEFAULT);
        return !bulk.hasFailures();  // hasFailures返回false为成功
    }

}
@GetMapping("/jdTest/{keyword}")
@ResponseBody
public String jdTest(@PathVariable String keyword) throws IOException {
    System.out.println(keyword);
    boolean b = contentService.parseContent(keyword);
    System.out.println(b);
    return keyword;
}
// 访问http://localhost:9090/jdTest/java,成功把数据录入es

实现搜索功能

//分页+搜索+高亮业务编写

public List<Map<String, Object>> searchPage(String keyword, int pageNo, int pageSize) throws IOException {
        if (pageNo <= 1) {
            pageNo = 1;
        }
        // 查询请求
        SearchRequest searchRequest = new SearchRequest("jd_index");
        // 查询构造
        SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();

        //分页
        searchSourceBuilder.from(pageNo);
        searchSourceBuilder.size(pageSize);

        //精准匹配
        TermQueryBuilder queryBuilder = QueryBuilders.termQuery("title", keyword);
        searchSourceBuilder.query(queryBuilder);

        //高亮
        HighlightBuilder highlightBuilder = new HighlightBuilder();
        highlightBuilder.field("title");
        highlightBuilder.requireFieldMatch(false); //多处高亮
        highlightBuilder.preTags("<span style= 'color:red'>");
        highlightBuilder.postTags("</span>");
        searchSourceBuilder.highlighter(highlightBuilder);

        // 执行搜索
        searchRequest.source(searchSourceBuilder);
        SearchResponse search = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
        System.out.println(search);
        ArrayList<Map<String, Object>> list = new ArrayList<>();
        for (SearchHit hit : search.getHits()) {
            //解析高亮的字段,将原来的字段换为我们高亮的字段即可
            Map<String, HighlightField> highlightFields = hit.getHighlightFields();
            HighlightField title1 = highlightFields.get("title");
            Map<String, Object> sourceAsMap = hit.getSourceAsMap();//原来的结果
            //解析高亮的字段,将原来的字段换为我们高亮的字段即可
            if (title1 != null) {
                Text[] fragments = title1.fragments();
                String n_title = "";
                for (Text text : fragments) {
                    n_title += text;
                }
                sourceAsMap.put("title", n_title);
            }
            list.add(sourceAsMap);
        }
        return list;
    }
    @GetMapping({"/", "/jd"})
//    @ResponseBody
    public String jd() {
        return "index";
    }

    @GetMapping("/search/{keyword}/{pageNo}/{pageSize}")
    @ResponseBody
    public List<Map<String, Object>> search(@PathVariable String keyword, @PathVariable Integer pageNo, @PathVariable Integer pageSize) throws IOException {
        return contentService.searchPage(keyword,pageNo,pageSize);
    }

下载 vue:
cnpm install vue
cnpm install axios
把两个文件放入static
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

elasticsearch7.6安装教程及启动常见错误解决方法 阅读详情

相关推荐

elasticsearch 中文文档

学习elasticsearch,决定把自己用过的整成中文,已整理一部份,虽然不尽人意,但也尽力,有query dsl与一部分API,后续整理完了会继续更新。

狂神说ElasitcSearch笔记(一)

ElasticSearch ElasticSearch简介 关于这部分,大家可以自己科普一下,有兴趣的,可以去B站UP主:狂神说Java关于ElasitcSearch这个课程的教程 ElasticSearch安装 声明JDK1.8:最低要求 基于Java开发 ElasticSearch的版本和我们之后对应的Java的核心jar包!版本对应! 下载 Windows安装 解压即可 目录 bin 启动文件 config 配置文件 log4j2 日志配置文件 jvm.options Java虚拟

萌新Java工程师 2106

elasticsearch-7.6.2.jar中文文档.zip

elasticsearch-7.6.2.jar中文文档

Elasticsearch(7.6)笔记

Elasticsearch(7.6)笔记 一.相关概念 1.什么是Elasticsearch ES是一个搞扩展分布式搜索和分析引擎。是对lucene的一个封装,隐藏了lucene的复杂操作,对外提供简易的api接口(RESTfUL API)。 2.Elasticsearch特点 (1)可以作为一个大型分布式集群技术,处理BP级数据,也可以单机运行。 (2)将全文检索、数据分析以及分布式技术融为一体。 (3)对用户而言,开箱即用,非常简单。 (4)是对传统数据库的一个补充:全文检索,同义词处理,相关度排名,复

qq_41790687的博客 706

基于FPGA的DDS信号发生器

之前的博客讲到了DDS的基本原理,现在用Verilog代码实现DDS,能够产生四种波形,方波,三角波,正弦波,锯齿波,用按键来控制频率和选择波形。其中按键消抖模块来自小梅哥的FPGA自学笔记设计与验证这本书。 module DDS_Module( Clk, Rst_n, EN, Fword, Key1, Pword, DA_Clk, DA_Data ); input Clk...

qq_43534451的博客 9946

车窗标定工作流程

标定简单来说就是修改防夹参数来适配对应的车型,所有的防夹的参数在vers_userdef.h文件中定义。#标定内容。

qq_21274991的博客 4269

Elasticsearch-6.7.0系列(六)ES设置集群密码

转载来源 :Elasticsearch-6.7.0系列(六)ES设置集群密码 https://www.cnblogs.com/zhuwenjoyce/p/10991024.html 前提准备 安装kibana-6.7.0: 《Elasticsearch-6.7.0系列(三)5601端口 kibana——ES的UI界面》 升级前ES的license 升级之前访问:http://192.168.10....

qq_40907977的博客 4540

深入解析rknn-toolkit2混合量化:如何为RK3588和RK356X选择最佳量化策略

本文深入解析了RKNN-Toolkit2混合量化技术,针对瑞芯微RK3588和RK356X芯片的硬件特性差异,提供了最佳量化策略选择指南。通过混合量化技术,开发者可以在保持较高推理效率的同时显著降低精度损失,特别适用于边缘计算场景。文章详细介绍了混合量化的技术原理、实战流程及芯片专属优化策略,帮助开发者充分利用硬件特性提升模型性能。

dog123的博客 258

Elasticsearch入门(一):CentOS 7.6 安装ES 7.6.1

安装步骤: 首先,需要确保Java已经安装好,并且配置好了JAVA_HOME 环境变量。 我的环境: Linux:CentOS 7.6 Elasticsearch:7.6.1 Java:1.8.0_202 Elasticsearch:下载地址包含各种版本,以最新版为例 https://www.elastic.co/cn/downloads/past-releases#elasticsearch 一、下载并解压Elasticsearch;我的ES最终路径为: 通常Linux下wget方式下载比较慢,这里选择

m0_67400972的博客 2062

YOLOv11改进策略【卷积层】| ICCV-2023 LSK大核选择模块 包含二次独家创新

LSK module是。

Limiiiing的博客 1380

中科大大数据学院2023年保研夏令营机试题目【无offer,直接放题了~】(2023.07.22下午14:35-17:35考试)

给定一串数字,最后一个数是0表示结尾,表示数字串的终止,为无效数字。将该数字串存储在双向链表中,判断是否为回文串,若是,则输出Yes,否则输出No.

m0_51339444的博客 1921

ES6和ES7

ES6是JavaScript的重大更新,引入了许多新特性,提升了代码的可读性和开发效率。两者共同推动JavaScript向现代化语言演进,ES6奠定基础,ES7补充细节。ES7是ES6的增量更新,主要新增两个特性。简化函数定义,自动绑定当前上下文。

kfzihpt7690的博客 899

【020】C++ 动态内存管理解析:new 和 delete 的正确使用

C++中的动态内存分配是在程序运行时根据需要进行内存空间的分配和释放,与静态内存分配相比,具有更大的灵活性和适应性。动态内存分配可以通过new和delete或者malloc()和free()等函数实现。在程序运行时无法确定所需的内存大小。需要在多个函数之间共享数据,并且数据可能被频繁地创建和销毁。静态数组无法满足需求,例如需要支持可变长度数组。如果在动态分配内存后忘记了释放它,则会导致内存泄漏。为避免内存泄漏,可以使用智能指针或手动管理内存的方式来释放动态分配的内存。

Lion_Long的博客 1470

elasticsearch6.7更新(ES持续更新)

版权所有转载请注明出处 6.7最重要的改变是加入了Index lifecycle management(索引声明周期管理)和Elasticsearch SQL。 可以定义索引生命周期策略来下面的效果。 1、Have one primary shard on each hot node to maximize indexing throughput. 在每一个忙碌节点上都有一个主分片来最大化...

zpzkitt的专栏 3344

使用 MATLAB/Simulink + Simscape Electrical,构建一个含储能的微电网系统,实现储能系统与并网逆变器的协同控制

摘要:本文基于Simulink平台,详细介绍了微电网中储能系统与并网逆变器的协同控制建模与仿真方法。主要内容包括:1)构建包含光伏、风电、锂电池和双向DC-DC变换器的微电网系统;2)设计并网逆变器的PQ/Vf双模式控制策略;3)实现储能系统与逆变器的协同控制逻辑,包括SOC保护和功率分配;4)通过多种工况仿真验证系统性能。结果表明,该系统能有效维持微电网稳定运行,支持并网/离网无缝切换。文章还探讨了优化方向和应用扩展,为新能源微电网控制提供了实用参考。

xiaoheshang_123的博客 100

windows下玩转vllm:在wsl下安装vllm

当前,部署通义千问2.5-vl已经是一件箭在弦上,不得不发的事儿了。网上搜了一下,发现还是用vllm用的比较多。于是乎,这就开始尝试部署vllm。但是我们之前说了,vllm是不支持直接在windows上部署的,我们还得搞wsl或者docker。咱今天先尝试使用wsl进行安装哈。

xiezhipu的博客 4136

es6.7.1分词器ik插件安装-和head插件连接es特殊配置

a)上传elasticsearch-analysis-ik-6.7.1.zip并解压到 /data/es6.7.1_plugins目录,重命名为:analysis-ik。1)下载编译好的安装包,解压,将解压后的文件夹放在elasticsearch目录下的plugins目录下,并重命名为analysis-ik。2)将analysis-ik下config目录整个拷贝到elasticsearch目录下的config目录下,并重命名为ik。#容器端口是9100,是es的管理端口。

qq_34953582的博客 744

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

es1-ElasticSearch7.6.x安装

1、ElasticSearch7.6.x安装 第一步:安装ElasticSearch7.6.x(博主用的是7.6.1) 提示建议更换jdk版本,但是此版本也是够用的 直到出现下图,表示成功上传 然后启动浏览器输入127.0.0.1:9200,返回,表示启动成功 安装可视化界面head(7.6.1): ...

zhouhengzhe的博客 1912

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ES(Elasticsearch)7.6.1安装教程

Es(elasticsearch)7.6.1安装教程 注意:除了最后启动ES的时候在es账户下执行,其他都是在root 下执行的。相关文件的下载,我这里都有,百度网盘链接:https://pan.baidu.com/s/1PxgINf6Q1UZBtcsYw6FU0w 密码:4q9h ?、前期准备 java 11 的安装,请大家自行安装。 ?elasticsearch启动不能以root户运,所以创建es户(root户状态下操作) ?useradd es passwd es 然后输入两次: zong2015 如

m0_67391401的博客 463

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

ES6、ES7新特性

1 兼容性 2 变量 3 函数 4 数组 5 解构赋值 6 字符串 连接 7 面向对象 8 Promise 9 generator,yield 10、模块化 11 手写promise 12 ES7新特性

michael_linux的博客,一个小小小学生。滴水穿石,步步为营,只为那刹那芳华。 4253

Springboot整合ElasticSearch7.6.x

springboot集成es,简单的搜索引擎dome,分页,匹配,字段高亮。

hehe_cxh的博客 571

Elasticsearch-es7.6整合springBoot

【代码】Elasticsearch7.6-整合springBoot。

会走的鱼 462

docker 运行 es elasticSearch 7.6.2

Docker 运行 ElasticSearch 7.6.2 1、拉取镜像 docker pull elasticsearch:7.6.2 2、设置挂在目录 mkdir -p /mydata/elasticsearch/config mkdir -p /mydata/elasticsearch/data echo "http.host: 0.0.0.0" >>/mydata/elasticsearch/config/elasticsearch.yml 注意: 开启宿主机得目录权限 chmod

huangjiangmin 862

Docker安装ES7.6

docker安装es7.6.0 docker基本命令 如果对基本命令不熟悉可查看这里docker基本命令 拉取镜像 docker pull elasticsearch7.6.0 安装 这里设置了es的占用内存,如果你的es运行后到时系统非常卡的话,ES_JAVA_POTS="-Xms256m -Xmx256m" 这个参数将会解决问题,如果服务器内存足够大可以忽略这个配置 docker run -...

图图是只猫 2210

docker安装es集群-6.7.1

root@localhost es-6.7.1]# chmod -R 777 /data/es6.7.1_data/ #需要es用户能写入,否则无法映射。[root@localhost es-6.7.1]# chmod -R 777 /data/es6.7.1_logs/ #需要es用户能写入,否则无法映射。[root@localhost es-6.7.1]# chmod -R 777 /data/es6.7.1_data/ #需要es用户能写入,否则无法映射。

qq_34953582的博客 1161
下一篇: JVM教程-1-JVM简介
zgcadmin
博客等级 码龄9年 174粉丝 109原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值