elasticsearch:一个基于Lucene的开源分布式搜索引擎,用于快速处理和检索大规模数据
Lucene:Apache的开源搜索引擎类库,提供搜索引擎核心API
应用场景:日志分析,监控,全文搜索
Logstash:数据收集,转换,转发工具
Kibana:数据可视化和仪表板工具
Beats:轻量级的数据传输工具
ELK:elastic stack,以elasticsearch为核心的技术栈,包括elasticsearch,Logstash,Kibana,Beats
正向索引:基于文档id创建索引,查询时先找到文档,再判断是否包含词条
倒排索引:基于词条创建索引,查询时先根据词条找到文档id,再根据文档id找到文档
PUT /索引名称
{
"mappings": {
"properties": {
"title": {
"type": "text",
"analyzer": "ik_smart"
},
"email": {
"type": "keyword",
"index": false
},
"name": {
"type": "object",
"properties": {
"firstName": {
"type": "keyword"
},
"lastName": {
"type": "keyword"
}
}
}
}
}
}
GET /索引名称
DELETE /索引名称
HEAD /索引名称
PUT /索引名称/_mapping
{
"properties": {
"字段名": {
"type": "integer"
}
}
}
POST /索引名称/_doc/文档id
{
"字段1": "值1",
"字段2": "值2",
"字段3": {
"子属性1": "值3",
"子属性2": "值4"
}
}
GET /索引名称/_search
GET /索引名称/_doc/文档id
DELETE /索引名称/_doc/文档id
PUT /索引名称/_doc/文档id
{
"字段1": "值1",
"字段2": "值2",
"字段3": {
"子属性1": "值3",
"子属性2": "值4"
}
}
POST /索引名称/_update/文档id
{
"doc": {
"字段名1": "值1",
"字段名2": "值2"
}
}
下载地址:https://www.elastic.co/cn/downloads/elasticsearch
设置环境变量
SERVICE_ID:服务的内部标识符
SERVICE_DISPLAY_NAME:服务在服务管理器中显示的名称
安装为windows服务
elasticsearch-service.bat install
通过服务管理器来管理Elasticsearch
elasticsearch-service.bat manager
配置config\elasticsearch.yml,启用安全功能
xpack.security.enabled: true
设置密码,切换到bin目录,打开cmd窗口,用户名为elastic
elasticsearch-setup-passwords interactive
访问es:http://localhost:9200/
下载地址:https://www.elastic.co/cn/downloads/kibana
配置config/kibana.yml,密码需要跟elasticsearch中设置的保持一致
elasticsearch.hosts: ["http://localhost:9200"]
elasticsearch.username: "kibana_system"
elasticsearch.password: "123456"
安装为Windows服务
nssm install Kibana D:\tools\kibana-7.17.6\bin\kibana.bat
访问Kibana:http://localhost:5601
下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
解压后将文件夹重命名为ik,移动到elasticsearch的plugins目录中,重启elasticsearch
模式
ik_smart:智能切分,粗粒度
ik_max_word:最细切分,细粒度
配置config\IKAnalyzer.cfg.xml
IK Analyzer 扩展配置
ext.dic
stopword.dic