検索およびインデックスログファイル

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Sitecoreは検索およびインデックス操作の追跡にログファイルを使用します。クロールログはインデックス操作に関する情報を示し、検索ログは検索クエリに関する情報を示します。

這う丸太

クロールログにはインデックス作成プロセスに関する情報が含まれています。クロールログはApp_Config/Sitecore.configファイルのセクションで設定します。デフォルトのログレベルはINFOです:

同じセクションでこのログのappenderを定義しています。デフォルトでは、data/logsフォルダ内の.txtファイルに書き込みます:

実装はlog4netを使用しています。log4netのドキュメントには、appenderをWindowsイベントログ、データベース、その他の場所に書き込む方法を変更できる方法が説明されています。

これはログエントリーのクロール例です:

INFO Index=sitecore_core_index Initializing IntervalAsynchronousUpdateStrategy with interval '`00

`
'. INFO Index=sitecore_core_index Initializing LuceneDatabaseCrawler. DB
/ Root:/sitecore INFO Index=sitecore_master_index Initializing SynchronousStrategy. INFO Index=sitecore_master_index Initializing LuceneDatabaseCrawler. DB
/ Root:/sitecore INFO Index=sitecore_web_index Initializing OnPublishEndAsynchronousStrategy. INFO Index=sitecore_web_index Initializing LuceneDatabaseCrawler. DB
/ Root:/sitecore INFO Index=custom_master Initializing IntervalAsynchronousUpdateStrategy with interval '`00
`
'. INFO Index=custom_master Initializing LuceneDatabaseCrawler. DB
/ Root:{D70CBEED-6DCF-483F-978F-6FC3C8049512} INFO Index=custom_web Initializing OnPublishEndAsynchronousStrategy. INFO Index=custom_web Initializing LuceneDatabaseCrawler. DB
/ Root:{D70CBEED-6DCF-483F-978F-6FC3C8049512} INFO Index=custom_web Creating primary and secondary directories INFO Index=custom_web Resolving directories from index property store for index 'custom_web' INFO Index=custom_master IntervalAsynchronousUpdateStrategy executing.

ログはインデックスの設定や初期化に関する情報から始まります。その後、インデックス更新戦略を適用するか、完全な再構築がトリガーされる際にクロールログにエントリーが書き込まれます。

例のログレベルがINFOであるため、ログファイルにはエントリ数が限られています。

例えばトラブルシューティングのために、より詳細なログを作成する場合は、ログレベルをDEBUGに変更できます:

この構成と詳細なロガーを有効にすることで、Sitecoreは非常に詳細なアイテムレベルのインデックスログを生成します。

詳細ログ記録

標準ログに加えて詳細ログ(verbose logging)を有効にすることもできます。詳細ログを有効にすると、インデックスの詳細をより詳細に確認できます。

詳細ログは次のような状況で使います:

  • 索引は更新されません。
  • 一部の項目はインデックス化されていません。
  • インデックスのために完全な再構築がトリガーされ、その理由を理解する必要があります。
  • 特定のサーバーでのインデックス活動を探りたいのです。

マルチサーバー環境で全サーバー間でインデックスがどのように更新されているかをテストしたいのです

VerboseLoggerはContentSearch.VerboseLoggingがtrueされたときにインスタンス化されます:

デフォルトはfalseで、Sitecoreが提供する設定にはその設定が存在しません。 Sitecore.ContentSearch.VerboseLogging.config.exampleファイルには詳細ログの有効化方法を示す例があります。

!注VerboseLoggerコンポーネントは特別な状況でのみ有効にし、本番環境で長時間実行してはいけません。ログファイルは非常に速く成長するため、パフォーマンスを低下させる可能性があります。

トラブルシューティングには詳細ログを使用します。例えば、特定の項目がインデックス化されていない場合、VerboseLoggerはより多くの文脈を与え、問題解決の手助けをしてくれます。

VerboseLoggerは多数のインデックスイベントに関する情報を記述しています:

  • indexing
  • indexing
  • indexing
  • indexing
  • indexing
  • indexing
  • indexing
  • indexing
  • indexing
  • indexing
  • indexing
  • indexing
  • indexing
  • indexing
  • indexing
  • indexing
  • indexing
  • indexing
  • indexing

Search log(検索ログ)

検索ログには、Sitecoreが実行する検索クエリに関する情報が含まれています。

web.configファイルのセクションで検索ログを設定しました:

このログのappenderは同じセクションで定義しています。デフォルトでは、data/logsフォルダ内の.txtファイルに書き込みます。

実装はlog4netに基づいています。log4netのドキュメントでは、Windowsイベントログ、データベース、その他の場所にappenderを変更する方法が説明されています。

以下は検索ログのエントリーの一例です:

3212 `19

`
INFO ExecuteQueryAgainstLucene : +_datasource
+(+(+_path
+_latestversion
) +mileagehwy
TO 4mileagecity) - Filter : 3212 `19
`
INFO Results from web database

コンテンツ検索のフルレベルデバッグを有効にするには、the Sitecore.ContentSearch.configファイルでContentSearch.EnableSearchDebug = trueを設定し、検索ロガーのログレベルをDEBUGに変更できます:

検索の項目は以下の用途に役立ちます:

  • LINQコードが検索プロバイダーに渡されるネイティブ検索クエリにどのように変換されるかを理解したい開発者。
  • 特定のサーバー上でどの検索クエリが実行されているかを理解したい管理者。例えば、クエリをWarmupパイプラインに入力するなどの追加最適化にこの情報を活用できます。
この記事を改善するための提案がある場合は、 お知らせください!