SpringBoot2.0+ElasticSearch网盘搜索实现

百度官方SEO搜索引擎优化指南V2.0版.docx 百度官方SEO搜索引擎优化指南V2.0版.docx百度官方SEO搜索引擎优化指南V2.0版.docx百度官方SEO搜索引擎优化指南V2.0版.docx百度官方SEO搜索引擎优化指南V2.0版.docx百度官方SEO搜索引擎优化指南V2.0版.docx百度官方SEO搜索引擎优化指南V2.0版.docx百度官方SEO搜索引擎优化指南V2.0版.docx百度官方SEO搜索引擎优化指南V2.0版.docx百度官方SEO搜索引擎优化指南V2.0版.docx 立即下载

SpringBoot2.0+ElasticSearch网盘搜索实现

1、ES是如何实现分布式高并发全文检索
2、简单介绍ES分片Shards分片技术
3、为什么ES主分片对应的备分片不在同一台节点存放
4、索引的主分片定义好后为什么不能做修改
5、ES如何实现高可用容错方案
6、搭建Linux上环境三台ES高可用集群环境
7、基于ES网盘搜索引擎实现

 

 

网盘搜索引擎,写个Job 去网上爬虫 存储起来  以JSON的格式 存放在 ES服务器

网盘搜索引擎的原理: 

  采用ES存储抓取的数据 抓取服务器

   测试数据:

##先创建索引

PUT /clouddisk
 
##测试数据maping

POST /clouddisk/_mapping/disk
{
  "disk":{
    "properties":{
       "name":{
         "type":"text",
         "analyzer":"ik_smart",
         "search_analyzer":"ik_smart"
       },
       "source":{
         "type":"keyword"
       },
      "describe":{
         "type":"text",
         "analyzer":"ik_smart",
         "search_analyzer":"ik_smart"
       },
       "shartime":{
         "type":"date"
       },
       "browsetimes":{
         "type":"long"
       },
      "filesize":{
         "type":"float"
       },
      "sharpeople":{
         "type":"keyword"
       },
       "collectiontime":{
         "type":"date"
       },
        "baiduaddres":{
         "type":"keyword"
       }
    }
  }
  
}
 
 
 
 
 POST /clouddisk/disk
{
    "name": "2018史上最全美剧",
    "source": "百度云盘",
    "describe": "该课程由小明提供",
    "shartime": "2018-10-10",
    "browsetimes": 100000,
    "filesize": 4.35,
    "sharpeople": "美国东部",
    "collectiontime": "2018-11-24",
    "baiduaddres": "https://pan.baidu.com/s/1VQxFq6JnKh0KP-5aMq-WpA#list/path=%2F"

}

POST /clouddisk/disk
{
    "name": "2018史上最全韩剧",
    "source": "百度云盘",
    "describe": "该课程小丽提供",
    "shartime": "2018-10-12",
    "browsetimes": 100000,
    "filesize": 6.35,
    "sharpeople": "韩国釜山",
    "collectiontime": "2018-11-24",
    "baiduaddres": "https://pan.baidu.com/s/1VQxFq6JnKh0KP-5aMq-WpA#list/path=%2F"

}

POST /clouddisk/disk
{
    "name": "老友记",
    "source": "百度云盘",
    "describe": "该课程由张三提供",
    "shartime": "2018-10-10",
    "browsetimes": 100000,
    "filesize": 1.35,
    "sharpeople": "美国",
    "collectiontime": "2018-11-24",
    "baiduaddres": "https://pan.baidu.com/s/1VQxFq6JnKh0KP-5aMq-WpA#list/path=%2F"

}

POST /clouddisk/disk
{
    "name": "英语雅思",
    "source": "百度云盘",
    "describe": "该课程由大海提供",
    "shartime": "2018-10-10",
    "browsetimes": 100000,
    "filesize": 1.35,
    "sharpeople": "大海",
    "collectiontime": "2018-11-24",
    "baiduaddres": "https://pan.baidu.com/s/1VQxFq6JnKh0KP-5aMq-WpA#list/path=%2F"

}

POST /clouddisk/disk
{
    "name": "小猪佩奇",
    "source": "百度云盘",
    "describe": "该课程由朱佩琦出品",
    "shartime": "2018-10-10",
    "browsetimes": 100000,
    "filesize": 1.35,
    "sharpeople": "佩奇",
    "collectiontime": "2018-11-24",
    "baiduaddres": "https://pan.baidu.com/s/1VQxFq6JnKh0KP-5aMq-WpA#list/path=%2F"

}
 
 

maven:

<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.toov5</groupId>
  <artifactId>springboot-esPan</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  
      <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <dependency>
            <groupId>com.google.collections</groupId>
            <artifactId>google-collections</artifactId>
            <version>1.0-rc2</version>
        </dependency>
        <!-- springboot整合freemarker -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>

    </dependencies>
  
</project>

Dao:

package com.toov5.dao;

import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;

import com.toov5.entity.CloudDiskEntity;

public interface CloudDiskDao extends ElasticsearchRepository<CloudDiskEntity, String> {

}

Entity:

package com.toov5.entity;

import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;

import lombok.Data;

@Data
@Document(indexName = "clouddisk", type = "disk")
public class CloudDiskEntity {

    @Id
    private String id;
    // 名称
    private String name;
    // 来源
    private String source;
    // 描述
    private String describe;
    // 分享时间
    private String shartime;
    // 浏览次数
    private Long browsetimes;
    // 文件大小
    private Double filesize;
    // 分享人
    private String sharpeople;
    // 收录时间
    private String collectiontime;
    // 地址
    private String baiduaddres;

}

Controller:

package com.toov5.controller;

import java.util.List;
import java.util.Optional;

import org.apache.commons.lang.StringUtils;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.MatchQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.google.common.collect.Lists;
import com.toov5.dao.CloudDiskDao;
import com.toov5.entity.CloudDiskEntity;

//SpringBoot 整合 ES

@RestController
public class CloudDiskController {
    @Autowired
    private CloudDiskDao cloudDiskDao;
    
    @RequestMapping("/findById/{id}")
    public Optional<CloudDiskEntity> findById(@PathVariable String id) {
        Optional<CloudDiskEntity> findById = cloudDiskDao.findById(id);
        return  findById;
    }
    @RequestMapping("/search")
    public List<CloudDiskEntity> search(String keyWord,String describe) {
        //创建查询   查询所有的
        BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();   //创建查询
        if (!StringUtils.isEmpty(keyWord)) {
            //模糊查询  一定要用ik的中文分词插件!
            MatchQueryBuilder matchQuery = QueryBuilders.matchQuery("name", keyWord);
            boolQuery.must(matchQuery);
        }
        if (!StringUtils.isEmpty(describe)) {
            //模糊查询  一定要用ik的中文分词插件!
            MatchQueryBuilder matchQuery = QueryBuilders.matchQuery("describe", describe);
            boolQuery.must(matchQuery);
        }
        
        Iterable<CloudDiskEntity> search = cloudDiskDao.search(boolQuery); //查询所有的数据
        return Lists.newArrayList(search);  //通过这个api可以进行转换  //这样查询除了所有的 然后添加match 
    }
}

yml:

spring:
  data:
    elasticsearch:
    ####集群名称
     cluster-name: myes
    ####地址 
     cluster-nodes: 192.168.91.7:9300
  freemarker:
    # 设置模板后缀名
    suffix: .ftl
    # 设置文档类型
    content-type: text/html
    # 设置页面编码格式
    charset: UTF-8
    # 设置页面缓存
    cache: false
    # 设置ftl文件路径
    template-loader-path:
      - classpath:/templates
  # 设置静态文件路径,js,css等
  mvc:
    static-path-pattern: /static/**

启动类:

package com.toov5;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories;

@SpringBootApplication
@EnableElasticsearchRepositories(basePackages="com.toov5.dao")   //dao 代码没有@Component的情况下可以这么玩儿 而且这样比较节省代码哈哈
public class AppEs {
   public static void main(String[] args) {
    SpringApplication.run(AppEs.class, args);
}
}

 

 关键字查询时候,可以进行关键字查询,比like强悍!

 

分页查询: 很简单 传入参数 Pageable 就OK了  封装好了

GET /clouddisk/disk/_search
{
  "from": 0,
  "size":2,
   "query": {
     "match": {
       "name": "2018"
     }
   }
  
}

page= 0 ,请求页数从0开始   2代表size 每一页代表多少条数据

前端传来参数是第几页

package com.toov5.controller;

import java.util.List;
import java.util.Optional;

import org.apache.commons.lang.StringUtils;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.MatchQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.web.PageableDefault;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.toov5.dao.CloudDiskDao;
import com.toov5.entity.CloudDiskEntity;

//SpringBoot 整合 ES

@RestController
public class CloudDiskController {
    @Autowired
    private CloudDiskDao cloudDiskDao;
    
    @RequestMapping("/findById/{id}")
    public Optional<CloudDiskEntity> findById(@PathVariable String id) {
        Optional<CloudDiskEntity> findById = cloudDiskDao.findById(id);
        return  findById;
    }
    @RequestMapping("/search")                  //写死了 默认值
    public Page<CloudDiskEntity> search(String keyWord,@PageableDefault(page=0,value=1) Pageable pageable) {
        //创建查询   查询所有的
        BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();   //创建查询
        if (!StringUtils.isEmpty(keyWord)) {
            //模糊查询  一定要用ik的中文分词插件!
            MatchQueryBuilder matchQuery = QueryBuilders.matchQuery("name", keyWord);
            boolQuery.must(matchQuery);
        }
        
        Page<CloudDiskEntity> search = cloudDiskDao.search(boolQuery,pageable);
        return search;
    }
}

访问:

也可以传入 页数 size数    

 

 

 整合到前端展示:

 Controller:

package com.toov5.controller;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang.StringUtils;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.MatchQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.web.PageableDefault;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.toov5.dao.CloudDiskDao;
import com.toov5.entity.CloudDiskEntity;

@Controller
public class PageController {
    @Autowired
    private CloudDiskDao cloudDiskDao;
    
    @RequestMapping("/search")                  //写死了 默认值
    public String search(String keyWord,@PageableDefault(page=0,value=2) Pageable pageable, HttpServletRequest req) {
        Long starTime = System.currentTimeMillis();
        //创建查询   查询所有的
        BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();   //创建查询
        if (!StringUtils.isEmpty(keyWord)) {
            //模糊查询  一定要用ik的中文分词插件!
            MatchQueryBuilder matchQuery = QueryBuilders.matchQuery("name", keyWord);
            boolQuery.must(matchQuery);
        }
        
        Page<CloudDiskEntity> page = cloudDiskDao.search(boolQuery,pageable);
        req.setAttribute("page", page);
        req.setAttribute("total", page.getTotalElements());
        req.setAttribute("keyword", keyWord);
        Long endTime = System.currentTimeMillis();
        req.setAttribute("time", endTime-starTime );
        return "search";
    }
}

页面展示:

页面:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Toov5|ES网盘搜索引擎</title>
   <!-- 新 Bootstrap 核心 CSS 文件 -->

<link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">

<!-- 可选的Bootstrap主题文件(一般不使用) -->

<script src="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap-theme.min.css"></script>

<!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->

<script src="https://cdn.bootcss.com/jquery/2.1.1/jquery.min.js"></script>

<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->

<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

</head>
<body  style="display: block; margin: 0 auto; width: 50%; " >
      <div style="width:100%;height:60px;" align="center">
           <h2 style="color:#985f0d;">Toov5|ES网盘搜索引擎</h2>
      </div>
      <br/>
      <div align="center">
          <span style="font-size: 18px;" >检索出${total}条数据,耗时:${time}毫秒</span>
      </div>
      <br/>
      <br/>
      <div class="bs-example" data-example-id="striped-table">
      <table class="table table-bordered table-hover">
             <thead>
                 <tr>
                     <th style="text-align:center;" scope="row">链接名称</th>
                     <th style="text-align:center;">文件大小GB</th>
                     <th style="text-align:center;">分享人</th>
                      <th style="text-align:center;">云盘地址</th>
                 </tr>
             </thead>
             <tbody>
                 <#list page.content as p>
                 <tr >
                     <th style="text-align: left;" >
                      <#if keyword??>
                     ${p.name?replace(keyword, '<span style="color: red">${keyword}</span>')}
                        <#else>
                       ${p.name}
                    </#if>

                     
                     </th>
                     <th style="text-align: center;">${p.filesize}</th>
                     <th style="text-align: center;">${p.sharpeople}</th>
                     <th style="text-align: center;"><a href="${p.baiduaddres}">云盘地址</a> </th>
                </tr>
               </#list>    
             </tbody>
      </table>
  <!--    <div style="font-size: 21px;">
              <#list 1..totalPage as i>    
           <#if keyword??>
                 <a href="/search?keyword=${keyword}&page=${i-1}" >${i}</a>
                <#else>
                   <a href="/search?page=${i-1}" >${i}</a>
              </#if>     
  
         </#list>
     
              页
      </div>   -->
         
      </div>
</body>
</html>

分页展示数据:

 

package com.toov5.controller;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang.StringUtils;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.MatchQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.web.PageableDefault;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.toov5.dao.CloudDiskDao;
import com.toov5.entity.CloudDiskEntity;

@Controller
public class PageController {
    @Autowired
    private CloudDiskDao cloudDiskDao;
    
    @RequestMapping("/search")                  //写死了 默认值
    public String search(String keyWord,@PageableDefault(page=0,value=2) Pageable pageable, HttpServletRequest req) {
        Long starTime = System.currentTimeMillis();
        //创建查询   查询所有的
        BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();   //创建查询
        if (!StringUtils.isEmpty(keyWord)) {
            //模糊查询  一定要用ik的中文分词插件!
            MatchQueryBuilder matchQuery = QueryBuilders.matchQuery("name", keyWord);
            boolQuery.must(matchQuery);
        }
                
        Page<CloudDiskEntity> page = cloudDiskDao.search(boolQuery,pageable);
        // 计算查询总数
        long total = page.getTotalElements();
        req.setAttribute("total", page.getTotalElements());
        // 计算分页数
        int totalPage = (int) ((total - 1) / pageable.getPageSize() + 1);
        req.setAttribute("totalPage", totalPage);
        req.setAttribute("page", page);
        req.setAttribute("total", page.getTotalElements());
        req.setAttribute("keyword", keyWord);
        Long endTime = System.currentTimeMillis();
        req.setAttribute("time", endTime-starTime );
        return "search";
    }
}

效果:

 

posted @ 2019-01-21 02:51 toov5 阅读( ...) 评论( ...) 编辑 收藏
MINI PCIE接口设计要点: 3.3Vaux(5pins):3.3V电源。PERST#信号通过外接复位电路,可实现模块复位。模块可以通过硬件方式或软件方式关闭射频通信(不包括 GNSS)。LED_WWAN#:(O)漏极开漏,低有效。:(I)低激活系统禁止射频信号(飞行模式),因此需加上拉。UIM_PWR (1 pin):(O)UIM的电源输出。SMB_DATA:SMBus2.0数据信号线。UIM_VPP:(O)A类设备的可变电源电压。SMB_CLK:SMBus2.0时钟信号线。UIM_RESET:(O)UIM的复位信号。 阅读详情

相关推荐

Power Automate Desktop实战:一键自动登录Chrome网站

本文详细介绍了如何使用Power Automate Desktop实现Chrome网站的一键自动登录,提升工作效率。从环境准备、基础配置到高级技巧与异常处理,全面解析自动化登录流程的构建与优化,特别适合需要频繁登录多个系统的用户。

weixin_29231725的博客 467

用SpringBoot和ElasticSearch实现网盘搜索引擎,附源码,详细教学

用SpringBoot和ElasticSearch实现网盘搜索引擎

lei20172017的博客 2923

openwrt编译及第一个安装包教程

Date: 2017.03.14 Made:SuperDeverloper Email: na1206@live.com Target: For mt7688 based board说明:本人在学习过程中走了不少弯路,希望本文档能为后来者提供便利。欢迎复制和使用本文档。本文档记录了搭建openwrt编译环境以及快速创建ipk包(openwrt上的安装程序)。本文档在实际应用中做过几次修改,以帮

SuperDevloper的博客 1万+

ElasticSearch倒排索引原理揭秘——基于mapreduce实现自己的倒排索引

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33672400的博客 586

Unity Animancer插件(一)基本使用

Animancer是什么?资源商店主页我们来通过Animancer实现一个最基本的动画播放效果。首先创建一个脚本,编写如下代码 很容易理解,就是在时播放一个指定的动画片段。接下来为角色添加、和刚刚编写的,并为字段赋值 接下来运行游戏就可以看到效果了 此时角色身上的组件可以看到当前动画的各项参数 下面我们来实现通过按键控制角色在于之间转换。新创建一个脚本。在代码中监听Y轴上的输入。然后根据监听到的数值判断角色状态,并播放相应的动画 给对应字段赋值后,启动游戏看下效果 下面来实现一个开枪效果。在默认状态下,角色

夜槿笙歌的博客 1万+

12V转5V稳压电路详细分析(7805三端稳压,LM2596稳压)

7805线性三端稳压 DCDC的意思是直流变到直流(不同直流电源值的转换),只要符合这个定义都可以叫DCDC转换器,或称之为开关电源或开关调整器。 7805属于常用的线性三端稳压器,输入电压范围不大于35V,输入输出压差2V,最大输出电流1.5A,下图为原理图,其原理简单,使 用方便,深受很多用户的喜爱。但是其不足之处就是效率低,特别是压差越大时其效率越低。比如这里12V转5V的效率为 5V/12V≈41.7%。 如上电路是最经典的7805稳压5V电路,电路中有两个电容,电容的作用如下: ...

a2001444的博客 9万+

经验整理-1-ELK-ES-kibana-100-@

-------------------ELK(Elasticsearch+Logstash+Kiabana)------------- ELK(Elasticsearch+Logstash+Kiabana)的原理? 安装过程: 1、安装Elasticsearch 2、 Logstash安装,logstash改配置,监听业务服务器的日志,将其输入;并且配置好每个业务系统输出到ES的索引是...

qq_15458763的博客 833

在Simulink中搭建一个基于IoT设备间通信协议栈的仿真模型

物联网(IoT)设备间的通信协议栈仿真对于理解不同层级的协议如何协同工作,以及优化网络性能至关重要。通过Simulink结合MATLAB的强大功能,我们可以模拟和分析从物理层到应用层的完整通信过程。下面详细介绍如何使用Simulink进行IoT设备间通信协议栈的仿真。

amy_mhd的博客 156

Elasticsearch教程:Cerebro监控插件的安装及使用

Cerebro插件是一款非常好用的用来监控es集群的插件。通过此插件我们可以查看ES集群的详细状况、索引的创建、配置等工作。Cerebro插件的安装步骤如下:第二步:安装、配置cerebro插件,其实就是解压即可。

学亮编程手记 1405

【OpenCV】图像的像素直方图 图像特征点 cv::FAST cv::ORB ORB_SLAM2::ORB

文章目录图像直方图代码实现cv::FAST和cv::ORB 检测图像特征点cv::FAST和cv::ORB 检测图像特征点代码实现ORB_SLAM2::ORB和自己实现ORB图像特征点检测效果对比ORB_SLAM2::ORB和自己实现ORB图像特征点检测效果对比代码实现 图像直方图代码实现 图像是由不同数值(颜色)的像素构成的,像素值在图像中的分布情况是图像的重要属性,可以用直方图修改图像的外观,标识图像的内容,检测图像中特定的物体或纹理。 单通道灰度图像中每个像素都有一个 0(黑色)-255(白色)的整

小秋 AI SLAM 入门实战教程 2510

计算机组成原理(第三版)唐朔飞-第四章存储器-课后习题

计算机组成原理(第三版)唐朔飞-第四章存储器-课后习题

weixin_45735391的博客 17万+

滴滴基于 ElasticSearch 的一站式搜索中台实践

滴滴基于 ElasticSearch 的一站式搜索中台实践 原创InfoQ2019-05-18 09:34:10 ElasticSearch 是基于 Lucene 实现的分布式搜索引擎,提供了海量数据实时检索和分析能力。滴滴从 2016 年 4 月开始组建团队,解决 ElasticSearch 在使用过程中遇到的性能问题。并且,随着业务体量的发展,滴滴构建了基于 ElasticS...

u013322876的博客 752

【06】新国都——新国都 嵌入式笔试,校招,题目记录及解析

本文总结了新国都嵌入式校招笔试题目及解析,内容涵盖C语言基础、Linux系统、数据结构与算法等多个方面。主要包括:1)不定项选择题10道,涉及字符串常量、蓝牙与GPRS区别、编译错误识别等;2)判断题10道,考察Linux权限、循环控制、内存管理等;3)填空题5道,包括编码计算、逻辑运算、宏定义等;4)简答题2道,解析全局变量引用和进程线程区别。题目难度适中,重点考察嵌入式开发基础知识和编程能力,并提供详细解析和扩展知识链接,对准备嵌入式相关笔试具有参考价值。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 1432

基于设计原理与理念和实践的ElasticSearch学习、ELK日志收集、网盘搜索引擎

目录 基于设计原理与理念和实践的ElasticSearch学习 一、ES基础入门 ElasticSearch是什么? ES优点: ES缺点: ElasticSearch应用场景 ElasticSearch存储结构 索引(_index) 正向索引 倒排索引 类型(_type) 唯一标识(_id) ElastSearch 增删改查 Elasticsearch版本控制 1....

邪恶八进制 16万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SpringBoot中使用ElasticSearch

ElasticSearch使用,ElasticSearch下载,SpringBoot使用ElasticSearch

weixin_60523038的博客 1659

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

分布式系列教程(38) -SpringBoot基于ES的网盘应用

1. 引言 项目以提交至Github,有兴趣的同学可以下载来看看:https://github.com/ylw-github/SpringBoot-ES-NetDisk-Demo 网盘搜索原理图: 本文主要做一个迷你版的网盘操作,具体的爬虫获取数据功能就不做了,主要做网盘搜索的功能,演示效果如下: 搜索之后 2. SpringBoot基于ES的网盘应用开发 2.1 数据准备 1.定义文档...

阿甘兄 977

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

elasticsearch(四)springboot整合es

前言 本次除了简单的整合外,还实现一个网盘搜索引擎的例子。 项目目录如下 需要先用kibana向es添加测试数据 DELETE indextest PUT indextest POST /indextest/_mapping/disk { "disk":{ "properties":{ "name":{ "type":"text...

daziyuanazhen的博客 279

SpringBoot整合Elasticsearch

SpringBoot整合ES SpringBoot整合ES实现网盘搜索引擎 项目环境搭建 数据结构分析 POST /clouddisk/_mapping/disk { "disk": { "properties": { "baiduaddres": { "type": "keyword" }, "browsetimes": { "type": "long"

qq_39380737的博客 477

springboot整合es6实现网盘搜索引擎(2)

springboot整合es6实现搜索引擎

ls_call520的专栏 111

【ES】Springboot整合ElasticSearch

主要写了一些工具类,里面最主要的功能就是搜索功能

Arcus 221

Elasticsearch安装和使用教程

Elasticsearch安装、使用,Springboot整合Elasticsearch详细教程

沐雨橙风ιε的博客 3万+

Elasticsearch京东搜索实例

创建一个springboot项目 选择依赖 Finish POM文件添加依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.78</version> </dependency> application.properties文...

xiaomingboke的博客 351

Elasticsearch 8.1.2学习

1、elasticsearch是什么 ELK ELK是Elasticsearch、Logstash、Kibana三大开源框架首字母大写简称。市面上也被成为Elastic Stack。 Elasticsearch是一个基于Lucene、分布式、通过Restful方式进行交互的近实时搜索平台框架。像类似百度、谷歌这种大数据全文搜索引擎的场景都可以使用Elasticsearch作为底层支持框架,可见Elasticsearch提供的搜索能力确实强大。 Logstash是ELK的中央数据流引擎,用于从不同目标(

iceforg123的博客 2288

SpringBoot 整合Elasticsearch和MySQL

前期准备工作 1、MySQL数据库的准备(需要安装好MySQL5.7) 2、Elasticsearch7.x 的安装和启动 3、把数据导入到MySQL数据库,数据文件获取: 链接: https://pan.baidu.com/s/1RXDkqqEd4Jpnlz4VmecgnA 提取码: zhb4 复制这段内容后打开百度网盘手机App,操作更方便哦 SpringBoot 环境的搭建(https://start.spring.io/) pom.xml导入需要的jar包 <?xml.

vincent_wen0766的博客 1816

elasticsearch 整合springboot

elasticsearch介绍 ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。 elasticserch应用...

ah198855的博客 178
上一篇: Elasticsearch6.4.3文档的映射
下一篇: ElasticSearch高可用集群环境搭建和分片原理
Art&Code
博客等级 码龄7年 77粉丝 554原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值