我正在使用Sitecore 7和Solr Search提供程序.我目前有网站设置来在发布项目时更新搜索索引.
我注意到,当CMS作者创建项目的不同版本然后将这些版本提交到索引中时,项目的先前版本不会从索引中删除,因此索引包含同一Sitecore项目的多个版本.
有没有人知道我可以更改的任何设置,以确保在添加新版本之前从索引中删除了以前的版本?
我尝试运行一些代码,如下所示,在发布之前从索引中删除项目,但索引上的Delete方法似乎没有删除任何内容.
var indexableItem = (SitecoreIndexableItem)item;
ContentSearchManager.GetIndex(index).Delete(indexableItem.UniqueId
Run Code Online (Sandbox Code Playgroud)
任何帮助非常感谢.
我一直在使用一些Sitecore 7搜索代码.以下示例.
using (var context = Index.CreateSearchContext())
{
// ....Build predicates
var query = context.GetQueryable<SearchResultItem>().Where(predicate);
return query.GetResults();
}
Run Code Online (Sandbox Code Playgroud)
这在SOLR中工作正常,但是当与标准Lucene一起使用时,每当我引用SearchResults<SearchResultItem>返回的属性时GetResults(),Sitecore错误都带有" Cannot access a disposed object".它似乎GetResults()没有枚举并仍然挂在searchcontext上.
有人之前遇到过这个并知道如何修复吗?我已经看到一些文章建议SearchContext处于应用程序状态,但理想情况下我想避免这种情况.
谢谢
伊恩
我已经使用Sitecore版本7.1几个月了,并注意到Sitecore客户端在闲置约20分钟后让我退出.其他用户在内容编辑时也报告了这些问题.
我正在使用Windows 7,IIS 7,.NET framework 4.5.
我已经检查了错误日志中的任何内容,并且看不到明显的错误并且keepalive服务正在运行 - 我在日志中获取此信息:
ManagedPoolThread #14 12:47:24 INFO Scheduling.UrlAgent started. Url:http://testsite/sitecore/service/keepalive.aspx
Run Code Online (Sandbox Code Playgroud)
我在日志中得到了一些,但这可能是相关的吗?
WARN Memory usage exceeded the MemoryMonitor threshold
Run Code Online (Sandbox Code Playgroud)
当我离开它20分钟后回到现场.我在日志中得到这些条目.
952 15:08:28 INFO AUDIT (sitecore\grahams): Logout
952 15:08:28 WARN Protected page accessed with no current user
6440 15:08:28 INFO AUDIT (sitecore\grahams): Logout
6440 15:08:28 WARN Protected page accessed with no current user
Run Code Online (Sandbox Code Playgroud)
有没有看到过这种情况的身体,或者有任何迹象表明我如何能够达到这个目的?
提前致谢
伊恩
我正在寻找一种方法,我可以使用Sitecore Powershell批量更新媒体项目,但很高兴在这里提出任何其他建议.
我需要一种方法来替换另一个媒体项的Sitecore媒体项的blob值.Sitecore Powershell甚至可以实现这一点吗?
sitecore ×4
sitecore7 ×2
c# ×1
lucene ×1
powershell ×1
search ×1
sitecore7.1 ×1
sitecore8 ×1
solr ×1