SpringBoot+ElasticSearch小结

首先先安装并启动ElasticSearch,别忘了按装ik分词器。

如何查看ElasticSearch是否启动,Ik分词器是否安装:

ES安装启动教程:

IK分词器安装启动教程:

1.ElasticSearch的HTTP默认端口是9200,我们可以postman get请求查看

2.我们可以用Http请求ES接口来确认Ik分词器是否安装完成

3.用@Configuration创建ES客户端的bean。注意ES tcp监听端口是9300

引入依赖

        <!--es-->
        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>${elasticsearch.version}</version>
        </dependency>

        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>transport</artifactId>
            <version>${elasticsearch.version}</version>
        </dependency>

配置ES客户端

import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.network.InetAddresses;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.TransportAddress;
import org.elasticsearch.transport.client.PreBuiltTransportClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
/**
 * ElasticSearch配置类
 * */
public class EsConfig {
    @Value(value = "${spring.data.elasticsearch.cluster-name}")
    private String clusterName;

    @Bean
    public TransportClient buildClient() {
        Settings setting = Settings.builder()
                .put("cluster.name", clusterName)//指定集群名称
                .put("client.transport.sniff", true)//启动嗅探功能
                .build();

        TransportClient client = new PreBuiltTransportClient(setting);
        TransportAddress transportAddress = new TransportAddress(InetAddresses.forString("127.0.0.1"), 9300);
        //ESTCP监听端口是9300
        client.addTransportAddresses(transportAddress);

        return client;
    }
}

创建ES 文档

ES的文档相当于关系型数据库中的表。ES中的mapping相当于数据库中表的字段,可以指定Mapping的类型,若类型为text,则分词器会对其进行分词,若类行为keyword则不会对其进行分词,此外还支持

POST http://127.0.0.1:9200/passbook/merchant/_mapping

{
	"merchant": {
		"properties": {
			"name": {
				"type": "text",
				"analyzer": "ik_max_word",
				"search_analyzer": "ik_smart"
			},
			"detail": {
				"type": "text",
				"analyzer": "ik_max_word",
				"search_analyzer": "ik_smart"
			}
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值