[Sitecore][Coveo]Coveo Admin Overview 最後のソースの更新/再構築のステータスが更新されない。
概要:Coveo Admin Overview ページにおいて、最後のソースの更新/再構築のステータスが更新されないについてのメモ書きです。
検証環境は次の通りです。
- Cover Version 4.0
- Coveo for sitecore 81 4.0(895)
- Coveo Enterprise Search 7.0 x64(8691) for Sitecore
- Coveo Search API 8.0.1130
最近の作業でお客さんから、Coveoの管理者にログオンして、「最後のソースの更新/再構築は更新されません」にて、最新のインデックス再構築時間が正しくないといわれました。実際にインディクスをサイトコアにて再構築をすると、確かに「最後のソースの更新/再構築は更新されません」にて正しく更新されていなかった。
その上、お客さんがCoveo Adminにてインデックス再構築すると、四秒間で完了しました。これはサイトコアで同じインデックス再構築するには二時間以上かかることに対して、あまりにも短い過ぎます。
Coveoインデックス再構築に関する記事によりますと、インデックス再構築はサイトコアでで行うことを書かれており、CoveonのAdminにて行う関連記事が見つかりませんでした。
また、この記事によりますと、CESにてインデックス再構築のステータスもモニターすることができます。
確認として、サイトコアでにてインデックス再構築を始め、ローカルのCESコンソールにてステータスの確認ができました。また、サイトコアインデックス再構築の結果ウィンドウにて正常にインデックス再構築完了することができたものの、CoveonのAdminにてステータスが更新されていなかった。
Coveo のサポートと連絡を取ったところ、これは正しい動作であるといわれました。Coveoのサポートによると、Sitecoreがプッシュソースであるため、 初期ビルド後に”Last Source Refresh / Rebuild”のステータスが更新がされません。CESはSitecoreからドキュメントをフェッチできません。キュー内で待機しているドキュメントのみを処理できます。”Live Monitoring”が有効になっているので、CESはキューを処理するためにキューに追加されるアイテムを常に待っています。それらを処理するとき、それは「再構築」としては見られず、このフィールドを更新しません。
“Last Source Refresh / Rebuild”の状態を更新するには、”Live Monitoring”をまず無効し、それから、手動またはスケジュールどおりに再構築/更新を開始する必要があります。これによって、リフレッシュ/リビルドフィールドで、キュー内のアイテムは単独で処理され、”Last Source Refresh / Rebuild”の状態を更新されます。
“Live Monitoring”を無効にし、手動でサイトコアでにてインデックス再構築し、Coveo Adminにてインデックスの更新をした後、”Last Source Refresh / Rebuild”のステータスの更新時間が正しく反映されました。
しかし、手動でそれぞれのインデックス再構築するには時間がかかります。それに、スケジュールしでも、もし、緊急で手動でサイトコアでインデックス再構築した場合は、Coveo Adminのステータスががずれます。
別の方法で最後のインデックス再構築の時間をわかることがないかと思い、Coveo Adminをいろいろとみたところ、”Indexed Documents” -> Sort By ” Indexed date” そして、最初の検索結果の”Details”, をクリックすると、その”Indexed Date”が インデックス再構築の時間と一致しています。これを使って、最後のインデックス再構築時間の確認手段として可能かどうかをCoveoサポートに確認を取ったところ、OKといわれました。
これを使えば、いちいち、手動でCoveo Adminにて更新をせず、常に正しいインデックス再構築の時間をわかります。