ElasticSearch看完狂神说视频课的总结

本文档详细介绍了Elasticsearch的安装验证、图形化界面Head和Kibana的使用,以及遇到的问题及其解决方法。包括Elasticsearch.bat闪退、Kibana启动失败、SpringBoot中版本对应问题和@Autowired注入问题。此外,还提供了Elasticsearch的索引操作、查询方式(match与term的区别)以及跨域、Maven项目配置、ArrayList遍历等Java开发技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

视频课

【狂神说Java】ElasticSearch7.6.x最新完整教程通俗易懂_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

ElasticSearch的3个网站URL

1、http://127.0.0.1:9200/:显示出网页,则表明成功安装并运行ElasticSearch。
2、elasticsearch-head http://127.0.0.1:9100/:ES的图形化界面插件客户端,名字是Head。

F:\狂神说ElasticSearch软件\elasticsearch-head-master\elasticsearch-head-master>npm run start

> elasticsearch-head@0.0.0 start F:\狂神说ElasticSearch软件\elasticsearch-head-master\elasticsearch-head-master
> grunt server

Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9100

3、开发工具 - Elastic http://127.0.0.1:5601/app/dev_tools#/console:Kibana,是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。

表明成功安装并运行了ElasticSearch。
ES的图形化界面插件客户端,名字是Head。
Kibana,是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。

遇到的问题和解决

1、elasticsearch.bat闪退

解决方法:
1、查看日志,找出闪退原因。
在这里插入图片描述

错误:

Caused by: java.nio.file.NoSuchFileException: F:\狂神说ElasticSearch软件\elasticsearch-7.12.0-windows-x86_64\elasticsearch-7.12.0\plugins\elasticsearch-analysis-ik-master\plugin-descriptor.properties

解决:在这里插入图片描述
在这里插入图片描述

2、访问http://127.0.0.1:5601/app/dev_tools#/console出现Kibana server is not ready yet。

解决:关掉elasticsearch和kibana的控制台,然后重启elasticsearch,等它完全启动,即看到127.0.0.1:9200后,再启动kibana。

3、Spring Boot中使用ElasticSearch的版本对应问题

Spring Boot项目的pom.xml文件,要自己加一句"<elasticsearch.version>7.12.0</elasticsearch.version>"来用自己版本的elasticsearch,不然报错。

<properties>
	<java.version>8</java.version>
	<elasticsearch.version>7.12.0</elasticsearch.version>
</properties>
4、@Bean交给Spring托管了,@Autowired无法注入。

解决:因为在main/java/com/kuang/ElasticsearchClientConfig.java里注入,在test/java/com/demo/DemoApplicationTests.java里导入,两边包不对应,所以报错,把后面包的名字demo改为kuang就好了。

使用kibana

1、要执行某条命令时,必须光标在该条命令上,然后点击该条命令的执行按钮。这两点缺一不可。否则会显示"未选择任何请求"。

在这里插入图片描述

2、历史记录:可以看到并重新执行之前执行过的命令。

在这里插入图片描述

3、在 kibana 中测试 ik 分词器

# ik_smart : 粗粒度分词,优先匹配最长词
GET _analyze
{
  "analyzer": "ik_smart",
  "text": "超级喜欢狂神说Java"
}

# ik_max_word : 细粒度分词,会穷尽一个语句中所有分词可能
GET _analyze
{
  "analyzer": "ik_max_word",
  "text":  "超级喜欢狂神说Java"
}

4、关于索引的基本操作

在这里插入图片描述

PUT /test1/type1/1
{
  "name": "狂神说",
  "age": 3
}

PUT /test2
{
  "mappings": {
    "properties": {
      "name": {
        "type": "text"
      },
      "age": {
        "type": "long"
      },
      "birthday": {
        "type": "date"
      }
    }
  }
}

GET /test2

PUT /test3/_doc/1
{
  "name": "狂神说",
  "age": 13,
  "birth": "1997-01-05"
}

GET /test3

GET _cat/health

GET _cat/indices?v

PUT /test3/_doc/1  
{
  "name": "狂神说123",
  "age": 13,
  "birth": "1997-01-05"
}

POST /test3/_doc/1/_update
{
  "doc":{
    "name": "法外狂徒张三"
  }
}

DELETE test1

5、精确查询

  • term:通过倒排索引指定的词条进行精确查找,效率高。
    • keyword:不会被分词器解析。
    • text:会被分词器解析。
  • match:会使用分词器解析(先分析文档,再通过分析的文档进行查询),效率低,但如果需要分词,则必须使用这个。

match在匹配时会对所查找的关键词进行分词,然后按分词匹配查找,而term会直接对关键词进行查找。一般模糊查找的时候,多用match,而精确查找时可以使用term。

# 创建数据
PUT /wang/user/1
{
  "name":"小王",
  "age":23,
  "desc":"一顿操作猛如虎,一看工资2500",
  "tags":["技术宅","帅气","宅男"]
}
# 会把“wang/user”下的所有name为“小王”、“小王学长”、“王公子”的数据都查出来。
GET wang/user/_search
{
  "query": {
    "match": {	
      "name": "小王"
    }
  }
}

# 会啥都查不出来
GET wang/user/_search
{
  "query": {
    "term": {
      "name": "小王"
    }
  }
}

参考:
ElasticSearch中字符串类型(Text和keyword)的选择_Aquilian的专栏-优快云博客
ES中match和term差别对比_张胜楠的博客-优快云博客
狂神说ElasitcSearch笔记(一)_小Wang_start的博客-优快云博客_狂神说elasticsearch笔记

其他

1、浏览器同源策略、跨域。
什么是跨域?怎么解决跨域问题?_L瑜-优快云博客_跨域是什么
浏览器同源策略及跨域的解决方法 - laixiangran - 博客园
2、
在pom.xml 文件上右键 Add as Maven Project,maven选项就又出现了。
idea maven项目,右键项目,没有maven菜单了_c6c6c的博客-优快云博客_idea项目右键没有maven

3、list.forEach(System.out::println);,可以一行搞定循环输出。

ArrayList<String> list=new ArrayList<>();
list.add("hello");
list.add("world");
list.forEach(System.out::println);

4、构建器模式(Builder)。
Java设计模式——构建器模式(Builder)(一)_scorpio的博客-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值