検索エンジン
#情報検索
検索エンジン
検索エンジンがすること
検索する為のデータの保存=インデクシング
検索クエリを投げられたらレスポンスを返す=検索
検索とは
検索クエリの解釈
検索クエリの解釈
単語分割
SolrとElastic Searchのコアは同じApache Lucene
ユーザーログを活用したZOZOTOWNの検索サジェスト改善
https://techblog.zozo.com/entry/zozotown-search-suggestion
Elasticsearchで日本語の全文検索の機能を実装する
https://www.elastic.co/jp/blog/how-to-implement-japanese-full-text-search-in-elasticsearch
Building a full-text search engine in 150 lines of Python code
https://bart.degoe.de/building-a-full-text-search-engine-150-lines-of-code/
Building Smarter Search Products: 3 Steps for Evaluating Search Algorithms
https://shopify.engineering/evaluating-search-algorithms
検索自作エンジン入門 Go Conference 2021 Spring
https://speakerdeck.com/kotaroooo0/jian-suo-zi-zuo-enzinru-men-go-conference-2021-spring
https://github.com/kotaroooo0/stalefish
検索結果の品質向上 / Improvement of The Quality of Search Results
https://speakerdeck.com/recruitengineers/improvement-of-the-quality-of-search-results
一般的な検索品質向上の話に加えて、nDCG(=正規化された効果減少の累積報酬)の話がある
アンチパターン
インデクシングにもN+1があり、
例えば時期によって変化する値を一つのカラムとしてindexすると、時期毎に全件reindexが必要になる
検索の評価に関するあれこれ
https://www.nogawanogawa.com/entry/ndcg
クックパッドマートの多種多様な商品名から、扱いやすい「食材キーワード」を予測する
https://techlife.cookpad.com/entry/2021/10/26/100000