この記事はRecruit Engineers Advent Calendar 2020の11日目の記事です。 TL;DR 対象読者は転置インデックスを少し知ってるくらいの検索初心者です 検索エンジンに興味が湧き、仕組みを知るためにGoで自作しています 自作検索エンジンのAnalyzerとIndexerとSearcherを紹介します はじめに ここ最近、以下の観点から情報検索への興味が強いです。 技術面: フリーワード検索機能を実装した際にElasticsearchの使いやすさと多機能さに圧倒されたこと。 プロダクト面: 検索がプロダクトに不可欠な機能かつ、 非エンジニアにとって検索エンジンは未知であり知識の乖離が大きいため、エンジニアだからこその価値を提供しやすいこと。 検索エンジンの仕組みを知り情報検索分野に詳しくなるために自作し始めました。 プログラミング言語Goを読んで学んでいるので