ElasticSearch第1讲(Linux下安装、原生调用、API调用超全总结、Painless、IK分词器、4种和数据库同步方案、高并发下一致性解决方案、Kibana、 ELK)
Elasticsearch是一个基于Lucene库的搜索和分析引擎,设计用于云计算中,能够达到实时搜索,稳定,可在PB级数据中搜索。
在Linux下安装ElasticSearch,可以选择使用包管理器或者下载压缩包。以下是两种常见的安装方式:
- 使用包管理器安装(以Debian系为例):
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt-get update && sudo apt-get install elasticsearch
- 下载压缩包安装:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.0-linux-x86_64.tar.gz
tar -xzf elasticsearch-7.10.0-linux-x86_64.tar.gz
cd elasticsearch-7.10.0/
启动Elasticsearch服务:
./bin/elasticsearch
Elasticsearch原生调用API的方式主要是通过HTTP请求,可以使用curl命令行工具进行操作。例如,要创建一个索引:
curl -X PUT "localhost:9200/my_index"
查询索引:
curl -X GET "localhost:9200/my_index"
删除索引:
curl -X DELETE "localhost:9200/my_index"
Elasticsearch也支持许多编程语言的客户端,如Java的RestHighLevelClient,Python的elasticsearch等。以下是使用Python的elasticsearch库进行操作的例子:
安装elasticsearch库:
pip install elasticsearch
使用elasticsearch库:
from elasticsearch import Elasticsearch
es = Elasticsearch("http://localhost:9200")
# 创建索引
es.indices.create(index='my_index', ignore=400)
# 获取索引
es.indices.get('my_index')
# 删除索引
es.indices.delete('my_index')
Painless脚本是Elasticsearch中一种安全的、无侵入的方式,用于在Elasticsearch中更新或者修改文档的脚本。以下是一个Painless脚本的例子,它用于更新文档中的一个字段:
POST /my_index/_update_by_query
{
"script": {
"lang": "painless",
"source": "ctx._source.my_field = params.new_value",
"params": {
"new_value": "new_value_for_my_field"
}
}
}
以上是Elasticsearch的基本介绍和安装、调用方法,实际应用中可能还需要进行复杂的配置和安全设置。
评论已关闭