こんばんは。
現在、知禅は1日に100万URLをクロールして処理する能力があります。
このあたりになると、意外なLimitに足を引っ張られるので、僕の解決策を書くことにしました。
きっちりソースを読んでいないのでアレですが、FESSは検索エンジンにかかわるデータをelasticsearchに保存しています。
※各インスタンス(サーバ)に依存する部分は/etcや/usr/share/fessの設定ファイルに書き込んでいます。
この時はBulk APIを多用しているみたいです。
通常のクロール速度だと問題ないのですが、クロール速度を上げるとelasticsearchのbulk数の上限に当たるようになります。
/etc/elasticsearch/elasticsearch.ymlでbulk上限を1000まで引き上げてみてください。
普通はこれで大丈夫だと思います。
さて、ここからがエクストリーム。
FESSのクローラは、.crawler.data、.crawler.filter、.crawler.queueの3つのindexを作ります。
この中で、.crawler.filterがクロール対象を制御しているようです。
100万件/dayぐらいになると、buik limitを1000に引き上げても、まだ足りずにbulk queueからあふれることがあります。
こうなると、クローラーがelasticsearchから.crawler.filterを読もうとしても、elasticsearchがデータを返してくれません。
クローラーは処理を続けてしまうので、クロール対象を正しく読み取れず、意図しないサイトをクロールしてしまうようなのです。
もし、FESSで100万URL/dayを超えるようなクロールを目指すなら、.cralwer.filterは別のノードに置いて、bulk queueからあふれても読み出せるようにインデックスを配置しないとならないでしょう。
2019年6月19日水曜日
私の節約(スマートフォン)
こんばんは。 倹約&節約に励むにしても、ガイドラインがないとやりづらいかもしれません。 僕が使っている組み合わせを紹介しましょう。 本体を安くしたり、回線を太くしたり、使い方に合わせると良いと思います。 ■基本的な考え方 SIMフリーしか買わない。 子供もSIMフリ...
-
あまりに情報が無いので、自分で調べた物を勝手に書くことにしました。 FESSの設定は、ローカルに保存されるものと、elasticsearch(以下es)に保存されるものがあります。 ■esに保存されるもの ユーザー情報とパスワード Web、ファイルなどのクロール設...
-
「イノベーション横断組織」なるものが作られ、各事業部からエース級とお目付け役が集められます。月1ぐらいで集まって、当社のイノベーションについて会議が開かれますが、結局時間が過ぎてゆくだけです。 よく見る光景です。では、なぜ優秀な人が集まっているのに、イノベーションが起きないの...
-
こんばんは。 倹約&節約に励むにしても、ガイドラインがないとやりづらいかもしれません。 僕が使っている組み合わせを紹介しましょう。 本体を安くしたり、回線を太くしたり、使い方に合わせると良いと思います。 ■基本的な考え方 SIMフリーしか買わない。 子供もSIMフリ...