elasticsearch

elasticsearch初步使用
一、本地 windows 安装elasticsearch
  1. 先安装jdk 保证cmd 命令 java 和 javac都正常
  2. 从官网下载ElasticSearch https://www.elastic.co/downloads/elasticsearch,下载zip。
  3. 解压到指定的目录
  4. 进入到\elasticsearch7.9.3\bin执行elasticsearch.bat
  5. http://localhost:9200/
    在这里插入图片描述
  6. ElasticSearch安装为Windows服务
  7. \elasticsearch-7.9.3\bin目录下cmd

elasticsearch-service.bat install
8.services.msc 查看本机服务,然后启动elasticsearch , 然后执行第5步

最后发现版本不合适
换个版本

在springboot 中使用 elasticsearch

Windows本地搭建elasticsearch
1.确定maven中elasticsearch的版本

<!-- elasticsearch -->
<dependency>
	<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifact>
</dependency>

可以看到是6.4.3 那么我们的elasticsearch和ik分词器的版本也是6.4.3

在这里插入图片描述

2.下载elasticsearch6.4.3
网址:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-6-4-3
下载windows 版本

在这里插入图片描述

3.下载完成后解压即可

在这里插入图片描述

4.下载ik分词器
下载地址: https://github.com/medcl/elasticsearch-analysis-ik/releases
找到6.4.3版本

在这里插入图片描述

下载后在elasticsearch6.4.3的plugins 目录下
先新建一个文件夹: analysis-ik,必须是analysis-ik的文件夹名称

在这里插入图片描述

然后elasticsearch-analysis-ik-6.4.zip解压到analysis-ik的文件夹下

在这里插入图片描述

然后修改elasticsearch6.4.3的config目录下elasticsearch.yml

在这里插入图片描述

修改成如下图所示:

在这里插入图片描述

network.host: 192.168.1.101   // 本机的地址
transport.tcp.port: 9300		   // tcp端口,Java 连接的端口
transport.tcp.compress: true	   
http.port: 9200				// http端口 浏览器访问端口

然双击elasticsearch6.4.3的bin目录下elasticsearch.bat 即可运行
5.启动

在这里插入图片描述

浏览器访问:配置的地址是192.168.1.101 ,访问也必须是192.168.1.101,端口是9200

在这里插入图片描述

Spring boot 连接:

在这里插入图片描述

Cluster-name是浏览器访问到的是什么名称,就填什么名称

在这里插入图片描述

Cluster-nodes的端口是9300不是9200

为了使启动时,如果elasticsearch没连接上导致项目启动不了,所在在启动类中加上
/**
 *  Springboot整合Elasticsearch 在项目启动前设置一下的属性,防止报错
 *	 java.lang.IllegalStateException: availableProcessors is already set to [4], rejecting [4]
 */
System.setProperty("es.set.netty.runtime.available.processors", "false");

在这里插入图片描述
java中使用:
启动类中
在这里插入图片描述

OrderRepository
在这里插入图片描述
OrderDocument
order 中必须有一个字段是唯一的,并且加上注解 @Id
在这里插入图片描述

使用:
/**
     * 测试用的,最终删除
     */
    @GetMapping("/pageTest")
    public IPage<OrderDocument> page(OrderParam orderParam, PageParam<Order> page) {

        System.out.println(SpringVersion.getVersion());
        System.out.println(SpringBootVersion.getVersion());

//        OrderDocument order = new OrderDocument() ;
//        order.setOrderId(282L);
//        order.setOrderNumber("1310838029019254784");
//        order.setUserId("86856d60cd844315b100cbf25938a9f3");
//        order.setProdName("ssss");
//        order.setCreateTime(new Date());
//        orderRepository.save(order);


        BoolQueryBuilder orderQuery = QueryBuilders.boolQuery();

        if (orderParam.getProdName() !=null) {
            orderQuery.must(QueryBuilders.matchQuery("prodName", orderParam.getProdName()));
        }
        if (orderParam.getStatus() !=null) {
            orderQuery.must(QueryBuilders.matchQuery("status", orderParam.getStatus()));
        }
        orderQuery.mustNot(QueryBuilders.matchQuery("status", -1));


        // 排序
        Sort sort = new Sort(Sort.Direction.DESC,"createTime");
        PageRequest pageRequest = PageRequest.of((int) page.getCurrent() - 1, (int) page.getSize(),sort);
        Page<OrderDocument> pageOrderDocument = orderRepository.search(orderQuery, pageRequest);

        IPage<Order> pageProduct = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>();
        pageProduct.setTotal(pageOrderDocument.getTotalElements());
        pageProduct.setRecords(mapperFacade.mapAsList(pageOrderDocument.getContent(), Order.class));

        return pageProduct;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值