Contenu connexe
Similaire à 全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ (20)
Plus de Shinsuke Sugaya (8)
全文検索サーバ Fess 〜 全文検索システム構築時の悩みどころ
- 2. 名前: 菅谷信介
所属: N2SM, Inc. (http://www.n2sm.net/)
オープンソース活動:
Apache Portals コミッタ
Seasarプロジェクトコミッタ
CodeLibsプロジェクト運営 (https://github.com/codelibs) などなど・・・
Github: https://github.com/codelibs
Blog: http://www.chazine.com/
Twitter: https://twitter.com/shinsuke_sugaya/
自己紹介
- 5. 検索システム
Fess、商用検索システム(GSAとか) 検索サーバ+クローラ
Hyper Estraier、Namazu、Nutchなど 検索サーバ
Solr、Elasticsearch、groongaなど 検索ライブラリ
Luceneなど
検索関連のソフトウェア
検索関連の知識が必要(ガッツリ作りこみが必要)
検索関連の知識なくても利用可能(すぐに使える)
ざっくりと個人的な観点で分類してみました
- 8. 簡単に構築可能なオープンソースの全文検索サーバ
Javaがあれば、すぐに利用できます!
Fess 9.2ではSolr 4.8.1を採用(同梱してます)
Web、共有フォルダ、DBなどのクロール可能
MS Office、PDF、圧縮ファイルもサポート
独自の実装&Tikaで読めるだけ読む
検索画面はPCからスマホまで最適化された画面で検索
ブラウザによる管理画面
ActiveDirectory等の認証情報で検索結果の出し分け可能
登録したカテゴリごとに検索可能
ファセット検索やジオ・サーチにも対応
検索ログやクリックログで集計
サジェストや関連表示などにも対応
スクリーンショット表示機能
Fessとは
- 16. 概要
http://~ の検索結果ページで、検索結果の file://~ の リンクが機能しない
Fessを作った当初はブラウザで機能していたが、時間と ともに file://~ の扱いが厳しくなった
汎用的な解決策がない Fessでの対応
デスクトップ検索
ローカル環境でしか利用できない
ファイルランチャー
Java Web Startを利用→いろいろと面倒…
コンテンツプロキシ (デフォルト)
Fessがプロキシとして動作してコンテンツを返却
場合によりロール検索と組み合わせが必要
file://~問題
- 18. 概要
社内ドキュメント検索の場合によくある話
数台のサーバ環境かつ夜間バッチ等で、数百万ドキュメン トを超えるドキュメントを更新する要件
差分クロールで解決できる範囲ではない
ファイルサイズやネットワークに依存するが、1台でク ロールすると、1時間あたり数万ドキュメントくらい
実際には全件更新する必要がない Fessでの対応
ファイルサーバの更新ファイル一覧生成機能と連携
データストアクロールで対応
CSVなどの更新ファイル一覧情報を元にクロール
更新ファイルだけを効率よくインデックス化
クロール時間問題
- 20. 概要
複雑なスケジュールでクロールやインデックスのコミット などを組みたい
昔のFessでは基本は1つのスケジュールを組んで、クロー ルからインデックスまで行う方式でした Fessでの対応
ジョブ管理機能を実装しました
ログのパージなどもジョブとして処理
Groovyで任意のジョブを組むことができます
他のスクリプト言語も対応可能ですが、現時点では Groovyだけをサポート
クロールジョブ問題
- 22. 概要
クロールのスレッドが止まる事象が発生する
Javaのバグ
Zip爆弾(Excelも?) Fessでの対応
昔のFessではTomcat上のスレッドでクロールを実行してい たがスレッドを停止できないため、現在は別のプロセスと してクロールを実行
Zip爆弾等は利用するライブラリを更新したり、独自の拡張 したりして対応
クロール停止問題