2016-05-30 5 views
2

したがって、ContentSearchManager.GetIndex(SitecoreIndexableItem)はnullを返しています。私たちはインデックスを見逃しているかもしれないと確信しています。 sitecore masterデータベースを使用すると、すべて正常に動作しますが、Webではnullです。ContentSearchManager.GetIndex(SitecoreIndexableItem)に使用しようとしているインデックスを特定する方法

私は、どのインデックスがGetIndexがnullを返す回復しようとしているのかを知る方法があると思います。

+0

GetIndexに渡すインデックスが存在しないようです。 showconfig.aspxページから、すべてのWebインデックスファイルがロードされているかどうかを確認します。 –

+0

Imはインデックスを渡しません。この場合、GetIndexがより適切なインデックスを解決できるように、インデックス可能なインデックスを渡します。それはどれもそうではありません。 – Ernesto

+0

実装方法を教えてください。私はコードスニペットを意味する –

答えて

4

インデックスを取得するためのデフォルトサイトコアロジックをオーバーライドしていない場合は、サイトコアは、コンフィギュレーションに、それらのそれぞれのために登録されているすべてのインデックスをチェックしSitecoreIndexableItem

ContentSearchManager.GetIndex(SitecoreIndexableItem) 
に渡されたかどうかをチェック

はそのインデックスから除外されません。

次に、の最初の一致インデックスが返されます。

あなたの質問に対する答えは次のとおりです。 - Sitecoreは、すべてのインデックスが自分のアイテムと一致するかどうかをチェックします。

あなたはこのようなエラーのためにあなたのログを見てみたいことがあります。

「{indexable.AbsolutePath}のための適切なインデックスがありません - {indexable.Idは}あなたは、インデックスクローラーを追加する必要があります。このアイテムをカバーする "

これは、どのアイテムがインデックスに登録されていないかを見つけるのに役立ちます。

+0

私は一見するが、これまでのところ、私はそのようなエラーは見つかりませんでした。どこかのチェックロジックをすべて出力する方法を見たいと思っています。 – Ernesto

+0

これは、ここの情報を使用して、私の特定の問題の根本に私を連れて行きました:http://elenazlateva.blogspot.com/2014/10/vulnerability-with-using-sitecore.html私はインデックスとクローラを繰り返しました。索引クローラーのルートが誤っていると考えました。私は、ヌルチェックがないためにすべてのインデックスを分析する前に、エラーが発生しているsitecoreのバグだと言います。 – Ernesto

+0

@Ennesto素敵に見つかった! –

関連する問題