为什么某些Sitecore内容不能被Solr索引?
我有一个使用Sitecore 7.5和Solr 4.7构build的网站。 我注意到一些非常奇怪的现象,某些内容项目没有被索引。 这是发生了什么事。
我有一个名为“内容页面”的数据模板。 大多数使用此数据模板的内容项目都位于/ sitecore / content / Home / Corporate中。 像这样的事情:
/sitecore/content/Home/Corporate/About-Us /sitecore/content/Home/Corporate/Careers /sitecore/content/Home/Corporate/Terms-Of-Use
我创build了几个testing项目,它们位于/ sitecore /内容中,如下所示:
/sitecore/content/Test-1 /sitecore/content/Test-2
所有这些页面都是使用“内容页面”数据模板构build的。 在我重build索引,然后去Solr用户界面并做一个查询后,我找不到任何生活在主页节点下的项目。 当我对_templatename进行查询时:“Content Page” – 我只在结果中得到Test-1和Test-2。 有谁知道为什么会这样呢? 真奇怪 我从来没有见过Solr根本没有索引某些项目的东西。 这似乎是基于他们在内容树中的位置。
根据Sitecore论坛上的Pavel Veller ,回答类似于你的问题:
首先,有不同的后备战略。 字段级别很可能是通过StandardValuesProvider完成的,是的,您需要有一个用于回退的语言版本。我们在SCORE中构build了一个可以创build空语言版本的语言工具向导,以帮助完成这种情况。 您还可以使用ItemProvider进行项目级回退,这将使其看起来像某个项目具有语言版本,即使它不是。 两者的好处是您在Sitecore API级别上回退。 像search爬虫一样的服务,并通过这些API发布所有的工作(当然,直到你自己写了),结果他们都“看到”后备。 发布实际上会“实现”回退值,CD上的抓取工具将使用项目和字段值,就好像这些是真实的。