こんにちはsuganooです。
本棚をふと見たらLuceneの本を見つけました。2,3年前に中古で買ったんですが懐かしいなと、当時検索システムを運用してたことを思い出しました。
そこで今回は検索に関するオススメ本を紹介したいと思います。
SolrかElasticsearchか
検索に関するプロダクトと言えばSolrかElasticsearchかと思います。
当時Solrを使って運用していましたが、途中からElasticsearchを使うことが多くなりました。人気が出てきたせいか当時のリーダーがElasticsearchに切り替えたような記憶があります。
思えばElastic社は去年2018年秋ごろにIPOしましたね。
www.cnbc.com
どちらが優れているか?というと、根幹の技術としてはどちらもLuceneを使ってるのであまり変わらないかなと思います。すみませんが、3,4年前の記憶をもとにしてるので間違ってるかもしれませんが。
SolrもSolr cloudとか対応してたし、Elasticsearchも分散環境に対応してたのでどちらが機能的に優れているというのはあまりなかったと思います。
ただElasticsearchは周辺プロダクトが豊富ですね。Elasticsearch + kibana で監視モニターが作りやすかったです。それに対抗してかSolr + bananaというものも出てました。それとドキュメントの豊富さはElasticsearchがアクセスしやすいです。
それもあってAmazonでも採用されてるんでしょうか。
個人的なざっくり分類として、SolrはXMLで使う、Elasticsearchはjsonで使う、っというイメージがあります。
関連書籍
そこで関連書籍です。
Solrに関してはこちらです。
[改訂第3版]Apache Solr入門――オープンソース全文検索エンジン (Software Design plus)
- 作者: 打田智子,大須賀稔,大杉直也,西潟一生,西本順平,平賀一昭,株式会社ロンウイット,株式会社リクルートテクノロジーズ
- 出版社/メーカー: 技術評論社
- 発売日: 2017/04/27
- メディア: 大型本
- この商品を含むブログを見る
Elasticsearchについてはこちらがよかったです。
Elasticsearch実践ガイド (impress top gear)
- 作者: 惣道哲也
- 出版社/メーカー: インプレス
- 発売日: 2018/06/15
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
そこでさっきも言いましたが、根幹の技術としてはLuceneを使ってます。
そこでかなり古いんですが、こちらのLuceneをオススメします。
Apache Lucene 入門 ~Java・オープンソース・全文検索システムの構築
- 作者: 関口宏司
- 出版社/メーカー: 技術評論社
- 発売日: 2006/05/17
- メディア: 大型本
- 購入: 5人 クリック: 156回
- この商品を含むブログ (32件) を見る
また検索アルゴリズムとしてドキュメントのスコア計算があるんですが、希少度や単語の頻度による数式がとてもわかりやすくて良かったんです。
スコア計算の数式が説明されてるのはあまりないので貴重な資料でした。
当時中古で5000円して買ったんですけど、今じゃもっと値段が下がってるんですねえ。
さらにこちらの情報検索の基礎もオススメです。
検索システムの設計思想がわかっていいです。
- 作者: Christopher D.Manning,Prabhakar Raghavan,Hinrich Schutze,岩野和生,黒川利明,濱田誠司,村上明子
- 出版社/メーカー: 共立出版
- 発売日: 2012/06/23
- メディア: 単行本
- 購入: 2人 クリック: 69回
- この商品を含むブログ (5件) を見る
またこちらは立ち読みなのですが、C言語で検索システムが作れるそうで良さげです。
- 作者: 山田浩之,末永匡
- 出版社/メーカー: 技術評論社
- 発売日: 2014/09/25
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
昨今機械学習やAIが熱いですが、自然言語処理も重要な分野です。
その分野にも検索は密接な関係にあるので知識として知ってるといいかと思います。