我使用默认设置创建了一个自定义搜索页面sitecore_web_index
,一切似乎都有效,直到我迁移到具有单独内容管理和内容交付服务器的测试环境.CD服务器上的索引没有在发布时更新(CM服务器确实),如果我从控制面板重建索引,我会看到更新.所以我相信索引和搜索页面正常工作.
该指数正在使用该onPublishEndAsync
策略.Sitecore搜索和索引指南(http://sdn.sitecore.net/upload/sitecore7/70/sitecore_search_and_indexing_guide_sc70-usletter.pdf)第4.4.2节说明:
这个策略正如名称所暗示的那样.在初始化期间,它订阅该
OnPublishEnd
事件并触发增量索引重建.使用单独的CM和CD服务器,此事件将通过EventQueue
对象触发,这意味着EventQueue
需要启用该对象才能使此策略在此类环境中工作.
我的web.config有 <setting name="EnableEventQueues" value="true"/>
同样来自搜索和索引指南:
处理
策略将使用EventQueue
初始化的数据库中的对象:<param desc="database">web</param>
这意味着该策略成功执行有多个标准:
- 必须
<databases />
在配置文件的部分中指定此数据库.- 该
EnableEventQueues
设置必须设置为true.EventQueue
预配置数据库中的表应具有日期晚于索引的上次更新时间戳的条目.
我不确定<param desc="database">web</param>
设置,因为CD服务器的发布目标(和数据库ID)是pub1
.我尝试更改web
为pub1
,但是然后服务器的索引都没有在发布上更新(因此它已更改回web
).
该系统最近从Sitecore 6.5升级到7.2,因此有几个索引使用Sitecore.Search
API,这些索引在发布时更新.
EventQueue
考虑到多个发布目标,数据库参数是否出错?还有其他我想念的东西,或者可能是我可以比较的CM - > CD环境的工作示例吗?
TIA
编辑:如果我不想在周五和今天坐在我旁边的同事可以确认,我会认为我会发疯.但现在,CD服务器正在获取索引的更新,但CM服务器没有获得更新.什么会使CM服务器现在无法获得更新?
根据Sitecore 7.2内容作者的食谱(第66页):
在" 内容"窗格中,单击" 浏览"以打开" 选择媒体"对话框.将 打开" 选择媒体"对话框,并显示媒体库中可用于所选图像字段的所有项目.
但是,在我的系统上,Media folder
显示当前所选的图像媒体项目.问题是所有过滤器选项,我的图像,最近上传的图像,甚至所有图像文件,只显示当前所选项目及其自身的后代.除非您关闭" 选择媒体"窗口,"清除图像"字段,然后单击"浏览" ,否则似乎没有办法选择其他文件夹或重置"媒体"文件夹.但是,在浏览之前清除图像字段也会重置树视图,使得选择当前图像的兄弟姐妹变得更加困难.
考虑到我的本地实例(以及我为测试设置的第二个vanilla安装)的行为与文档不同,是否有一个我缺少的设置?