やりたいこと github.com/someone/hogeでgithub.com/forked/fugaをimportして利用したいです。 関係性は以下です。 どうやるか 例 https://github.com/elastic/cloud-sdk-goをforkしてhttps://github.com/kotaroooo0/cloud-sdk-goのリポジトリがあるとします…
【SolrCloud on AWS EKSを利用した検索基盤の導入】検索基盤の開発事例について、Blogにてご紹介しております💻ぜひご覧ください✨https://t.co/Kv8VB0iUoA#リクルート #検索基盤— 株式会社リクルート データ推進室 (@Recruit_Data) 2023年11月10日 blog.recrui…
本記事は情報検索・検索技術 Advent Calendar 2022の6日目の記事です。 はじめに 最近はプロダクトの検索システムを全文検索エンジンを利用して開発しています。 通常の機能開発と同じ難しさもあれば、検索機能独特の難しさもあると感じています。 本記事で…
前提 Elasticsearchインデックス Elasticsearchのインデックスは以下の構造になってます。 Elasticsearchのインデックス構造 Merge とは インデックスの構造での Segment は Immutable なので、Document が削除・更新された時には、Segment 内のドキュメント…
やりたいこと 「ナイキ スニーカー」という検索キーワードがあった場合に、ナイキ→ブランド、スニーカー→商品カテゴリとElasticsearchで分類したい。(前提としてブランド名一覧のワード集合と商品カテゴリ一覧のワード集合はあるとする) Elasticsearchで分類…
Elasticsearchのタイムアウト設定とは Elasticsearch側で設定するタイムアウトで、下図②の時間に対するタイムアウト設定のこと。 ドキュメントには以下のように示されています。 タイムアウト時はエラーを返却するわけでなく時間内に蓄積された検索ヒットで…
はじめに タイトルにあるように、12月24日に販売されたWEB+DB Pressに記事を寄稿しました。 gihyo.jp 去年の10月ごろから学習のために全文検索エンジンを自作し始めたのですが、このような機会をいただけるとは全く想像していませんでした。 去年のアドベン…
Elasticsearch用の形態素解析器にKuromojiとは別にSudachiがあります。 こちらは外部プラグインとして提供されています。 詳しくは以下をご覧ください。 qiita.com 以下のリポジトリでElasticsearch用のSudachiプラグインが管理されています。 github.com 問…
はじめに Users テーブル Id Weapons 0 {"sord": "Normal", "hammer" : "Failure"} 1 {"hammer":"Normal"} 以上のようなテーブルがある時、Id:0のユーザーが新しく武器bowを取得した場合はどのようにクエリを発行すれば良いでしょうか。 問題点 上記のように…
資料 今日の登壇資料です!全文検索エンジンを自作している話をしましたhttps://t.co/0MgMH7c0EG#gocon— kotaroooo0 (@kotaroooo0) 2021年4月24日 4500PV, 270ブクマで良い反応があったとポジティブに捉えています。 資料作成 こちらの書籍を参考にしました…
engineer.recruit-lifestyle.co.jp
この記事はRecruit Engineers Advent Calendar 2020の11日目の記事です。 TL;DR 対象読者は転置インデックスを少し知ってるくらいの検索初心者です 検索エンジンに興味が湧き、仕組みを知るためにGoで自作しています 自作検索エンジンのAnalyzerとIndexerとS…
はじめに プログラミング言語Goを読んでいて、ビットベクトルを利用してSetを実装するところがありました。 シンプルかつ思いつきもしない方法だったので紹介します。 プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)作者:Alan A.A. D…
作ったもの トライ木をGraphvizで可視化するものを作りました。 github.com $ brew install graphviz $ go get github.com/kotaroooo0/mute $ vi data.txt $ mute -s data.txt | dot -T png -o sample.png # data.txt keynote keycase king kingdom macbook …
engineer.recruit-lifestyle.co.jp
問題 Docker で Elasticsearch を起動します。 services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.4.0 environment: - discovery.type=single-node ports: - 9200:9200 - 9300:9300 以下の Elasticsearch クライアントライ…
はじめに プログラミング言語 Go の研修を受講しているので学びをメモしていきます。 プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)作者:Alan A.A. Donovan,Brian W. Kernighan発売日: 2016/06/20メディア: 単行本(ソフトカバー) …
はじめに 社の同期 3 人の「スタンプラリー」チームで ISUCON10 予選に出場しました。 最終スコアは 1727 点で予選敗退しました。 50位くらいでした。 本戦出場ボーダーが2158点なので、あと1,2手というところでした。 やったこと(チームで) 予選前 ISUCON9 …
ブログメンタリングについて 6, 7, 8 月と @kakakakakkuさんのブログメンタリングを受けました。 週 2 で記事を投稿するルールを定めて、もし達成できない時は次の週に足りない分を追加で書きます。 例えば、食中毒になり 1 記事も書けなかった週がありまし…
はじめに 業務以外で Go でツールを作ったり、Twitter Bot を作ったりしています。 しかし、コードレビューを受ける機会がなく良い Go の書き方が身につかないのではと不安になりました。 そこで、さまざまな記事を参考にしてコードの書き方を学んでみました…
はじめに やり方 どのデータをオンメモリに載せるか どう実装するか 1. グローバルで変数を宣言します。 2. 初期化処理/initializeでメモリに載せます。 3. SQL を叩いて取得している部分をメモリに載せた Map から取得するように変えます。 おわりに 参考 …
銀の弾丸 以下でキャッシュ活用、ビルド、Push をよしなに行ってくれます。 $ docker login -u $DOCKERHUB_USER -p $DOCKERHUB_PASS # Docker Hub や ECR にログイン $ export DOCKER_CLI_EXPERIMENTAL=enabled # Buildxを有効にする $ docker buildx create…
はじめに 2018 年 10 月に Cloud Native Buildpacks は Cloud Native Computing Foundation (CNCF)に Sandbox として受け入れられました。 CNCF には Kubernetes, Prometheus, Envoy, Fluentd など有名プロジェクトも多く受け入れられています。 Buildpacks …
はじめに これを利用して、ISUCON の練習をします。 github.com 以下でベンチマーカーを動かすところまでできます。 $ git clone https://github.com/matsuu/vagrant-isucon.git $ cd isucon9-qualifier-standalone $ vagrant up $ vagrant ssh # VM上で以下…
はじめに CI では毎回まっさらな環境でテストやビルドができます。 これには、多くは Docker が用いられています。 さらには、Docker で実現されたまっさらな環境でも Docker ビルドなど Docker を利用できます。 前提知識: Docker クライアントと dockerd d…
WHY: なぜ中間イメージをタグ付けするのか 今では Docker イメージの軽量化のためにマルチステージビルドは欠かせません。 ローカルでの実行では問題ありませんが、CI 環境などの dockerd が毎度変わる Docker In Docker(dind)では問題が起こります。 最終イ…
概要 Twitter Account Activity API を使うことでリプライの自動返信をできます。 しかし、手順が複雑であり公式ドキュメントも分かりにくいと感じたため記事にまとめます。 リプライの自動返信には以下の二段階が必要です。 認証を行いアプリケーションを W…
はじめに Docker イメージサイズは小さければ小さいほど、Push と Pull の高速化につながり嬉しいです。 docker historyによってイメージレイヤーごとのサイズは分かりますが、どのレイヤーのどのファイルのサイズが大きいかは分かりません。 $ docker histo…
はじめに 以前、CI 環境での Docker ビルドのキャッシュについて記事を書きました。 kotaroooo0-dev.hatenablog.com 前回の記事のようにマルチステージビルドでない場合は、1 Dockerfile 1 Cache で問題ありませんでした。 しかし、今では Docker イメージの…
本記事での言葉の定義 起動: 動き始めること(例: PC の電源ボタンを押すこと) 稼働: 働きはじめること(例: PC が利用可能になること) はじめに 以下の Redis と MySQL を利用するアプリケーションの docker-compose を考えます。 version: "3" services: app…