Apache Solrの基本的な構成
Apache Solr の基本的な使い方をまとめる。
■Solrで検索ができるまでの作業順番 (DB操作と対比させてみよう)
(1)コアの登録 (データベースを作るみたいなイメージ)
(2)スキーマの登録 (データベース中にテーブルを作るみたいなイメージ)
(3)ドキュメントの登録 (テーブル中にレコードを登録するみたいなイメージ)
(4)インデックスの作成 (テーブルにIndexを作成するみたいなイメージ)
(5)検索実行 (SELECT文を発行するイメージ)
(1)コアの登録
何はともあれ、Solrでは、コアを作ることから始める。DB操作に例えるなら、「データベースを作る」みたいな意味合いです。一番の基礎になる入れ物のことです。
・コマンドで「コア」を作る場合
参考にしている市販本(技術評論社 改定第3版 Apache Solr入門)ではSolr 6.3.0を使っており、
「configsetsディレクトリにプレインストールされている3つのコアの中から雛形とするコアを一つ選び、solr create_coreコマンドの -d オプションで指定する」
と書いてあるんだけど、Solr 8.0.0には、"_default" と "sample_techproducts_configs"の2つのコアしかないぞ!!!
"_default" を指定して、とりあえず作ってみる。
solr create_core -c solrbook -d _default
solr.cmdの中のコメントを見たところ、-d を省略すると "_default" が仮定されるって書いてあったw。この場合だと、-d 以降は指定しなくていいね。
あと、この市販本(Apache Solr入門)には、schema.xmlについて、多くのページを割いて説明しているんだけど、残念ながらSolr 8.0.0には、schema.xmlは無いし、solrconfig.xml中にschemaFactoryの設定も無いね。Solr 6.3.0の頃は、まだschema.xmlからmanaged-schemaに変わった直後で過渡期だったのでschema.xmlをメインに書いたんだと思うけど、Solr8.0.0が出ている今となっては、schema.xmlの影も形も見当たらないので、ぜひ改定第4版出して!! (初版、2版、3版と、すべて購入した私w 2版に至っては紙とオンライン書籍と両方買ったぞw) 正誤表もかなり溜まって来てるしw ちなみに正誤表自体に1か所誤りがありますよ! ("P231 L15"は、"P236 L15"の間違いじゃないかな)ここで言ってもだめかw
(2)スキーマの登録
・スキーマには、複数のフィールドがある。
・フィールドには、フィールド名とフィールドタイプがある。
・フィールドタイプには、テキスト系と非テキスト系がある。
・テキスト系は、「単語分割」をして部分一致など高度な検索ができる文字。
・非テキスト系は、完全一致検索しかできない単純な文字。
なので、"文字"と言ってもテキスト系の文字と、非テキスト系の文字がある。
・テキスト系は、高度な検索を実現するためにアナライザを持つ。
┣━フィールド1
┃ ┣━フィールド名
┃ ┗━フィールドタイプ
┃ ┣━(or)テキスト系
┃ ┃ ┗━アナライザ
┃ ┃ ┣━文字フィルタ(任意)
┃ ┃ ┣━トークナイザ(必須)
┃ ┃ ┗━(トークン)フィルタ(任意)
┃ ┗━(or)非テキスト系
┃
┣━フィールド2
┗━フィールドn
日本語用の「形態素解析」用のトークナイザとして、JapaneseTokenizerFactoryがある。形態素解析とは、辞書(kuromoji)を用いて日本語を意味のある単語に分解する事。kuromojiには20万語以上の単語が含まれている。
---------------------------------------
■ITとことんのトップページ
┗■Apache Solrのトップページ
┗■本ページ