Lucene.Solr

Lucene/Solrのコードリーディング時に必携の検索リクエストのライフサイクル説明資料

Lucene/Solr Revolution 2017の1資料です。 今では大分慣れてきたものの、最初にLucene-Solrのコード読むことが必要になった時は、Solrそのものも良くわかっておらず、エラーのスタックトレースから頑張って一つ読み解いていきました。とても大変だったのを…

【Solrエラー対応】TooManyClauses: maxClauseCount is set to 1024

Solrで大量のAND条件でクエリ投げた場合などに以下のようなエラーが発生する場合があります。これを調査しました。 org.apache.lucene.search.BooleanQuery$TooManyClauses: maxClauseCount is set to 1024 BooleanQueryの制限値があるというエラーなのです…

【Solrエラー対応】LukeRequestHandler Error getting file length for [segments_N]の警告について

事象 題名の通りSolr6系統で以下の警告が出る場合があります。 LukeRequestHandler Error getting file length for [segments_N] StackTraceの例: java.nio.file.NoSuchFileException: /var/solr_node_8983/data/mycore/data/index/segments_3 at sun.nio.fs…

Lucene/Solrのパフォーマンスチューニングした内容をまとめてみた

Solrのパフォーマンスチューニングを一通り行ったので、忘れないうちにまとめてみたいと思います。Lucene/Solrのバージョン6系統になら当てはまると思います。 インデクシングのパフォーマンスにも関係するところはありますが、主に検索側のパフォーマンスに…

Lucene/Solr DocValuesについて調べたことをまとめてみた

DocValuesとStored&FieldCache StoredされたFieldの動き Storedの弱点とそれを補うFieldCacheの役割 DocValuesについて DocValues の注意点 Solrバージョン毎の機能制限を確認する MultiValueの順序保証 DocValuesとStoredの設定によるクエリ挙動の違い 一度…

Lucene/Solr インデクシングの簡単なデバッグログ出力の設定方法

Solrを使っいると、Luceneインデクシングの内部仕様を調べることが出てくると思っています。 Luceneのインデクシングデバッグ ということでLucene in Action読んでいたところ、「2.12. Debugging indexing」という項目見つけました。 Lucene in Action作者: …

Luceneの類似画像検索プラグインLIREのデモアプリを動かしてみた

動かしてみたのと、その時調べたことをざっくりとメモ書き。 前提ソフトウェア Javaの1.6以降 gradleをインストールしておくと簡単です gradleはmac なら以下のコマンドで入れられます。Windowsでもググればわかりやすい記事が沢山出るはずです。 brew insta…

Solrのキャッシュについて調査したことまとめ

モニタリング方法 キャッシュの実装の種類 LRUCache と FastLRUCache LFUCache LRUとLFUのアルゴリズムの違い キャッシュの種類 種類 設定項目 FastLRUCacheとLFUCacheのキャッシュサイズ制御の動き filterCache useFilterForSortedQuery queryResultCache q…

Solrのレプリケーション帯域幅を制御してI/Oパフォーマンスを制御する

Solrのレプリケーションが原因で、EC2のSolrサーバが定期的にIOボトルネックのパフォーマンス劣化起こしてたので、対応としてレプリケーションの帯域幅を制御できるパラメータ( maxWriteMBPerSec )を使ったのでメモ。 経緯 最初はI/Oボトルネック解消のため…

SolrCloud検証環境をVagrant+Ansibleで簡単自動構築

SolrCloudを簡単に試せるよう、VagrantとAnsibleで構築できるようにしました。 引用元:https://wiki.apache.org/solr/SolrCloud SolrCloudの構成 Solrサーバ ZooKeeperサーバ インストール手順(Vagrant+Ansible) 実際の手順 コレクション作成 ZooKeeperでSo…

AWS ELBのログをFluentd+Solr+Bananaのダッシュボードで可視化してみた

AWS ELB(最近Classic Load Balancersに名前変更になりましたね)のログをFluentd+Solr+Bananaで可視化してみました。 基本はこちらの記事の構成ですが、Solrだけバージョン上がってSolrの6.2を利用しています。 yomon.hatenablog.com Fluentdプラグイン Fluen…

Bananaのダッシュボード定義情報をSolrに保存する方法

Bananaのダッシュボードの定義情報はファイルに保存したり、ブラウザに保存したりするほかにSolrに保存することもできるようになっています。 ここではこのSolrに保存する方法を書きます。 Bananaをインストールするところまではこちらに記載してあります。 …

Solr6.1.0+Banana+Fluentdでvmstatの情報を可視化してみる

Solr6.1.0+Banana+Fluentdの設定例としてvmstatの情報を取得するところまで書きます。 ソフトウェア構成 Solrインストール Bananaインストール Solr コア作成 Fluentd導入 事前設定 インストール Fluentd設定 Fluentd動作確認 Bananaで情報可視化してみる 参…

Solr6.1.0インストール・コア作成・サンプルデータ投入まで

インストール 事前準備 Solrのインストール 稼働確認 インストール状況確認 SolrCore作成 サンプルデータ登録 インストール 事前準備 まずはインストールに必要なJavaと、solrダウンロードに利用するwgetをインストールします。 # yum install java-1.8.0-op…