为什么某些Sitecore内容不会被Solr索引?

Cor*_*ett 37 sitecore solr4 sitecore7.5

我有一个使用Sitecore 7.5和Solr 4.7构建的网站.我注意到一个非常奇怪的现象,某些内容项目没有被索引.这是正在发生的事情.

我有一个名为"内容页面"的数据模板.使用此数据模板的大多数内容项目都位于/ sitecore/content/Home/Corporate中.这样的事情:

/sitecore/content/Home/Corporate/About-Us
/sitecore/content/Home/Corporate/Careers
/sitecore/content/Home/Corporate/Terms-Of-Use
Run Code Online (Sandbox Code Playgroud)

我创建的一些测试项目存在于/ sitecore/content中,如下所示:

/sitecore/content/Test-1
/sitecore/content/Test-2
Run Code Online (Sandbox Code Playgroud)

所有这些页面都是使用"内容页面"数据模板构建的.重建索引然后转到Solr UI并执行查询后,我找不到Home节点下面的任何项目.当我查询_templatename:"内容页面"时 - 我只在结果中获得Test-1和Test-2.有谁知道为什么会发生这种情况?这真的很奇怪.我从未见过Solr根本没有索引某些物品的东西.它似乎基于它们在内容树中的位置.

小智 3

根据 Sitecore 论坛上的 Pavel Veller 的说法,回答了与您类似的问题:

首先,有不同的后备策略。字段级别很可能是通过 StandardValuesProvider 完成的,是的,您需要有一个语言版本才能启动回退。我们在 SCORE 中构建了一个语言工具向导,可以创建空的语言版本来帮助解决这种情况。您还可以使用 ItemProvider 进行项目级回退,这将使项目看起来好像具有该语言的版本,即使它没有。两者的好处是您可以回退到 Sitecore API 级别。搜索爬虫和发布等服务都通过这些 API 进行工作(当然,直到您编写自己的 API),因此它们都“看到”了后备。发布实际上将“具体化”后备值,CD 上的爬虫将处理项目和字段值,就好像它们是真实的一样。