1.ElasticSearch是什么?
Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。
Luncence 是一套信息检查工具包!jar包!不包含搜索引擎系统!包含:索引结构!填写索引的工具!排序,搜索规则....工具类!
2.ElasticSearch和Solr总结
1.ElasticSearch对比Solr来说安装比较简单
2.Solr利用Zookeeper进行分布式管理,而Elasticsearch自身带有分布式协调管理功能。
3.Solr支持更多格式的数据,比如JSON,XML,CSV,而Elasticsearch仅支持JSON.
4.Solr官方提供的功能更多,而Elasticsearch本身更注重于核心功能,高级功能多有有第三方插件提供,例如图形化界面需要Kibana支持!
5.Solr查询快,但更新索引时慢,用于电商等查询多的应用;
ES建立索引快,即实时性查询快,用于facebook新浪等。
6.Solr比较成熟,有一个更大,更成熟的用户,开发和贡献者社区,而Elasticsearch相对开发维护者较少,更新太快,学习成本较高。
3.下载,并熟悉目录
1.安装ealsticsearch
官网下载地址:https://www.elastic.co/cn/downloads/elasticsearch
安装elasticsearch必须要有node.js文档,详细请看官方。
2.安装elasticsearch.head插件,在github上有操作
下载地址:https://github.com/mobz/elasticsearch-head
3.安装IK分词器(注意版本必须相同)
4.ELK是什么?
ELK:是Elasticsearch,Logstash.Kibana三大开源框架首字母大写简称。
收集清洗数据-->搜索,储存-->Kibana
Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索,查看交互存储在Elasticsearch索引中的数据。
5.elasticsearch设计
RelastionalDB Elasticsearch
数据库 索引
表 types(会被弃用)
行 documents (文档)
字段 fields
物理设计:elasticsearch在后台把每个索引划分成多个分片,每个分片可以在集群中的不同服务器间迁移
默认的集群:elasticsearch
逻辑设计:一个索引类型中,包含多个文档,比如文档1,文档2。当我们索引一篇文档时,可以通过这样顺序查找:索>类型>文档ID
6.ES核心(1.索引 2.字段类型 3.文档)
文档: 类似于K,V
类型:类型时文档的逻辑容器,就像关系型数据库一样,表格是行的容器
索引:索引是映射类型的容器
倒排索引:采用Lucene倒排索为底层。这种结构适用于快速的全文搜索,一个索引由文档中所有不重复的列表构成,对于每一个词,都有一个包含它的文档列表。
7.IK分词器插件
即把一段中文或别的划分成一个个关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或索引中的数据进行分词,然后进行一个匹配操作
method
put localhost:9200/索引名称/类型/文档id 创建文档(指定id)
post localhost:9200/索引名称/类型 创建文档(随机id)
post localhost:9200/索引名称/类型/文档id /_update 修改文档
delete localhost:9200/索引名称/类型/文档id 删除文档
get localhost:9200/索引名称/类型/文档id 查询文档(通过id)
psot localhost:9200/索引名称/类型/_search 查询所有数据