<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Elasticsearch on Lin's Blog</title><link>https://coder.tw/ja/tags/elasticsearch/</link><description>Recent content in Elasticsearch on Lin's Blog</description><generator>Hugo</generator><language>ja-JP</language><lastBuildDate>Thu, 19 Jan 2017 02:18:24 +0000</lastBuildDate><atom:link href="https://coder.tw/ja/tags/elasticsearch/index.xml" rel="self" type="application/rss+xml"/><item><title>Kibana で日付型フィールドを使ってクエリする</title><link>https://coder.tw/ja/posts/kibana-date-type-field-query/</link><pubDate>Thu, 19 Jan 2017 02:18:24 +0000</pubDate><guid>https://coder.tw/ja/posts/kibana-date-type-field-query/</guid><description>&lt;p&gt;Kibana で特定の期間のデータを検索したいとき、まず思い浮かぶのは Kibana に標準で付いている Time Picker です。本当に便利なツールです。ただ、データによっては日付フィールドが複数あり、Time Picker ではなく Query で絞り込まなければならない場合があります。たとえばメールのデータでは、送信・開封・クリックのたびに私のサーバーへログが送られてきます。そのため時刻が 2 種類あることになります。メールが送られた時刻と、開封やクリックといったイベントが発生した時刻です。こうした場合は、検索バーで日付フィールドを使って検索する必要が出てきます。&lt;/p&gt;</description></item><item><title>WTF Elastic X-Pack License - X-Pack をアンインストールする方法</title><link>https://coder.tw/ja/posts/wtf-elastic-x-pack-license-how-to-uninstall-x-pack/</link><pubDate>Mon, 16 Jan 2017 10:30:47 +0000</pubDate><guid>https://coder.tw/ja/posts/wtf-elastic-x-pack-license-how-to-uninstall-x-pack/</guid><description>&lt;p&gt;検索エンジンからこの記事にたどり着いたのであれば、きっと私と同じく X-Pack に対して山ほどの不満を抱えているのでしょう。最初は、X-Pack は無料で使える便利なプラグインだと思い、Elasticsearch と Kibana にインストールしました。ところが 30 日後、ライセンスの期限が切れたので「ライセンスキーを更新」する必要がある、さもないと Kibana にログインできない、という通知が表示されました。ここまでは、アカウントを登録すれば新しいライセンスキーがもらえるのだろうと思っていました。ところが公式サイトをかなり探しても、ライセンス・料金・購入に関する文言はまったく見つかりませんでした。（後で分かったのですが、実は書いてありました。非常に小さい字で……。お金を稼ぐ気があるのでしょうか。）最終的に、価格プランのページを見つけたのは Google 検索のおかげでした。&lt;/p&gt;</description></item><item><title>Elasticsearch・Kibana のユーザー認証の設定</title><link>https://coder.tw/ja/posts/elasticsearch-kibana-user-auth/</link><pubDate>Sun, 15 Jan 2017 10:00:51 +0000</pubDate><guid>https://coder.tw/ja/posts/elasticsearch-kibana-user-auth/</guid><description>&lt;p&gt;Elasticsearch と Kibana をインストールすると、すぐに大きな問題に気づきます。「あれ、アカウントとパスワードはどこ？」そうなんです。Elasticsearch と Kibana には、一般的なユーザー管理の仕組みが用意されていません。バインドする IP やポートで、内部ネットワークからだけ使えるように制限するしかありません。ただ、私の会社のように固定 IP がない場合や、複数のアカウントを設定したい場合もあるでしょう。そこでこの記事では、HTTP Auth を使って Elasticsearch と Kibana の基本的なユーザー認証を設定する方法を紹介します。&lt;/p&gt;</description></item><item><title>Elasticsearch Script Field（Painless）での文字列 Split</title><link>https://coder.tw/ja/posts/string-split-in-elasticsearch-script-field-painless/</link><pubDate>Wed, 14 Dec 2016 01:29:14 +0000</pubDate><guid>https://coder.tw/ja/posts/string-split-in-elasticsearch-script-field-painless/</guid><description>&lt;p&gt;この記事にたどり着いたということは、きっと Elasticsearch（または Kibana）の Script Field で Split を使う方法を長いこと探していたのでしょう！ ここでは、思いつく限りのキーワードをすべて盛り込みました。私と同じように苦労しているエンジニアが、このことに人生の時間を浪費しないようにするためです……&lt;/p&gt;
&lt;p&gt;先に結論から言うと、Painless は Java Native API をサポートしているとうたっていますが、一部使えないものがあります。そのうちの一つが split です。Elasticsearch の開発チームは、split は時間計算量が悪すぎるとして取り除いてしまったそうです。私は最初そのことを知らず、構文が正しいのかを疑うところから、Java API を import するために特別な構文が必要なのかまで、さまざまな方法を試しました。最後に Elasticsearch の Issue で次の記事を見つけました：【&lt;a href="https://github.com/elastic/elasticsearch/issues/20952"&gt;Painless - Request for native String split function&lt;/a&gt;】。そのときの私の気持ちは……&lt;/p&gt;</description></item><item><title>elasticsearch.py を高速化する方法（バルク操作）</title><link>https://coder.tw/ja/posts/how-to-make-elasticsearch-py-fast-bulk-operate/</link><pubDate>Thu, 08 Dec 2016 00:57:01 +0000</pubDate><guid>https://coder.tw/ja/posts/how-to-make-elasticsearch-py-fast-bulk-operate/</guid><description>&lt;p&gt;Python で Elasticsearch を操作するなら、公式の &lt;a href="https://elasticsearch-py.readthedocs.io/en/master/"&gt;elasticsearch.py&lt;/a&gt; を入れることになるのは避けられません。最近、Python で Email Log を受け取って Elasticsearch に書き込む処理を作っていて、共有したい知見がかなりたまりました。AWS Lambda は実行時間で課金されるため、Lambda 関数を書くときは秒単位で気を遣います。0.5 秒を超えるたびに頭を抱えていました。そこで、最初は .index で1件ずつ挿入し、次に streaming_bulk を使い、最後はどうにも我慢できず parallel_bulk と streaming_bulk を組み合わせました。ここでは、これらの方法の違いと踏んだ落とし穴についてお話しします！&lt;/p&gt;</description></item></channel></rss>