Elasticsearch简介
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Elasticsearch简介,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2710字,纯文字阅读大概需要4分钟。
内容图文
![Elasticsearch简介](/upload/InfoBanner/zyjiaocheng/1028/a7918aa21ce54857a16dc271a97d1955.jpg)
Elasticsearch
安装(7.12)
官网 地址:https://www.elastic.co/
下载后直接以bin目录中elasticsearch文件启动,系统需要安装好jdk
config文件夹中jvm.options文件中定义es的jvm各项配置
笔记本上开启es时要注意非常吃内存,可在该文件中修改-Xms与-Xmx参数,不然可能申请内存不足启动失败
http://localhost:9200 访问看是否正常启动,正常返回值
{
"name" : "B000000338032",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "BTfxGnO-QiuyFYWgzsxMnQ",
"version" : {
"number" : "7.10.2",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "747e1cc71def077253878a59143c1f785afa92b9",
"build_date" : "2021-01-13T00:42:12.435326Z",
"build_snapshot" : false,
"lucene_version" : "8.7.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
客户端图形工具:
elastichd
开发sdk
此处主要讨论java
sdk种类
官方推荐:
1、Java Low Level REST client
2、Java Low High REST client
spring家族:spring-data-elasticsearch
spring-data-elasticsearch
Entity:
@Document(indexName = "person")
@Data
public class Person {
@Id
@Field(type = FieldType.Long)
private Long id;
@Field(type = FieldType.Keyword)
private String firstname;
@Field(type = FieldType.Keyword)
private String lastname;
}
Repository:
public interface PersonRepository extends CrudRepository<Person, Long> {
List<Person> findByLastname(String lastname);
List<Person> findByFirstnameLike(String firstname);
}
Service:
@Service
public class MyService {
@Autowired
private final PersonRepository repository;
public MyService(PersonRepository repository) {
this.repository = repository;
}
public void doWork() {
repository.deleteAll();
Person person = new Person();
// person.setId(1L); 不设置id es会自动生成一个随机字符串作为id
person.setFirstname("Oliver");
person.setLastname("Gierke");
repository.save(person);
List<Person> lastNameResults = repository.findByLastname("Gierke");
List<Person> firstNameResults = repository.findByFirstnameLike("Oli");
return;
}
}
? es存储结果:
关键名词
索引(index):相当于mysql的数据库,只是一个用来指向一个或多个分片(shards)的“逻辑命名空间”
类型(type):相当于关系型数据库中的表,每个 类型(type)都有自己的映射(mapping)或者结构定义,就像传统数据库表中的列一样。所有类型下的文档被存储在同一个索引下,但是类型的映射(mapping)会告诉Elasticsearch不同的文档如何被索引
唯一标识(id):唯一标识一个文档,相当于mysql的主键
分片(shard) :最小级别的工作单元,他只是保存了索引中所有数据的一部分,分片就是一个lucene实例。我们的文档存储在分片中,并且在分片中被索引,但应用程序不会直接与分片进行通信,而是直接与索引进行通信。
当集群扩容或缩小,ES会自动在你的节点间迁移分片,使集群保持平衡。分片可以是主分片和复制分片。索引中的每个文档属于一个单独的主分片,所以主分片的数量决定了索引最多能存储多少数据。
内容总结
以上是互联网集市为您收集整理的Elasticsearch简介全部内容,希望文章能够帮你解决Elasticsearch简介所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。