今週のElastic News (2018/07/22~2018/07/28)
今週、Elasticについて新たにWEBで観測した情報をまとめます。
なお、様々なバックグラウンドの方が読まれることを考慮して、各記事に試験的に難易度を記載することにしました。完全に独断と偏見に基づく難易度を設定しますので、参考程度にどうぞ。
- 難易度について
- ☆☆☆:技術的な内容を含まないニュースなど
- ★☆☆:Elastic Stack初心者向けの解説、チュートリアルなど
- ★★☆:Elastic Stackを既に使用している方向け、新機能紹介など
- ★★★:応用的な内容でElastic Stack以外の特定の領域に対する知識を必要とするもの
- なお、★★★については、何の理解が必要なのかを補足するようにします
- その領域について知識があれば、特段難しくないことが多いです
また、各記事における()内は筆者意見です。
- 今週の注目情報
- 公式ブログ
- ウェビナー
- Qiita
- その他ブログ記事など
- 日本語
- 英語
- Learn How to Perform Load Testing in Elasticsearch - DZone Performance
- Apache Solr / Elasticsearch: How to Manage Multi-term Concepts out of the Box?
- Squeezing performance out of Elasticsearch
- A Guide to Deploy Elasticsearch Cluster on Google Kubernetes Engine
- Deprecation of Compose for Elasticsearch 2.4.6 - IBM Cloud Blog
- Deduplicating documents in Elasticsearch
- Remote Query Elasticsearch on Kubernetes
- Elasticsearch Essential Queries
- Creating An Elasticsearch Cluster | Elasticsearch Deep Dive | Linux Academy
- nGram filtering for Elasticsearch in Drupal 8
- Install ELK as Centralized Logfile Management Server on CentOS 7
- 日本語、英語以外の言語
今週の注目情報
今週はElasticsearchに関連する勉強会が2つ開催されました。その際の発表資料を紹介します。
第23回Elasticsearch勉強会
What's new in Elastic Stack 6.3
第23回Elasticsarch勉強会で発表した6.3の新機能の紹介スライドです。 Webinarの録画ビデオではデモもありますので、参考にしていただければと。 https://www.elastic.co/jp/webinars/elastic-stack-6-3
- 難易度:★★☆
- Elasticさんの大谷さんによるスライドです
- Elastic Stack6.3の新機能紹介をされています
- デモはElasticの大輪さんが担当し、KibanaのElastic Map Serviceで日本の都道府県区域に応じたリージョンマップなどを可視化されていました
- その内容は今週のElastic公式ブログ記事「「日本の都道府県区域に応じたRegionMapを作成する」」で詳細を確認することができます
- また、今後の勉強会の開催についてはユースケース別かつ毎月開催する可能性があることを仄めかしていました
Elasticsearch workshop 23_sql
第23回 Elasticsearch勉強会の資料です。 タイトル:「Elasticsearch SQLで何ができるか整理してみた」
- 難易度:★★☆
- Acroquest Technologyの樋口 慎さんによるスライドです
- Elasticsearch SQLについてREST APIでの実行および、CLIによる実行方法などを紹介されています
- また、「第23回 Elasticsearch勉強会で発表して来ました」という記事で発表報告も書かれています
Elasticsearchに関連する最新ネット情報を収集する方法 / How to collect latest web information related to elasticsearch
第23回 Elasticsearch勉強会の発表資料です。 勉強会の詳細はこちら https://www.meetup.com/ja-JP/Tokyo-Elastic-Fantastics/events/252456268/
- 難易度:☆☆☆
- NTTテクノクロスの山下 城司さんによるスライドです
- RSSフィード、Twitter検索、Googleアラートの情報をIFTTT経由でDiscordに通知し、Elasticsearchに関する最新情報を一か所に集約する方法を紹介しています
- そして、その情報をブログにまとめて毎週更新していると…うん、何処かで聞いたような……
【京都開催】Elasticsearch勉強会 #elasticsearchjp
2018年8月2日(木) 19:00: 「京都」で開催します。東京ではないのでご注意ください19時になるとビルの正面入り口のシャッターが下ります。向かって左手の通りにある通用口からお入りください。通用口が閉まっている場合にはインターホンから「801」を呼びだしてください。スピーカー募集中です。興味のある方は、メンバーページの「オーガナイザーへコンタクトする」より連絡か、https://twitte
ちなみに今週には、はてなさんのオフィスをお借りして「Elasticsearch勉強会@京都」を開催されるそうです…が、まだまだ席に余裕がありそうです!
私が京都に居たらぜひ参加したかったのですが…このブログを閲覧されている方で京都近辺在住の方がいらっしゃいましたら、ぜひ参加検討のほど、してみてはいかがでしょうか。
JJUGナイトセミナー「Elasticsearch特集」
Elastic Stackで始めるJavaアプリのパフォーマンス監視 / Intro Elastic Stack and Elastic APM Java
2018/07/25のJJUG ナイトセミナーで使用したスライドになります。 サンプルアプリ、Beats系の設定は以下のGitHubリポジトリで公開してます。 https://github.com/johtani/apm-beats-kubernetes-demo/
- 難易度:★★☆
- Elasticの大谷さんによるスライドです
はじめてのElasticsearchクラスタ
The First Elasticsearch Cluster 2018-07-25 JJUG ナイトセミナー「Elasticsearch特集」
- 難易度:★★★
- Elasticsearchの内部動作に対する理解
- Acroquest Technologyの束野 仁政さんによるスライドです
- 前半でElasticsearchのクラスタリングの仕組みを簡単に説明し、後半で「本番運用前にやっておくべきこと」と題して、本番運用での代表的なトラブル事例とその解決策を紹介しています
- (私は「まさにこんな実践に則した内容が聞きたかった!」と膝を打ちましたが、会場に居たElasticsearchをご存知ない方には、かなりDeep Diveに見えた気がしますw)
- また、「JJUGナイトセミナーで「はじめてのElasticsearchクラスタ」を発表しました」という記事で発表報告も書かれています
- 前半でElasticsearchのクラスタリングの仕組みを簡単に説明し、後半で「本番運用前にやっておくべきこと」と題して、本番運用での代表的なトラブル事例とその解決策を紹介しています
公式ブログ
NEWS
Elastic{ON} Tour 2018: We're Taking the Elasticsearch User Conference on the Road
Join us in one of 30 cities around the world for an Elastic{ON} event tailored to your Elasticsearch journey. Find an event near you. It has been truly humbling to spend time with everyone who has had the chance to attend Elastic{ON}, the Elasticsearch user conference, in San Francisco over the last four years.
- 難易度:☆☆☆
- ElasticのCEO、Shay Banonさんによる記事です
- 今後のElastic{ON}について「年に1回、サンフランシスコでの大きなカンファレンスを開催する代わりに、より多くの(30以上の)国でElastic{ON}Tourを直接開催していく」方針に変更することを公表しています
Welcome Insight.io to the Elastic Team
A note from Shay Banon Today, we welcome another fantastic team to the Elastic family. We are joining forces with Insight.io, creators of a modern source code search platform used by thousands of developers around the world.
- 難易度:☆☆☆
- Shay Banon • Chongzhe Li • Fuyao Zhao • Mengwei Dingさんらによる記事です
ENGINEERING
Elastic Stack 6.3.0 and 6.3.1 May Disable Security for Trial Licenses
If you are currently using a trial license with Elastic Stack 6.2.x or earlier, your X-Pack security functionality may be disabled when upgrading to 6.3.0 or 6.3.1. Previous to version 6.3.0, X-Pack could be downloaded and installed to extend the functionality of the Elastic Stack.
- 難易度:★★☆
- Josh Bressersさんによる記事です
- Elastic Stack 6.2.x以前でX-Packの試用版ライセンスを使用している場合、6.3.0または6.3.1にアップグレードした際、X-Packのセキュリティ機能が無効になるバグがあることを注意喚起しています
- 回避策
- バグ対処された6.3.2を使用する
- その際、
elasticsearch.yml
にxpack.security.enabled: true
を明示的に記載する必要がある
How to Build Application Search with Ruby on Rails (Sample Code)
When people interact with their computer or phone, often times it looks like this: activate the screen, open the browser, type cryptic strings into an empty search bar, scan the results for a moment, then click on a top result. Search has given tremendous power to Internet users.
- 難易度:★★★
- Elastic App Search Serviceに対する理解
- Ruby on Railsに対する理解
- Kellen Person • James Ruckerさんらによる記事です
RELEASES
- リリースブログはありませんでしたが、サイレントに6.3.2がリリースされていました
Elastic Stack Updates
This Week in Elasticsearch and Apache Lucene - 2018-07-27
Ingest Processors We have recently undertaken an effort to add significant functionality to the ingest node feature of Elasticsearch.
- 難易度:★★★
- 既存のElasticsearchの機能に対する理解
- Tom Callahan • Adrien Grand • Boaz Leskes • Jay Modi • Colin Goodheart-Smithe • Jason Tedorさんらによる記事です
- 最近のElasticsearchとApache Luceneに対するアップデートサマリ
- Elasticsearch
- 幾つかのingest pipelineの改良が進行中
- 「Weighted Average Aggregation」の追加
- 加重平均を算出するAggregation
- ロールアップ機能のバグを修正中
- 様々なセキュリティ機能を統合
- ナノ秒のタイムスタンプを有効にできるようにする予定
- Zen2 node discovery機能のPRを開始
- SQL用の文字列サポート関数(CONCAT, LEFT, RIGHT, REPEAT, POSITION, LOCATE, REPLACE, SUBSTRING, INSERT)を追加中
- Apache Lucene
- ヒット数をデフォルトで無効に
- ReqOptSumScorerの最適化
- LatLonPointがlucene-coreに昇格
- SegmentReaderがソフト削除とハード削除の両方を公開するように
- getSubMatches()メソッドが追加
ウェビナー
Prepare and Protect GDPR Data using Elastic Stack
Sabyasachi Gupta, aka Sabby, has been working in the software industry for his entire career. Sabby has performed multiple roles - starting as a Software Engineer and then managing projects to architecting startup products and leading and managing high-performance agile product teams. He has experience in multiple business domains like healthcare, media, airline, financial, and more.
- 難易度:★★☆
- ZaloniのSabyasachi Guptaさんによるウェビナーです
- Elastic StackにおいてGDPR対応をする場合、どのようにすべきかを紹介しています
- 章立ては以下です ※()内は再生時間
- (また、Elastic Stackに関するGDPR対応に関しては過去幾つかの記事が存在します)
Optimizing your Machine Learning Jobs in Elasticsearch | Elastic
Joining the Elastic team from the Prelert acquisition, Rich has over 20 years experience as a Solutions Architect / Pre-Sales Systems Engineer for software, hardware, and service-based solutions. Rich's technical specialties include: Big data analytics, Machine learning, Anomaly detection, Threat detection, Security Operations, Application Performance Management, Web Applications, and Contact Center Technologies.
- ElasticのThomas GrabowskiさんとRich Collierさんによるウェビナーです
- X-Pack Machine Learningの使用方法をNYタクシー乗降データを対象として学ぶ内容になっています
- (基本的な使い方などはElastic公式ブログの大輪さんによる記事「ニューヨーク市のタクシー乗降データでMachine Learningを体験する」や、同様に大輪さんによるウェビナー「時系列データの異常検知 実践入門」を見た方が、日本語のため分かりやすいと思います)
- (その他、上記では学べない内容として今回のウェビナーでは以下が紹介されています)
- Saved Searchに対するMachine Learningを実行する(19:27~)
- 異常値などを取り除いたSaved Searchを作成しておくことで、ETLの面倒さが緩和される
- 6.2.0から追加されたCalendar Management機能を使って祝日などを設定する(27:12~)
- これにより、祝日に乗降数が減少する事象を異常ではなくす
- Time Series Visual Builderのannotationで異常な箇所を表示する(43:10~)
- Saved Searchに対するMachine Learningを実行する(19:27~)
- X-Pack Machine Learningの使用方法をNYタクシー乗降データを対象として学ぶ内容になっています
Qiita
Logstashを用いてMS SQL ServerのデータをElasticsearchに登録するための設定方法 - Qiita
目標 Windows環境でSQLServerのデータをkibanaで見えるようにするための環境を構築すること ※kibanaの使い方等は含みません。単純にデータが登録された所までの記事になります。 ## 環境+使用ツール - ...
- 難易度:★☆☆
- @yukiqさんによる記事です
- Windows環境でMS SQL ServerのデータをLogstash経由でElasticsearchに投入する方法を紹介しています
Elasticsearch + KibanaをDocker Composeで動かす - Qiita
Docker Compose`を利用して、`Elasticsearch`を3ノード1クラスタ構成で起動させた - `Kibana`も立ち上げて、`Elasticsearch`と連携させた - `Docker Compose`の設...
- 難易度:★☆☆
- @sugikeitterさんによる記事です
- kuromoji入りのElasticsearchクラスタ3台とKibanaを立ち上げるdocker-composeでデプロイする方法を紹介しています
その他ブログ記事など
日本語
ELKで始めるElasticStack6入門 (Elasticsearch, Kibana, Logstash)
ELKで始めるElasticStack6入門 (Elasticsearch, Kibana, Logstash)
- 難易度:★☆☆
- Wedding Parkの菅原さんによる記事です
- Elasticsearch / Logstash / Kibanaについて入門者向けに基本的なコンセプトと使い方を紹介しています
DockerでElasticSearchを試す1 | ハックノート
DockerでElasticSearchを使って見ます。
- 難易度:★☆☆
- ハックノートのtakayasuさんによる記事です
- Elastic公式ドキュメントに則ってElasticsearchのDockerコンテナを起動する方法を紹介しています
docker-composeでのRails環境にElasticsearchを組み込む - ウェブエンジニア珍道中
dockerを用いたRailsの開発環境に新たにElasticsearhを組み込んだのでまとめます。
- 難易度:★☆☆
- id:te-nuさんによる記事です
- docker-composeでRails環境をデプロイしている場合に、どのようにすればElasticsearch+Kibanaを追加できるか紹介しています
elasticsearch-railsからElasticsearchの設定を変更する方法 - patorashのブログ
Elasticsaerchのインポートを速くしたいと思って現在試行錯誤しているのだけれど、全然速くならなかったので一旦コードを元に戻そうかと思っている。しかし、設定を変更するための仕方を調べるの結構手間取ったので、とりあえずそれだけ残しておく。 Foo.__elasticsearch__.client.indices.put_settings( index: Foo.index_name ...
- 難易度:★☆☆
- id:patorashさんによる記事です
- elasticsearch-railsからElasticsearchのindex設定を変更する方法を紹介しています
英語
Learn How to Perform Load Testing in Elasticsearch - DZone Performance
In this article, we will learn to create and run a load test on Elasticsearch with Apache JMeter™. We will create a search request and monitor the results, the relevance of results and the errors if there are any. We will also mention the most common problems that can be identified by means of stress testing.
Apache Solr / Elasticsearch: How to Manage Multi-term Concepts out of the Box?
This flash blog post will address a very specific and common problem : how to manage entities/concepts composed by multiple terms in a vanilla Apache Solr/Elasticsearch instance ( no plugins or extensions to install). An Elasticsearch or Apache Solr infrastructure where you cannot install third-party components (e.g. plugins, filters, query parsers).
- 難易度:★★★
- Multi-word Synonymsに対する理解
- ANDREA GAZZARINIさんによる記事です
- USAやUnited States of Americaなど表記揺れを吸収する仕組みとしてMulti-Word Synonymsを使用する方法を紹介しています
- (この記事だけでは理解が難しかったので、Definitive GuideのMultiword Synonyms and Phrase Queriesを読むと良いです)
Squeezing performance out of Elasticsearch
Lately my colleague Michał described how he tracked a Java memory leak. Although that problem was completely solved, new complications suddenly appeared on the horizon. As it usually happens, everything started with an alert from our monitoring system which woke me up in the middle of the night.
- 難易度:★★☆
- Dorian Sarnowskiさんによる記事です
- MongoDBからデータを取得し、Elasticsearchへインデクシングするシステムで、ある日からインデクシングに20分かかるようになった、その原因を探求していく内容になっています
- 数カ月前、インデクシングにかかる時間は2分であり、ドキュメントの数も3~4倍程度にしか増加していないため、20分もかかることはないはずである
- また、データをストリーミングしていたため、プロセスのどの部分が処理を遅くしているか分からなかった
- メトリックを見ても、原因は分からない
- 様々な観点から設定を変更してみたが、最終的に発覚した問題は深いネストを持つインデックス構造にあった
- 試しに、そのフィールドを登録しないようにしたところ4.5分で登録が完了した
- 現在は、ネストを削除し、すべてフラットな構造に変更している
- (物語調で非常に読みやすいです)
- MongoDBからデータを取得し、Elasticsearchへインデクシングするシステムで、ある日からインデクシングに20分かかるようになった、その原因を探求していく内容になっています
A Guide to Deploy Elasticsearch Cluster on Google Kubernetes Engine
This is a simple guide that helps you to deploy Elasticsearch cluster on Google Kubernetes Engine. This guide should be relevant on any Kubernetes cluster with a simple tweak on the persistent volume part. The overall step-by-step is like the following: Enable the persistent volume via Storage Classes.
- 難易度:★★★
- k8sに対する理解
- ただ実行するだけなら★☆☆
- Bayu Aldi Yansyahさんによる記事です
- GKE(Google Kubernetes Engine)にElasticsearchクラスタをデプロイする方法を紹介しています
Deprecation of Compose for Elasticsearch 2.4.6 - IBM Cloud Blog
IBM Cloud Compose will be ending support and hosting of Elasticsearch 2.4.6 and earlier versions over the coming months.
- 難易度:☆☆☆
- DJ Walker-Morganさんによる記事です
Deduplicating documents in Elasticsearch
Overview In this blog post we cover how to detect and remove duplicate documents from Elasticsearch by using either Logstash or alternatively by using custom code written in Python. Example document structure For the purposes of this blog post, we assume that the documents in the Elasticsearch cluster have the following structure.
- 難易度:★★☆
- Alexander Marquardtさんによる記事です
Remote Query Elasticsearch on Kubernetes
Developing on our local workstations has always been a conceptual challenge for my team when it comes to remote data access. Local workstation-based development of services that intend to connect to a wide range of remote services that may have no options for external connections poses a challenge.
Elasticsearch Essential Queries
The following is an overview for querying Elasticsearch. Over the years I have tried to assemble developer notes for myself and my team on a variety of platforms, languages and frameworks, a type of cheat-sheet but with context, not a comprehensive how-to, but a decent 15-minute overview of the features we are most likely to implement in a given iteration.
- 難易度:★☆☆
- 引き続き、Craig Johnstonさんによる記事です
- Elasticsearchの各種REST APIに対する操作方法を紹介しています
- インデックスの削除/作成/更新
- 検索
- Range / Filter
- Aggregation
- count / average / max / min / percentile / percentile rank / histgram
- Elasticsearchの各種REST APIに対する操作方法を紹介しています
Creating An Elasticsearch Cluster | Elasticsearch Deep Dive | Linux Academy
Wanting to dive deep into Elasticsearch? Check out our in-depth, hands-on course on Elasticsearch Deep Dive at: https://linuxacademy.com/devops/training/course/name/elastic-certified-engineer =============== The Elasticsearch Deep Dive course will give you an understanding on the core functionality of Elasticsearch. Get hands-on experience with installing, indexing and querying through 12 hands-on labs.
- 難易度:★☆☆
- Linux AcademyのMyles Youngさんによる動画です
- Elasticsearch Deep Diveという講座の一部であるElasticsearchのクラスタリング設定についてデモする動画です
- この動画とCreating An Elasticsearch Cluster Part IIのみがお試し動画として公開されています
- Elasticsearch Deep Diveという講座の一部であるElasticsearchのクラスタリング設定についてデモする動画です
nGram filtering for Elasticsearch in Drupal 8
A powerful content search can be built in Drupal 8 using the Search API and Elasticsearch Connector modules. Out of the box, you get the ability to select which entities, fields, and properties are indexed into an Elasticsearch index. You also have the ability to tailor the filters and analyzers for each field from the admin interface under the "Processors" tab.
- 難易度:★★★
- Drupalに対する理解
- BLUEOAKINTERACTIVEさんによる記事です
Install ELK as Centralized Logfile Management Server on CentOS 7
This tutorial explains how to setup a centralized logfile management server using ELK stack on CentOS 7. As anyone who not already know, ELK is the combination of 3 services: ElasticSearch, Logstash, and Kibana. To build a complete centralized log management server using this concept, it would require to have each of this package as it's serve a different purpose and related to each other.
- 難易度:★☆☆
- shahril bin kamaruzzamanさんによる記事です
- CentOS 7にElasticsearch / Logstash / Kibanaをインストールする方法を紹介しています
日本語、英語以外の言語
Searching Images in Elasticsearch using Luminoth
- 難易度:★★★
- Luminothに対する理解
- tryo labsのAgustín Azzinnariさんによる記事です(スペイン語)
- Python製の深層学習画像認識ライブラリであるLuminothを使用して、Elasticsearch内の画像をキーワード検索する方法を紹介しています
- (GitHubにデモアプリのdocker-composeがコミットされているので、気になる方は動作確認してみると良いです)
今週は以上です。
"No matter where you go, everybody's elastic."