以最快速度启动,使其能够在亚马逊Elasticsearch服务上进行搜索
起初
为了实现尝试开始,我将解释如何以最短路径创建能实现全文搜索的Elasticsearch状态。我们将使用亚马逊Elasticsearch服务。关于亚马逊Elasticsearch服务,请参考下面的部分。
大致的步骤如下:
-
- 在AWS上构建Elasticsearch服务环境
- 通过Kibana将数据注入Elasticsearch
这就是了。
创建环境
-
- パブリックに公開されたシングルインスタンスのElastisearch環境(URLにはランダムな文字列が入ります)
-
- インターネットから検索可能で、管理操作は特定IPアドレスからのみに制限
-
- t2.smallインスタンスを使い無料枠内(他サービスを使っていなければ)
- Elasticsearchのバージョンは7.1
准备工作。
-
- インデックス名を決めておく(Elasticsearchのインデックスはデータの入れ物となるもので、RDBのDB名にあたるものです。)
-
- ドメイン名を決めておく(Amazon Elasticsearchでのドメイン名は、Elasticsearchクラスターを識別する名前で、1つのURLを持ちます。この下にElasticsearchの複数のインデックスを持つことができます。)
- 管理アクセスをするPCのグローバルIPアドレスを確認しておく
步骤
在AWS上构建一个Elasticsearch服务环境。
基本上,只需添加域名,选择开发和测试环境,指定实例大小,并设置访问策略,其他都使用默认设置。
-
- 登录AWS管理控制台并切换到东京区域(ap-northeast-1)。
-
- 点击”创建新域”按钮。
-
- 在”选择部署类型”中选择”开发与测试”(单区域模式)。
-
- “版本”保持默认设置。
-
- 点击”下一步”按钮。
-
- 在”配置域”中输入预先决定的域名。
-
- 在”数据节点”中选择t2.small.elasticsearch,并将节点数量设为1。
-
- “数据节点存储”保持默认设置为1个实例。
-
- 不启用专用主节点(不勾选复选框)。
-
- 在”获取快照时间”中使用UTC指定时间(例如,19:00 UTC为04:00 JST)。
-
- 默认保持任意Elasticsearch集群配置。
-
- 点击”下一步”按钮。
-
- 在”网络配置”中选择公开访问。
-
- 由于选定t2.small后无法选择详细访问控制,因此保持默认设置不进行选择。
-
- 不勾选启用Amazon Cognito身份验证(在另一篇文章中进行身份验证设置)。
-
- 在访问策略中,使用”JSON定义的访问策略”并添加下面的访问策略示例。
-
- 加密保持默认设置为将流量发送到域名的HTTPS。
-
- 点击”下一步”按钮。
-
- 点击”确认”按钮。
- 等待域名状态变为活动。
访问政策的例子
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "es:ESHttpGet",
"Resource": "arn:aws:es:ap-northeast-1:[アカウントID]:domain/[ドメイン名]/*"
},
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"es:ESHttpHead",
"es:ESHttpPost",
"es:ESHttpDelete",
"es:ESHttpPut",
"es:ESHttpPatch",
"es:AddTags",
"es:Create*",
"es:Delete*",
"es:Describe*",
"es:Get*",
"es:List*",
"es:Purchase*",
"es:Remove*",
"es:Update*"
],
"Resource": "arn:aws:es:ap-northeast-1: [アカウントID]:domain/[ドメイン名]/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "[アクセス元IPアドレス]/32"
}
}
}
]
}
在Kibana中将数据推送到Elasticsearch。
-
- 在AWS管理控制台的Elasticsearch页面上,点击创建域名的名称来打开
-
- 在Kibana中,使用在URL中指定的位置打开Kibana(通常的URL形式为 https://search-[域名]-[随机字符串].ap-northeast-1.es.amazonaws.com/_plugin/kibana/ )
-
- 在Kibana的欢迎页面上,点击“Explore on my own”
-
- 点击左侧的扳手图标?(=Dev Tools)
-
- 点击“Get to Work”按钮
-
- 在左侧输入GET _search,然后点击播放按钮▶︎或按下CTRL/Command+Retrun以执行并在右侧查看结果是否出现
按照下面的数据插入示例进行描述(索引名为cityindex),点击写有POST的行的播放按钮以尝试插入数据(Elasticsearch在插入数据时会自动创建映射=相当于RDB的表定义)
使用GET cityindex/_search来确认插入的结果
要删除索引,请使用DELETE cityindex
如果要插入多条数据,请参考下面的数据插入示例的多条数据插入的例子
要确认映射(即RDB的表定义),请使用GET cityindex/_mapping
手动进行映射定义,请参考下面的数据插入示例的映射定义的例子
当把索引命名为”cityindex”时,可以进行数据插入的示例为…
POST cityindex/_doc
{
"cityname": "東京",
"countryname": "日本",
"Rank": "19",
"population": "927"
}
POST /cityindex/_bulk
{"index":{"_index":"cityindex"}}
{"cityname":"上海","countryname":"中国","rank":"1","population":"2415"}
{"index":{"_index":"cityindex"}}
{"cityname":"北京","countryname":"中国","rank":"2","population":"1861"}
{"index":{"_index":"cityindex"}}
{"cityname":"ムンバイ","countryname":"インド","rank":"3","population":"1839"}
{"index":{"_index":"cityindex"}}
{"cityname":"デリー","countryname":"インド","rank":"4","population":"1634"}
{"index":{"_index":"cityindex"}}
{"cityname":"カラチ","countryname":"パキスタン","rank":"5","population":"1491"}
{"index":{"_index":"cityindex"}}
{"cityname":"イスタンブール","countryname":"トルコ","rank":"6","population":"1464"}
{"index":{"_index":"cityindex"}}
{"cityname":"コルカタ","countryname":"インド","rank":"7","population":"1405"}
{"index":{"_index":"cityindex"}}
{"cityname":"ラゴス","countryname":"ナイジェリア","rank":"8","population":"1312"}
{"index":{"_index":"cityindex"}}
{"cityname":"モスクワ","countryname":"ロシア","rank":"9","population":"1222"}
{"index":{"_index":"cityindex"}}
{"cityname":"広州","countryname":"中国","rank":"10","population":"1208"}
PUT cityindex
{
"mappings" : {
"properties" : {
"cityname" : {
"type" : "text"
},
"countryname" : {
"type" : "text"
},
"rank" : {
"type" : "integer"
},
"population" : {
"type" : "integer"
}
}
}
}
到这里为止。
有关数据操作,请参考《入门 Elasticsearch》等相关资料。
亚马逊Elasticsearch服务是什么?
亚马逊Elasticsearch服务是由AWS提供的全托管Elasticsearch服务。它非常方便地帮助您开始使用Elasticsearch。有关Elasticsearch的特点,请参阅此处的详细说明(通过研究并尝试使用全文搜索引擎“Elasticsearch”来总结)。关于Elasticsearch的各种衍生(包括亚马逊Elasticsearch服务)的详细信息,请参阅此处(尽可能简明地解释亚马逊Elasticsearch服务的身份验证和授权的繁琐规定)。
请参考以下链接。
请参考下面的链接。
请查看一下此链接。
请点击下面的链接。
-
- 全文検索エンジン「Elasticsearch」を調べて使ってみた色々まとめ
-
- Amazon Elasticsearch Serviceを触ってみた
-
- Amazon Elasticsearch Service の認証・認可に関する面倒くさい仕様をなるべくわかりやすく説明する
-
- はじめての Elasticsearch
- Elasticsearch マッピング