タグ

ブックマーク / www.chazine.com (5)

  • 全文検索業界? | 今日のひとこと

    FessとかをSolrやElasticsearchとかと比較とかされちゃうケースがあるのだけど、それはちょっと違う感じなのでざっくりまとめておく。ざっくりとカテゴリ分けすると、以下のような感じかと思う(まぁ、いろいろな考え方はあると思うが…)。 検索ライブラリ 検索システムを構築するためのコアなライブラリ。HTTPなどで呼び出すのではなく、組み込んで使う感じ。検索屋さんになりたい人向けで、システム構築屋さん向けではない。 Lucene (他にメジャーなのあったっけ…) 検索エンジン HTTPなどでAPIを提供し、構築したいシステム連携して利用する。検索もチューニングしたいシステム構築屋さん向け。なので、検索についても設計等が必要なので、検索に関するナレッジは必要になる。 Solr Elasticsearch Groonga Senna (検索ライブラリにも近いような…) Hyper Est

  • Javaの例外処理 | 今日のひとこと

    例外処理について、漠然と進めてしまうと後で問題を特定するのが難しくなるので、開発チームのメンバーと意識を合わせて進めたほうが良いかと思う。というわけで、私の経験に基づいて、独断と偏見があるとは思うけど、思うことを以下にまとめておく。 投げる例外は基的に独自に作ったものを投げる。Exceptionとか、NullPointerExceptionとか、newして投げない。独自に作った例外のほうがログを見たときに自分のシステムのエラーなのかがわかりやすいと思う。 Seasar2とか、DI系のシステムだと独自に作った例外はRuntimeExceptionから継承しておく。メソッドにthrowsでいろいろと指定されていても変な依存になるし、面倒な気がするから。 Android系とかではExceptionを継承したほうが良いと思う。Androidの場合は、catchしないような例外はアプリを落とすこと

  • Fess 8のリリース | 今日のひとこと

    Fess 8をリリースしました。ここからダウンロードすることができます。Fessも初回リリースは 2009/9 だから、3年半以上開発し続けている感じです。4とか5とかあたりで、もう機能追加するものはないだろうと思いつつ、商用で導入させていただいたりするといろんな要件が出てきて、それと共に機能追加がされて拡張され続けています。Fess 8も7のリリースから半年くらい経ちますが、内部的にはいろいろと変わっています。Fess の汎用的な部分は、codelibsというライブラリプロジェクトを作って、そっちに移したりしています。ざっくりと、Fess 8  の機能をまとめると、 Solr 4.1 の導入 Solr 3.6からSolr 4.1に移行しました。これにより、検索パフォーマンスの改善やメモリ使用量の削減などが実現されていると思います。また、Solr 4 にはいろいろな機能があるので、それを利

  • Fess 7をリリースしました | 今日のひとこと

    Fess 6 をリリースしてから5ヶ月ぶりくらいになりますが、Fess 7をリリースしました。まぁ、まだマニアックな使い方をする部分とかでドキュメントが一部追いついていないところもありますが…。Fess 7 では Solr 3.6.1 を採用しています。その他にも多くの改善がされていますが、まとめると以下のよう感じでしょうか。 ハイブリッドインデックス:Fess 7 では検索対象の言語を判定して、n-gram と形態素解析でインデックスを生成しています。そして、検索時の言語を取得して適切なインデックスに対して検索を実施します。 file:パス問題の解決:今までローカルファイルの検索については、Googleデスクトップ検索と同様な方法でデスクトップ検索を実現していましたが、近年、ブラウザのセキュリティがより厳しくなり、file://〜のURLが開くことができなくなっています。Fess 7では

  • インデックス生成が遅い? | 今日のひとこと

    Fessのインデックス生成が遅い的なコメントをもらうケースがあるので、コメントしておきます。Fessでのインデックス生成プロセスはクロールと (Solrでの) インデックス生成がパラレルに実行されています。まぁ、実際に多くの時間を使っているのがクロールの部分になります。クロールの時間の方はクロールの多重度とクロールの間隔に依存します。ですので、インデックス生成を実行しているマシンに合わせて、多重度を上げて、間隔を短くすればクロールの時間を短くすることができます。一方、Solrでの インデックス生成はSolr的にコミットまたはオプティマイズを実行するだけなので、クロールの時間と比べると微々たるものです。というわけで、クロールの多重度と間隔を調整すれば多くの場合で問題にならない気がします。まぁ、その辺の実装は工夫されていると思います(Solrを熟知している人が作れば話は別ですが、そうでない人が

  • 1