Elasticsearch8.7安装及使用

        想搭建一个自己的信息搜索平台用于记录自己的信息,于是选用了Elasticsearch。

        在官网上下载了最新的8.7版,解压后目录如下图:

在运行前建议先配置好jvm相关配置,如内存占用等,默认会占用尽可能大的内存。进入config目录,内容如下:

jvm.options是jvm的配置,需要建立专用文件夹jvm.options.d用于保存配置。Elasticsearch8.7默认启用了HTTPS,需要通过修改elasticsearch.yml进行禁用,否则会出现问题。以上修改完成后,即可进入bin目录运行elasticsearch.bat启动es。启动成功浏览器访问localhost:9200会出现如下返回结果:

 至此,es顺利启动了,接下来是通过java操作es。

        建立Maven项目,引入依赖

    <dependency>
      <groupId>co.elastic.clients</groupId>
      <artifactId>elasticsearch-java</artifactId>
      <version>8.7.1</version>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.12.3</version>
    </dependency>

<!-- 如果出现了 ClassNotFoundException: jakarta.json.spi.JsonProvider 异常,再引入 -->
    <dependency>
      <groupId>jakarta.json</groupId>
      <artifactId>jakarta.json-api</artifactId>
      <version>2.0.1</version>
    </dependency>

es8.7使用ElasticsearchClient进行操作,连接代码如下:

// Create the low-level client
RestClient restClient = RestClient.builder(
    new HttpHost("localhost", 9200)).build();

// Create the transport with a Jackson mapper
ElasticsearchTransport transport = new RestClientTransport(
    restClient, new JacksonJsonpMapper());

// And create the API client
ElasticsearchClient client = new ElasticsearchClient(transport);

client.index(g -> g
                .index("document")
                .document(doc));//在document索引中保存文档doc

 SearchResponse<Document> resp = client.search(s -> s
                    .index("document")
                    .analyzer("ik_max_word").q(kw)
//为查询字符串指定ik分词器,并用Lucene方法查询数据。ik_max_word最细粒度,ik_smart最粗粒度
                     ,
                    Document.class);

以上为基本的一些操作。

*踩过的坑:

1、修改文档字段分词器需要在建立索引的时候通过analyzer字段指定想要的分词器。

2、es的路径不能有空格,否则分词器会出问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值