2019年6月11日火曜日

知禅の支援をお願いいたします

知禅は赤字です。大きなサーバを動かしており、維持費が大きいのです。
一応広告もありますが、まだまだサーバー代を賄えるほどではありません。

そこで、お願いです。知禅が存続できるよう、支援をお願いいたします。
少額でも、長期の支援をいただけると助かります。

支援ぷらっふぉとーむはEntyを採用しました。
https://enty.jp/x8Yel22

支援者になると、ポルリン先生に書いてもらった、Nyafooイメージイラストを見ることができます。

よろしくお願いいたします。

2019年3月28日木曜日

なぜ「イノベーション横断組織」は何も生み出さないのか

「イノベーション横断組織」なるものが作られ、各事業部からエース級とお目付け役が集められます。月1ぐらいで集まって、当社のイノベーションについて会議が開かれますが、結局時間が過ぎてゆくだけです。

よく見る光景です。では、なぜ優秀な人が集まっているのに、イノベーションが起きないのでしょうか。

原因は予算が割り当てられていない、それから従業員が優秀で安かったからだと思います。

まず、イノベーション。社会に変革を与えるサービスや製品。これは、どのように成り立ってきたのでしょうか。
僕は、「欲求、閃き、開発、イノベーション」の順で成り立つものと考えています。

「欲求」は「こんな面倒くさいことはやめたい」「代わりにやってくれないかな」「もっと節約したい」「ガソリン代を減らしたい」など、嫌な事が無いと出てきません。

「閃き」は、欲求を具体的な形にした瞬間です。「ハイブリッドにして、ブレーキで熱にして捨てていた運動エネルギーを電気で回収しよう」。閃きは必要な装置を具体的に描く必要があります。

「開発」は、閃きを試作品にするプロセスです。「遊星歯車を使って、エンジン、モーターを組み合わせるハイブリッドシステム。制御コンピュータは新開発。既存エンジンと遜色ない体積でFF車に適した2軸出力。既存のラジエータなど極力流用するように。そして、クラッシュテストなどを経て型式認定を取得し、量産可能な状態にする」。ヒト・モノ・金を膨大に使います。

最後「イノベーション」は、製品リリースと同義です。出したものが社会を変えるほど受け入れられたら「イノベーション」になれます。イノベーションのためには、製品の特長を説明できる広告戦略、効果的な営業スクリプトと、それをマスターできるスタッフ。無理のない納車体制。開発より、さらにお金がかかります。

冒頭の会議で「イノベーション」が起きないのは、「欲求」すら無く、「今まで通り進めて、なんとか売り上げが回復する業者は無いか」ばかり考えているからです。

この20年間、いろんな業者が完成品と遜色のないデザイン案やプロトタイプを持ってきてくれて、派遣さんが面倒な作業を安価に引き受けてくれたため、イノベーションの素地になる欲求は発生してきませんでした。若者を使い倒せばよかったので、やる必要が無かったのです。

回転寿司のように、素晴らしいプロトタイプやアイディア、デザインがやってきて、良さそうなのをピックアップする作業を「企画」としてしまったため、企画部門が「仕入れ部門」に変質した会社も少なくありません。

冒頭の例では、35歳までのメンバーに予算を与え、上役が一切口出しすることなく、製品をリリースすべきでしょう。その製品の大半は当たりません。それでも開発を続ける。これが、イノベーションを起こさないと生き残れない会社が、今から為すべきことでしょう。


2019年1月30日水曜日

FESSのKuromoji辞書をミスった時の対処法

ミスを含むKuomoji辞書をFESSにアップロードすると、レプリカシャードが落ちてゆきます。
完全にダウンしないところが、かえって手間がかかる感じです。

いろいろ実験してみましたが、「不正な辞書でインデックスに登録した部分を除去する」のが対処療法として使えそうです。

管理画面の右上の検索窓に
timestamp:[now/d-2d TO *]
を入れると、過去2日間で更新されたレコードを抜け出せます。
これを、UIの画面下の赤ボタンで削除。
これでげかしゅつじゅは終わりです。

2019年1月28日月曜日

FESSのKuromoji辞書の更新に失敗したら

FESSは非常に優れたオープンソースの検索システムですが、日本語の形態素辞書についてはデリケートな扱いが必要です。

端的に言えば、辞書を間違えると、インデックスが半落ちします。

僕も時々インデックスを飛ばしているのですが、Kuromoji辞書はかなりデリケートです。

何回か飛ばして、不整合を起こす例を調べたのですが、
1.トークンが重複してはならない
2.分割と読みの文節数が一致していないとならない
3.「ぁ」と「あ」は同一視され、かつトークンが重複してはならない
を守らないとなりません。

今はAccessでトークンがユニークになるようにしています。

Kuromojiが失敗すると、FESSは以下の症状を起こします。

1.プライマリシャードは一見、正常に見える
2.レプリカシャードが徐々に落ちる
3.レプリカシャードを手動でアサインできなくなる
4.レプリカシャードをアサインしても、Translogが0.0%から進まない

こうなったら、まずクローラーを停止して、レプリカの数をゼロに戻します。
辞書を正常に動作していた時に戻して、レプリカを1に戻します。

これで、一応アサインされたら復旧できるのですが、成功率が100%でないので、僕も研究をしているところです。

2018年11月11日日曜日

知禅のkuromojiユーザ辞書を公開しました

こんばんは。Nyafooです。

知禅を作り始めて1年余り。

優れた辞書としてNeologdがありますが、Fessでポンっと使えるユーザー辞書があってもよいかと思い、Githubに上げることにしました。

3か月に1回ぐらいの感じで更新してゆければと思います。
Githubからtxtファイルをダウンロードして、Fessの「システム」→「辞書」から「ja/kuromoji.txt」を開いて、ファイルをアップロードします。

ライセンス:Apacheライセンス準拠
商用利用:可

※アップロード前に試験環境で必ずテストすること。

ダウンロードはこちら

2018年8月25日土曜日

FESSとkuromoji.txt

FESSのtakenizerは、ユーザーが辞書を拡張できるようになっています。
UIの「システム」→「辞書」から「ja/kuromoji.txt」を選ぶと、トークンの登録画面になります。

作業は簡単ですが、同じトークンを多重に登録すると、インデックスが更新できなくなる、けっこう大きなトラブルが発生します。

トークンを多重に登録してしまうと、fess.yyyymmddのレプリカシャードが落ち、インデックスの更新が止まります。

こうなった時は、まず落ち着いてください。
やってはいけないのは、以下の作業です。
・ノードの再起動
・close index

まず、動いているすべてのクローラーを停止させます。
続いて、kuromoji.txtをダウンロードし、重複しているトークンを取り除きます。
改修したkuromoji.txtをアップロードします。

fess.yyyymmddのレプリカシャード数を0にして、ひと呼吸おいてから1に戻します。
これで、レプリカが復帰したら当たりです。

このとき、レプリカのindexが100%になったのに、translogがいつまで経っても0.0%でスタックすることもあります。
このときは、僕はあきらめて新しい空のインデックスを作り、_reindexで複製します。

kuromoji.txtは、UIから簡単にアクセスできるのですが、システム内部に直接手を入れるもののため、慎重に作業してください。

2018年7月1日日曜日

知禅(旧Nyafoo!)が1周年を迎えました

こんばんは。
知禅(旧Nyafoo!)を公開して、1年が経ちました。

当初、30万件程度だったインデックスは、現在2000万件前後に増えています。
サーバーも増えまして、当初2台構成だったクラスタは、現在19台が稼働しています。
構成を多重化しているため、無停止メンテナスできるようになりました。

サービス当初は、インデックス200万件ぐらいで実用的になると思っていましたが、まだまだですね。
この調子だと、1億件ぐらい溜めないと「だいたいのキーワードで使える結果が出てくる検索エンジン」になれないようです。

実用的な汎用検索エンジンになるためには、対象のページを持っていること、持っているページを適切なランクで表示することが必要です。
現在は、まだページが足りていないようです。

2年目も、こつこつホワイトリストを更新しつつ、効率的なインデックス構築に励みたいと思います。

2年目の知禅もよろしくお願いいたします。

知禅の支援をお願いいたします

知禅は赤字です。大きなサーバを動かしており、維持費が大きいのです。 一応広告もありますが、まだまだサーバー代を賄えるほどではありません。 そこで、お願いです。知禅が存続できるよう、支援をお願いいたします。 少額でも、長期の支援をいただけると助かります。 支援ぷらっふぉ...