Open7

検索エンジンを自作したい

okita kamegorookita kamegoro

業務で検索エンジンを実装する必要がてきた。自前で実装するべきか、SaaSに乗っかるか、色々考えているので参考にしたサイトなどをまとめていきたい。

そもそも検索エンジンの仕組みについて

兎にも角にも、この本に目を通しておいても損はない。
検索エンジンの構築の章では、検索エンジンの根本的な原理説明から始まり、Pythonを用いた実装例を示してくれる。

検索の文脈で「検索インデックス」というキーワードが出てくるのは、RDBの検索特性をうまく活用してできていることがよくわかる。とても良書。

https://amzn.asia/d/iIXGGzn

また、シンプルな検索エンジンの先にはPageRankなどのGoogleの検索エンジンに用いられるチューニングについての解説もある。
この本を読めばまずは概要と設計の方針についてはある程度の理解が得られるだろう。

okita kamegorookita kamegoro

実際の実装例に関する記事

単純に文字列を分割して、キーワードで引っ掛かるようにしている。
生Firebaseの高速な検索能力を活用している面白い実装例。

https://qiita.com/oukayuka/items/d3cee72501a55e8be44a

各種サービスの選定に役立ちそうな記事

資金的に厳しいスタートアップにはAlgoliaの起用は絶望的であるとよくわかる良い記事

https://qiita.com/qrusadorz/items/74a2e0e5edd7061d8b21

※ ただし、現在は価格が下がって比較的状況は良くなっている模様
https://qiita.com/Michinosuke/items/d618a297373682bf4dd5

ElasticSearch と Algolia の比較 (マナリンクさん、いつもお世話になっています)
https://zenn.dev/manalink_dev/articles/manalink-algolia-search

まだ読んでいないが、参考になりそう
https://note.com/penmarkjp/n/n4d69756b5b2d

ElasticSearchの価格シミュレーター(本家)
https://cloud.elastic.co/pricing

okita kamegorookita kamegoro

手始めにサクッと、Algoliaで検索機能を作って、費用的に厳しそうになったらすぐにElasticsearchに乗り換えるのが良いのかもしれない。