【結論】
・全文検索エンジンとは、対象のキーワードを多数のテキスト全文から検索するシステム
・Google検索の様な大規模なもの以外にも、オープンソースの検索エンジンも複数存在する
・代表的なものとして「ElasticSearch」「Groonga」「Solr」がある
【目次】
【本題】
全文検索エンジンについて
全文検索エンジンとは、大量にあるドキュメントから、目的のキーワードを検索するシステムです。
GoogleやYahoo!などの検索ページがイメージされやすいですが、様々なサービス開発で利用されているオープンソースの検索エンジンも複数存在します。
今回は、代表的なオープンソースの全文検索エンジンをまとめます。
ElasticSearch
ElasticSearchは、Elastic社が提供する「Lucene」ベースのオープンソース全文検索エンジンです。
検索速度や分析柔軟性に優れ、強力な検索機能をシンプルに利用でき、データ蓄積/分析/可視化環境を容易に構築できます。
オープンソースの全文検索エンジンの中では最も知名度が高く、大きなシェアを占めています。
Facebook、LinkedIn、GitHubといった有名企業でも導入されている実績があります。
Elasticsearch | 分散型RESTful検索/分析エンジン | Elastic
Groonga
Groongaは、C言語で書かれた国産の高速な全文検索エンジンです。
C言語から呼び出すことが可能な全文検索ライブラリとしての機能を有し、単体で全文検索サーバとしての機能も有します。
国産という事もあり、日本語特化の検索機能を有しているという特徴があります。
Solr
Solrは、Apacheソフトウェア財団のLuceneプロジェクトのサブプロジェクトとして開発されている。
Luceneをベースにした検索エンジンで、Luceneが提供するものも含め多様な機能を提供しています。
クックパッドさんが利用されているサービスです。
参考情報
全文検索エンジンについて調べてみた - 虎の穴 開発室ブログ
CTOに訊く、「検索」でサービスの可能性を切り開く技術革新「Elasticsearch」 (1/3):CodeZine(コードジン)
https://vitalify.jp/blog/2017/02/elasticsearch_matome.html https://codezine.jp/article/detail/8926
国産の全文検索エンジンGroonga vs 世界的流行のElasticsearch - CreateField Blog
第1回 検索エンジンとは:検索エンジンはいかにして動くのか?|gihyo.jp … 技術評論社
オープンソースの検索エンジン / Elasticsearchとは
検索エンジンの常識をApache Solrで身につける (3/4):ビッグデータ処理の常識をJavaで身につける(1) - @IT
《今日の学習進捗(3年以内に10000時間に向けて)》
メソッド名や変数名など、命名でかなり詰まることが多々ある。getやsetなどを多用する傾向にあったが、Rubyのコード規約では、利用すべきでは無いケースがあったりと、まだまだ知らない事が多いと改めて認識した。
この理由を調べる中でセッター・アクセサといったオブジェクト指向の概念が出てきたが、そもそもオブジェクト指向が全く理解できていないので、書籍などで理解を深めて行きたい。
学習開始からの期間 :186日
今日までの合計時間:1799h
一日あたりの平均学習時間:9.7h
今日までに到達すべき目標時間:1699h
目標との解離:100h
「10,000時間」まで、
残り・・・「8201時間!」