docker下安装和测试Elasticsearch
elasticsearch官方文档一、安装Elasticsearch1.查询Elasticsearch镜像[root@localhost zwj]# docker search elasticsearchINDEXNAMEDESCRIPTION...
一、安装Elasticsearch
- 1.查询Elasticsearch镜像
[root@localhost zwj]# docker search elasticsearch
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/elasticsearch Elasticsearch is a powerful open source se... 3147 [OK]
docker.io docker.io/kibana Kibana gives shape to any kind of data — s... 1278 [OK]
docker.io docker.io/nshou/elasticsearch-kibana Elasticsearch-6.3.1 Kibana-6.3.1 88 [OK]
docker.io docker.io/itzg/elasticsearch Provides an easily configurable Elasticsea... 67 [OK]
docker.io docker.io/mobz/elasticsearch-head elasticsearch-head front-end and standalon... 36
docker.io docker.io/kubernetes/fluentd-elasticsearch An image that ingests Docker container log... 25
docker.io docker.io/lmenezes/elasticsearch-kopf elasticsearch kopf 17 [OK]
docker.io docker.io/tutum/elasticsearch Elasticsearch image - listens in port 9200. 16 [OK]
docker.io docker.io/bitnami/elasticsearch Bitnami Docker Image for Elasticsearch 12 [OK]
docker.io docker.io/monsantoco/elasticsearch ElasticSearch Docker image 11 [OK]
docker.io docker.io/mesoscloud/elasticsearch [UNMAINTAINED] Elasticsearch 9 [OK]
docker.io docker.io/taskrabbit/elasticsearch-dump Import and export tools for elasticsearch 9 [OK]
docker.io docker.io/justwatch/elasticsearch_exporter Elasticsearch stats exporter for Prometheus 8
docker.io docker.io/blacktop/elasticsearch Alpine Linux based Elasticsearch Docker Image 5 [OK]
docker.io docker.io/centerforopenscience/elasticsearch Elasticsearch 3 [OK]
docker.io docker.io/frodenas/elasticsearch A Docker Image for Elasticsearch 3 [OK]
docker.io docker.io/barchart/elasticsearch-aws Elasticsearch AWS node 2
docker.io docker.io/jetstack/elasticsearch-pet An elasticsearch image for kubernetes PetSets 1 [OK]
docker.io docker.io/phenompeople/elasticsearch Elasticsearch is a powerful open source se... 1 [OK]
docker.io docker.io/thingswise/elasticsearch Elasticsearch + etcd2 peer discovery 1 [OK]
docker.io docker.io/18fgsa/elasticsearch Built from https://github.com/docker-libra... 0
docker.io docker.io/backplane/elasticsearch-curator Elasticsearch Curator (https://github.com/... 0
docker.io docker.io/driveclutch/infra-elasticsearch-aws Elasticsearch Docker for use in AWS 0 [OK]
docker.io docker.io/forkdelta/fluentd-elasticsearch fluent/fluentd with fluent-plugin-elastics... 0 [OK]
docker.io docker.io/wreulicke/elasticsearch elasticsearch 0 [OK]
- 2.加速安装Elasticsearch镜像
[root@localhost zwj]# docker pull registry.docker-cn.com/library/elasticsearch
- 3.启动Elasticsearch
[root@localhost zwj]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.docker-cn.com/library/elasticsearch latest 5acf0e8da90b 5 weeks ago 486 MB
[root@localhost zwj]# docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES01 5acf0e8da90b
bb4f65ab4f3a8920ce7ed605d1d1767f6856f1fdc7154b333a3d19bc6886e526
二、测试Elasticsearch
测试地址:主机地址:9200
使用Postman测试,Postman下载地址
1、索引文档
对于雇员目录,我们将做如下操作:
- 每个雇员索引一个文档,包含该雇员的所有信息。
- 每个文档都将是
employee
类型 。 - 该类型位于 索引
megacorp
内。 - 该索引保存在我们的 Elasticsearch 集群中。
//megacorp 索引名称
//employee 类型名称
//1 特定雇员的ID
PUT /megacorp/employee/1
{
"first_name" : "John",
"last_name" : "Smith",
"age" : 25,
"about" : "I love to go rock climbing",
"interests": [ "sports", "music" ]
}
PUT /megacorp/employee/2
{
"first_name" : "Jane",
"last_name" : "Smith",
"age" : 32,
"about" : "I like to collect rock albums",
"interests": [ "music" ]
}
PUT /megacorp/employee/3
{
"first_name" : "Douglas",
"last_name" : "Fir",
"age" : 35,
"about": "I like to build cabinets",
"interests": [ "forestry" ]
}
用同样的步骤索引三个雇员文档
2、检索文档
目前我们已经在 Elasticsearch 中存储了一些数据, 接下来就能专注于实现应用的业务需求了。第一个需求是可以检索到单个雇员的数据。这在 Elasticsearch 中很简单。简单地执行 一个 HTTP GET
请求并指定文档的地址——索引库、类型和ID。 使用这三个信息可以返回原始的 JSON 文档:
3、删除文档
4、检测是否存在这个文档
5、修改文档
将 HTTP 命令由 PUT
改为 GET
可以用来检索文档,同样的,可以使用 DELETE
命令来删除文档,以及使用 HEAD
指令来检查文档是否存在。如果想更新已存在的文档,只需再次 PUT
。
6、轻量搜索
一个 GET
是相当简单的,可以直接得到指定的文档。 现在尝试点儿稍微高级的功能,比如一个简单的搜索!第一个尝试的几乎是最简单的搜索了。我们使用下列请求来搜索所有雇员:
7、查询字符串 (_query-string_) 搜索
接下来,尝试下搜索姓氏为 ``Smith`` 的雇员。为此,我们将使用一个高亮 搜索,很容易通过命令行完成。这个方法一般涉及到一个 查询字符串 (_query-string_) 搜索,因为我们通过一个URL参数来传递查询信息给搜索接口:
8、使用查询表达式搜索
Query-string 搜索通过命令非常方便地进行临时性的即席搜索 ,但它有自身的局限性(参见 轻量 搜索 )。Elasticsearch 提供一个丰富灵活的查询语言叫做 查询表达式 , 它支持构建更加复杂和健壮的查询。领域特定语言 (DSL), 指定了使用一个 JSON 请求。我们可以像这样重写之前的查询所有 Smith 的搜索 :
9、更复杂的搜索
现在尝试下更复杂的搜索。 同样搜索姓氏为 Smith 的雇员,但这次我们只需要年龄大于 30 的。查询需要稍作调整,使用过滤器 filter ,它支持高效地执行一个结构化查询。
10、全文搜索
截止目前的搜索相对都很简单:单个姓名,通过年龄过滤。现在尝试下稍微高级点儿的全文搜索——一项 传统数据库确实很难搞定的任务。搜索下所有喜欢攀岩(rock climbing)的雇员:
11、短语搜索
找出一个属性中的独立单词是没有问题的,但有时候想要精确匹配一系列单词或者短语 。 比如, 我们想执行这样一个查询,仅匹配同时包含 “rock” 和 “climbing” ,并且 二者以短语 “rock climbing” 的形式紧挨着的雇员记录。为此对 match
查询稍作调整,使用一个叫做 match_phrase
的查询:
12、高亮搜索
许多应用都倾向于在每个搜索结果中 高亮 部分文本片段,以便让用户知道为何该文档符合查询条件。在 Elasticsearch 中检索出高亮片段也很容易。再次执行前面的查询,并增加一个新的 highlight
参数:
更多推荐
所有评论(0)