我的客户没有预算来设置和维护SOLR服务器以在其生产环境中使用.如果我正确理解Sitecore 7内容搜索API,那么配置使用Lucene的东西并不是什么大问题.在大多数情况下,配置将类似,代码将相同,并且稍后可以交换SOLR服务器.
网站建设有
该网站有大约5,000页和不包括媒体库项目的组件.是否有任何关于简单使用Lucene的担忧?
主要问题是,在您的架构或设计阶段,您何时知道您应该选择SOLR而不是Lucene?引导您推荐的主要标志是什么?
我有一个使用Solr 4.7作为搜索引擎的Sitecore 7.5站点.它很棒.这是一个多语言网站.我也在使用Alex Shyba编写的Partial Language Fallback模块.我已将其改编为与Sitecore 7.5配合使用,效果很好.我无法弄清楚的最后一部分是如何让Solr搜索与部分语言回退一起使用.我猜我需要做的是以某种方式在索引时我需要索引所有语言的内容并根据需要从后备语言中提取字段值.所以我要说我有以下内容:
Partial Language Fallback模块完美地处理了这种情况.无论当前的上下文语言是什么语言,我仍然可以看到"联系我们"页面和页面上的所有字段.
但我不确定我应该如何让Solr索引这个内容.我的猜测是,不知何故,我需要告诉Solr索引在所有4种语言中创建联系我们页面的完整索引,如果没有该语言的内容,则使用每个字段的英文内容.我在网上发现了一篇博文,展示了如何为Lucene做这个.但我不确定如何使用Solr做到这一点.有谁知道如何在Solr中处理这个问题?
我们遇到的问题是EventQueue表有时会非常快速地增长,每秒最多3k条记录,并且永远不会清除记录(截至目前为3000万条记录).我们的环境有如下设置:
Sitecore 7.2
我有几个问题,所以我将它们分解为单独的行项目.
当为所有CD服务器发布发布时,更新内容直接从CM数据库发送到CD数据库(所有正确的表),或者是否发送到CD数据库中的EventQueue表,并且CD服务器有一个作业/查看表并根据需要更新的任务.
根据第一个问题的答案,如果有2个CD服务器指向同一个DB,他们如何知道他们是否应该处理EventQueue表(他们不会每个处理表并重复工作)
为什么没有清除EventTable表?如何清除,何时清除?
我使用默认设置创建了一个自定义搜索页面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实践,因此将使用角色继承(角色中的角色),因此还需要考虑这一点.
我在Advanced Database Crawler模块中看不到任何有用的东西,我查看了Sitecore搜索和索引指南(版本6.6和版本7),但找不到有关索引应用于项目的安全性的任何信息.以下文章有一些建议:
这感觉"很脏",并且可能会出现性能问题,尤其是在返回大量商品时.另外,(在评论中看到)分页结果的问题.
上面看起来更加真实,并且会根据索引的安全角色过滤掉结果,显然需要扩展角色来处理角色中的角色.我在这里担心的是,当我们特别需要拒绝/限制某些角色对内容项的访问时,我们需要处理被拒绝的权限(我知道这不是推荐的做法,但是有一个非常具体的需要总是拒绝).
我现在处于计划阶段,所以今天发布Sitecore 7还有可能使用更新的Lucene库和/或SOLR,如果这样可以让生活变得更轻松 - 当然假设某些模块像WebForms for营销人员和电子邮件营销经理会在不久之前更新.
考虑到安全性,人们用于返回搜索结果的解决方案是什么?除上述相关问题之外的其他选择?也许我可以利用Sitecore 7中的东西,更新的Lucene库或SOLR?
我宁愿保持这一切"开箱即用"Sitecore,如果可能的话,不要使用其他第三方搜索产品.
我有一个响应式设计Sitecore 7解决方案,我想将svg文件添加到媒体库中,以便像jpg,jpeg图片一样进行处理.当我上传svg文件时,它们会像媒体文件一样处理,而不像图像文件.
当我浏览到我的首页时,例如/ sv我得到一个只显示"默认页面"的空白页面.但是,当我尝试/ sv /它工作.像/ sv/example这样的子页面虽然没有斜线.我正在使用只有MVC视图的Sitecore 7.1.
任何人都可以告诉我Sitecore中的Renderings和Sublayouts之间的区别以及何时应该使用它们?当你使用MVC时它会有什么不同吗?
我最近经历了很多针对Sitecore的教程/视频,有时将演示文稿创建为Sublayout,有时候渲染这两种渲染在将其链接到MVC视图时似乎都是一样的.必须有一些差别,但我没有找到任何准确解释它是什么以及何时应该使用每一个的东西.
"urllink"是Sitecore索引中的ComputedIndexField.
如果我重建索引,那么存储到索引中的URL会以"/〜/ media/..."开头,这是正确的.
但是如果索引策略是onPublishEndSync,并且我在我的媒体项上重新发布,那么网址以"/ sitecore/shell /〜/ media/..."开头.
我检查过Sitecore源代码,区别在于Context.Site.重建索引时它为null,因此它使用"/"作为前缀.但在发布时它是"Sitecore shell".因此它使用Sitecore Shell的Context.Site.VirtualFolder,即"/ sitecore/shell".
我认为这是一个Sitecore错误.ATM我想创建自己的urlLink ComputedIndexField类,并使用AbsolutePath = false的MediaUrlOptions作为修复.
只是想知道我是否遗漏了任何东西而且它实际上不是Sitecore的问题?
谢谢!
我最近一直在将内容和代码库从旧的Sitecore CMS 6.5安装(具有大量自定义)迁移到CMS 7.0的全新安装.
在原始站点中,Single-line text
已使用字段将任意Javascript呈现到页面中(用于跟踪).这工作正常,Javascript被渲染到页面中,未编码并按预期执行.
但是在新安装中我注意到内容现在是HTML编码的,这意味着它不会在我正在使用的Sitecore 7安装下执行.
在我的Sublayout中,我有一个像这样的FieldRenderer:
<sc:FieldRenderer ID="tracker" FieldName="Script" runat="server" />
Run Code Online (Sandbox Code Playgroud)
我不确定是否存在我未迁移的自定义/配置,或者这是否是Sitecore 7中引入的更改(可能出于安全原因).
任何人都可以对此有所了解吗?我是否需要创建自己的字段类型以允许所需的行为,或者我是否可以通过"开箱即用"字段类型执行此操作?
sitecore ×10
sitecore7 ×10
lucene ×3
solr ×3
asp.net-mvc ×2
.net ×1
c# ×1
indexing ×1
media ×1
search ×1
security ×1
sitecore7.1 ×1
sitecore7.2 ×1
sitecore7.5 ×1
svg ×1