2018年1月28日日曜日

Fessを動かすサーバーの妥当なスペックは

おはようございます。Nyafooです。
今日はFessを動かすサーバーの目安を書きたいと思います。
僕はAWSを使っているので、AWSのインスタンスで書きます。

●巡回先が20から30サイトのFess
目安として、インデックスが数万件のFessです。
t2.mediumで一応動きます。
すぐにクレジットを使い切るので、巡回先のURLを正規表現で細かく指定する必要があります。
ストレージは数GBで収まるでしょう。

●巡回先が100サイトぐらいのFess
インデックスが10万件を超えるぐらいの規模感です。
m5.largeが1台でまかなえる範囲ですが、制限が増えてきます。
クローリングに掛かる時間が伸びるので、クロール中にメンテナスができなくなります。
FessやElasticsearch、Linuxの設定はデフォルトでも大丈夫でしょう。

●巡回先が1000サイトを超えるFess
インデックスが100万件を超える辺りです。
この辺りからクラスタ構成が必須になります。
Fess、Elasticsearch、Linuxはデフォルト設定で大丈夫でしょう。
まだインスタンスの力押しで行ける範囲でしょう。

●巡回先が1万サイトを超えるFess
インデックスが1000万件を超えます。
本格的なクラスタ構成が必要です。
Fess、Elasticsearch、Linuxもチューニングが必要です。
大規模クラスタ運営の知識を学び、ノードの通信を抑える必要があります。
インデックスは、何もしないと400GBを超えてきます。
インデックスの圧縮やバックアップ方法も考慮しなければなりません。

AWSはスケールさせるときに便利ですが、小規模だと割高になります。
インスタンス1台で運用するなら、国内のクラウドの方が安いかもしれません。
m5.largeのリザーブドインスタンスと比較して決めると良いと思います。

2018年1月20日土曜日

Fess 11.4.7がリリースされたので勝手に解説

Fess11系の新バージョンがリリースされました。
今回はバグフィックス中心のようです。

変更点を勝手に解説します。
※勝手に解説なので、あやふやなところがあります。

#1440
canonicalタグの処理の微調整。

#1437
webクローラーにDefaultLangageを設定可能に。
古いWebサイトだと、lang宣言していないところがあるので助かります。
fess_config.propertiesに、「crawler.document.html.default.lang=」が追加されました。

#1435
ScoreUpdaterが機能追加されました。
Google Analyticsの結果をスコアに反映するようです。

#1432
エラー表示のバグフィックスのようです。

#1431
デフォルト値の変更。

#1430
検索結果のスニペット(抜粋部)のデフォルト値の変更。
スニペットが短くなるようです。

#1425
APIの仕様変更のようですが、詳しいことはわかりませんでした(すいません

#1421
管理者がログを取得する機能のバグフィックスのようです。

#1412
fess-ss.jsからfunction文が取り除かれました。

FESSとkuromoji.txt

FESSのtakenizerは、ユーザーが辞書を拡張できるようになっています。 UIの「システム」→「辞書」から「ja/kuromoji.txt」を選ぶと、トークンの登録画面になります。 作業は簡単ですが、同じトークンを多重に登録すると、インデックスが更新できなくなる、けっ...