情報検索システムに関してのオススメ本

f:id:suganoo:20190118105619p:plain
こんにちは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)

[改訂第3版]Apache Solr入門――オープンソース全文検索エンジン (Software Design plus)

  • 作者: 打田智子,大須賀稔,大杉直也,西潟一生,西本順平,平賀一昭,株式会社ロンウイット,株式会社リクルートテクノロジーズ
  • 出版社/メーカー: 技術評論社
  • 発売日: 2017/04/27
  • メディア: 大型本
  • この商品を含むブログを見る
あれ、勉強会でよく拝見していました大須賀稔さん、メルカリにいかれたんですね。

Elasticsearchについてはこちらがよかったです。

Elasticsearch実践ガイド (impress top gear)

Elasticsearch実践ガイド (impress top gear)


そこでさっきも言いましたが、根幹の技術としてはLuceneを使ってます。
そこでかなり古いんですが、こちらのLuceneをオススメします。

Apache Lucene 入門 ~Java・オープンソース・全文検索システムの構築

Apache Lucene 入門 ~Java・オープンソース・全文検索システムの構築

よかったところは、プログラミングレベルで検索システムがわかるところがいいです。
また検索アルゴリズムとしてドキュメントのスコア計算があるんですが、希少度や単語の頻度による数式がとてもわかりやすくて良かったんです。
スコア計算の数式が説明されてるのはあまりないので貴重な資料でした。

当時中古で5000円して買ったんですけど、今じゃもっと値段が下がってるんですねえ。


さらにこちらの情報検索の基礎もオススメです。
検索システムの設計思想がわかっていいです。

情報検索の基礎

情報検索の基礎

  • 作者: Christopher D.Manning,Prabhakar Raghavan,Hinrich Schutze,岩野和生,黒川利明,濱田誠司,村上明子
  • 出版社/メーカー: 共立出版
  • 発売日: 2012/06/23
  • メディア: 単行本
  • 購入: 2人 クリック: 69回
  • この商品を含むブログ (5件) を見る

またこちらは立ち読みなのですが、C言語で検索システムが作れるそうで良さげです。

検索エンジン自作入門?手を動かしながら見渡す検索の舞台裏

検索エンジン自作入門?手を動かしながら見渡す検索の舞台裏

昨今機械学習やAIが熱いですが、自然言語処理も重要な分野です。
その分野にも検索は密接な関係にあるので知識として知ってるといいかと思います。