FessのMicrosoft365データストアでプロキシを利用する

FessのMicrosoft 365データストア(fess-ds-microsoft365)で、プロキシサーバー経由での接続がサポートされました。企業ネットワーク内からMicrosoft 365にアクセスする際に、プロキシサーバーの経由が必須な環境でも、FessでOneDriveやSharePoint、Teamsのコンテンツをクロールできるようになります。

設定パラメータ

データストアの設定画面で、以下のパラメータを追加できます。

パラメータ名説明
proxy_hostプロキシサーバーのホスト名またはIPアドレス
proxy_portプロキシサーバーのポート番号
proxy_usernameプロキシ認証のユーザー名(認証が必要な場合)
proxy_passwordプロキシ認証のパスワード(認証が必要な場合)

設定例

プロキシサーバーを利用する場合、データストアのパラメータに以下のように設定します。

認証なしプロキシの場合

proxy_host=proxy.example.com
proxy_port=8080

認証ありプロキシの場合

proxy_host=proxy.example.com
proxy_port=8080
proxy_username=proxyuser
proxy_password=proxypassword

補足

このプロキシ設定は、Azure ADへのOAuth認証時とMicrosoft Graph API呼び出し時の両方で利用されます。プロキシを設定しない場合は、従来通り直接接続でMicrosoft 365にアクセスします。

この機能は、PR #31で追加されました。

fesen-httpclientの改善

fesen-httpclientは、OpenSearch/Elasticsearch用のHTTPクライアントライブラリです。今回、OpenSearch 3.xの各種Stats APIに対応するためのHTTPアクション実装を追加しました。

追加したエンドポイント

以下の6つのStats API向けアクションを実装しました。

アクションクラスエンドポイント説明
HttpClusterStatsAction/_cluster/statsクラスター全体の統計情報(ノード数、インデックス数、リソース使用状況など)
HttpIndicesStatsAction/{index}/_statsインデックスレベルの詳細統計(ドキュメント数、ストアサイズ、インデキシング、検索など)
HttpDataStreamsStatsAction/_data_stream/_statsデータストリームの統計情報
HttpRemoteStoreStatsAction/_remotestore/statsリモートストアの統計情報
HttpSegmentReplicationStatsAction/_segment_replicationセグメントレプリケーションの統計情報
HttpWlmStatsAction/_wlm/statsワークロード管理(WLM)の統計情報

今後の予定

今回の変更でStats APIのサポートを拡充しましたが、まだ対応していないエンドポイントもあります。今後も対応できるものは追加していきたいと考えています。

Fessのドキュメントの多言語対応

Fessのドキュメントは、これまで英語と日本語だけを提供していましたが、新たに以下の言語にも対応しました。

これらの多言語ドキュメントの生成には、Claude Codeを活用しています。

ドキュメント生成の流れ

まず、日本語のドキュメントを作成し、それを各言語に展開するという流れで進めています。日本語のドキュメント自体も、プルリクエストなどの情報をClaude Codeに渡して、できるだけ自動的に作成するようにしています。

つまり、PRの変更内容を渡すと、Claude Codeがその内容を理解して、適切な日本語ドキュメントを生成し、さらにそれを各言語に翻訳して展開するという流れになっています。

Claude Codeでの多言語対応

Claude Codeを使うことで、単なる機械翻訳ではなく、技術的なコンテキストを理解した上での翻訳が可能になっています。Fessのような検索エンジンの専門用語も適切に翻訳されるので、各言語のユーザーにとっても理解しやすいドキュメントになっているのではないかと思います。

これまで手作業で翻訳していたら、とても対応できなかった言語数ですが、Claude Codeを活用することで、比較的少ない労力で多言語対応を実現できました。今後も必要に応じて対応言語を増やしていければと考えています。