本記事はZOZOテクノロジーズ アドベントカレンダー#2の17日目の記事です。 TL;DR; ECK動作確認環境構築手順 ECKの仕組み 各構成・設定変更における挙動解説 動作確認環境の構築 本記事の解説で使う環境構築方法を簡単に解説します。なお、Kubernetes環境としてはAmazon Elastic Kubernetes Service(以下、EKS)を利用してますが、EKSセットアップとk8sクラスタ操作必要なkubectl等の設定手順については省略します。また、既にk8sクラスタに接続できる状態になっていることを前提とします。 環境 クライアントOS: macOS Kubernetes versions: client: v1.19.4 server: v1.18.9 ECK: 1.3 セットアップ 既に下記のようにkubectlコマンドでk8sクラスタにアクセスできる状態にな
こんにちは。tech blog 編集長の N です。 今回はポケコロツインの1月中旬頃のアップデートで、「ココロノート」に新たに導入された部分一致検索についてご紹介いたします。 ポケコロツインとは ポケコロツインは「世界一かわいいをつくれるデザイナー」がプロデュースしたふたご着せ替えアプリです。 『ポケコロツイン』は二人のアバター「ココロン」を着せかえたり、二人の動きに癒やされたり・・・。CCPサービスの一つとして、これまで以上にアバターの可愛らしい動きや、表情、世界の表現にこだわりました。 ココロノートとその問題点 ココロノートとは、自分が思ったことを自由に投稿できる、ポケコロツイン内での交流の場(いわゆる掲示板)です。 投稿の公開範囲を 自分のみ・フレンドまで・全体 から選ぶことができます。 従来のココロノートの検索機能では、前方一致検索しか実装されていませんでした。 例えば、ペットを
全文検索は一般的に知られていますが、検索エクスペリエンスで非常に重要な役割を果たしています。ただし、日本語など、一部の言語では、全文検索を実装するのが難しい場合があります。このブログでは、日本語で全文検索を実装する際の課題を探り、Elasticsearchでこれらの課題を解決する方法をいくつか示します。 全文検索とは? Wikipediaより、下記が定義となります。 全文検索とは、コンピュータにおいて、複数の文書(ファイル)から特定の文字列を検索すること。「ファイル名検索」や「単一ファイル内の文字列検索」と異なり、「複数文書にまたがって、文書に含まれる全文を対象とした検索」という意味で使用される。 全文検索は、現在多くのデジタル体験を強化するものです。全文検索は、データセット内に隠れている可能性のある単語やフレーズを見つけようとしてくれます。例えば、ネットショッピングして「phone」を検
第2回目の Elasticsearch 入門は「データスキーマ設計のいろは」です。 設計と言うほどでもないのですが、例えば RDB で検索にフォーカスした設計や、他の検索エンジンも経験していると、これまでの制限や習慣で Elasticsearch の特徴を生かせない設計をしてしまう事があるので、このテーマにしてみました。 それではインデックスするためのデータ構造を Elasticsearch でどのように設計するのか解説したいと思います。 設計フローまで変えてしまう画期的なドキュメント指向型検索エンジン Elastic 社のホームページを見てみると Elasticsearch の特徴の1つとして「Document-Oriented」と言う記載があります。直訳すると「ドキュメント指向」です。 簡単に説明すると 現実世界の複雑なデータをJSONドキュメントにしてインデックスするだけで、デフォル
Elasticsearch はオープンソースの分散型検索分析エンジンです。いろんな形式のデータを保持することができ、複数のフィールドを指定した検索クエリが簡単に書けたり、文字数の多いデータでも高速に検索ができるといった特徴があります。これらの利点を活かして Wantedly でも検索機能や推薦機能の裏側で利用しています。 この記事では Wantedly の本番環境で運用している Elasticsearch について構成と運用についてのノウハウを紹介します。 背景Wantedly では Elasticsearch を Kubernetes 上で運用しています。以前は EC2 上で AutoScaling Group を利用して直接クラスタを構成し、内製ツール (https://github.com/dtan4/esnctl) によって管理していました。しかし、マイクロサービス化の推進によって
ドキュメントの登録、インデックスの作成、マッピングの定義、データの検索などは全てREST API形式のエンドポイントにjsonデータを渡すことで実行できます。 インデックスを作成する際、日付形式などデータから推測できるものは自動でマッピングを定義してくれます。 マッピングは自分で定義することもできます。 フィールドの型以外に、言語解析の方法などが定義できます。 機械学習に頼ることは正解なのか? レコメンドシステムを作る時、基本的に2つのアプローチが候補に上がります。コンテンツベースフィルタリング(内容ベースフィルタリング)と協調フィルタリングです。 コンテンツベースフィルタリング 特徴を持つ商品でA・B・Cがあり、ユーザがそれらに対し「好き/お気に入り」といった特徴が見られるとき、ユーザの好みや趣向の特徴と商品の特徴の類似度を元に、ユーザが好むであろう商品のリストを見つける事ができます。
はじめに Elasticsearchはスケーラビリティに優れた全文検索エンジンですが、Relational Database(以下RDB)が持つ汎用性や機能の豊富さも追求しているように思います。この記事ではRDBの基本機能がどこまでElasticsearchで実現できるかをまとめました。データベースの知識だけで、全文検索を知らなかった私がElasticsearchを勉強し始めた頃に意外に感じた事を中心に両者の違いを比較しています。APIについては言語ごとの違いは言及せず、REST APIについてのみ述べています。特にバージョンの記述がない場合はElasticsearch 5.1を前提にしています。RDBは近年ポピュラーなOracle, SQLServer, DB2, Sybase, PostgreSQL, MySQLなどが準拠しているSQL92標準を前提としています。 基本的な違い RDB
Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
このロゴの色が好きです。 経緯 きっかけ 試験運用開始後ヒープサイズ以外のトラブルに見舞われたことがなかった Elasticsearch ノードについにその日が来たのでメモ 「すんません、kibana 落ちてます?」というお問い合わせ 「こちらこそすんません、すぐに調べます」って調べたら... kibana のダッシュボードにはアクセス出来るけど Elasticsearch に繋がっていない模様 エラーログ 以下のようなログが出て Elasticsearch が止まっていた。 [2014-03-07 09:40:09,761][WARN ][netty.channel.socket.nio.AbstractNioSelector] Failed to accept a connection. java.io.IOException: Too many open files at sun.n
はじめに Elasticsearchを仕事で使うことになったので導入前に考えるであろうことを調査・検証し、まとめてみました。 記載されている内容はほぼ公式ドキュメントから引っ張ってきています。それぞれの章にリンクを付けてありますので、記載されていること以外に気になる部分があればそちらを参照されるとよいと思います。 インストールについて ここで設定している内容はすべてansibleのスクリプトに落としてあります。 5分あればcurl,javaのインストール、Elasticsearchのインストール・初期設定、プラグインのインストールが終わるはずです。 https://github.com/uzresk/ansible-elasticsearch2 環境 CentOS6.7 Java1.8.0_45 Elasticsearch 2.1.1 HeapSizeの設定 Elasticsearchが使
マッピングタイプを使いすぎないようにする Elasticsearchでは1つのインデックスの中に複数の異なるスキーマ定義を持つことができる。このスキーマ定義をマッピングタイプという。単に「タイプ」と呼ばれる事もある。フィールドのデータタイプとは別の概念。インデックスはデータベースに、マッピングタイプはその中のテーブルに例えられる事が多いが、同じ名前のフィールドはマッピングタイプが異なっていても定義が共有されたりして、データベースのテーブルほど互いに独立していない中途半端なものになっている。(2.0より前のバージョンではタイプごとにフィールド定義が異なっていても多少使えたりしたが、2.0以降は厳密に禁止されるようになった. 参照:Conflicting field mappings) タイプが異なっていてもデータは同じLuceneインデックスの中に混ざって入ってしまうため、タイプ間で互いに影
以前少しだけElasticsearchを触った時に、自分流Elasticsearch入門 - $shibayu36->blog; というElasticsearchに入門した時のメモをまとめていた。しかし、その頃はElasticsearchを使って完全に一人で一つの機能を作るというところまではいけなかった。 最近になってまたElasticsearchを一から導入する仕事をすることになった。この時以前自分がまとめた記事を読みながらやっていたのだが、実践で一から導入するためにはこの記事だけでは知識が足りなかった。 そこで、前の記事の知識をベースに、一から導入するために少しずつ学んでいき、自分のブログにまとめるなどのことをしてきたので、今回はその締めくくりとして、知識ゼロからElasticsearchを使えるようになるために学習したことについて書いておきたいと思う。 今回書くこと・書かないこと 今
LuceneベースのNoSQL全文検索サーバ、elasticsearchはログ解析の収集先として取り上げられることが多いですが、優れたNoSQL全文検索サーバでもあります。 日本でも2013年末頃から続々とブログ記事や利用事例が増えている注目の技術でもあります。 今回は、その中で全文検索サーバとしての切り口で分かりやすく解説された6つの記事を紹介します。 (追記)Hello! Elasticsearch. — Medium ナレッジワークス株式会社のKunihiko Kidoさんによるとても分かりやすい記事です。 https://medium.com/hello-elasticsearch 2014年4月に入ってから怒濤の勢いでこれらのステキな記事が追加されています。 Elasticsearch Features — 主にシステムを中心とした特徴まとめ Elasticsearch Quic
はじめに 初めまして、ブロガーとして出張してきました@smokeymonkeyです。 今回、AWS上にElasticSearchを導入し、試行錯誤した結果をまとめてみました。シリーズものとして何度か続けていきたいと思いますので、どうぞ宜しくお願い致します。 ElasticSearchとは Apache v2ライセンスで公開されているオープンソースソフトウェアであり、全文検索エンジンであるLuceneを使用した、全文検索システムです。特徴として RESTfulなAPIが使える InputもOutputもJSON スキーマフリーなので面倒な定義無しにデータを登録可能 等があります。 Kuromojiとは Kuromojiはatilika社製のJavaで書かれた日本語形態素解析ソフトウェアで、Apache v2ライセンスで公開されているオープンソースソフトウェアです。形態素解析としてはChaSe
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く