▌標準的な表現を決めて、インデックスに格納する ▌インデックス作成、検索時に標準的な表現に変換して利⽤する 12 Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. l 旧字対応 l ⾳便対応 l 半⾓・全⾓ l ⼤⽂字・⼩⽂字 l かな・カタカナ l 漢字(読み仮名)・送り仮名 l 略語 l 動詞変化 l 単数・複数 l 検索対象外(助詞等)
▌検索対象の情報に対して、グループ化して検索条件を絞り込む⽅法を 「ファセット」と呼ぶ ▌Solrにおいて、ファセットを利⽤した絞り込みは重要な役割を持つ 15 Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. Solrでは、 l フィールドの値 l 条件クエリー l 範囲(数値、⽇付) 等を元に絞り込みの値及び対象件数を取得できる
Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. SOLRHOMEはsolrディレクトリとなる。 cd example java -Dsolr.solr.home=multicore -jar start.jar デモでは、2つのコアを利⽤するため、マルチコアを 利⽤する。 SOLRHOMEはmulticoreディレクトリとなる。
▌schema.xml 30 Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. solr-config.xml p Solrコアの設定ファイル p サンプルからコピーすると動作する p キャッシュの設定やリクエストハンドラの設定などを 変更したい場合に本ファイルを変更する schema.xml p 検索対象の情報をどのように格納するかを定義する設定ファイル p Create table⽂のようなもの p 型定義や変換処理を定義できる
33 Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. 検索⽂字列 複数単語 CharFilter Tokenizer TokenFilter 検索⽂字列 複数単語 単語単位 ⽂字単位で 変換する 単語に 区切る 単語単位で 変換する n MappingCharFilter n HTMLStripCharFitler n JapaneseTokenizer n WhitespaceTokenizer n NGramTokenizer n JapaneseBaseFormFilter n CJKWidthFilter n LowerCaseFilter
必要がある ▌いきなりプログラムを書くのではなく、管理コンソールを利⽤して検 索式を検討してから、その検索式をAPI(SolrQuery)で マッピングする ▌検索語の処理については、単純な場合と同様 37 Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. l 開始位置 l 取得件数 l ソート順 l 取得フィールド l フィルタクエリー l ファセット l クエリーパーサ l ハイライト
▌データ件数が多い場合(1000万件が⽬安)、複数台数に分けて 分散検索を検討する 40 Copyright (C) 2015 Atsushi Takayasu All Rights Reserved. コア1 A コア1 S コア1 A コア2 A コア1 S コア2 A コア2 S コア2 S コア-Z A 分散検索 振り分け 振り分け コアのswap コア1 作成 コア2 作成 検索 インデックス作成 上記構成をSolrの機能として拡張させたのが「Solr Cloud」(Solr4.0〜)