November Happy Hour will be moved to Thursday December 5th.
November Happy Hour will be moved to Thursday December 5th.
Hi Kristine,
This is a bug that we are investigating at the moment. I hope that we will have a fix out as soon as possible.
Could I ask you for some more information about the different sites. Are there any differnece between them? Same Cms.Core version and same Find version?
Hi,
There are some difference between them.
The working site:
episerver.find 7.5.446.66
episerver.cms.core 7.6.1
The site that is not working:
episerver.find 7.5.446.1
episerver.cms.core 7.5.1000
Will upgrading episerver.find be a solution to our problems?
Would be good if that was the case but I doubt it. Surprised that it works for the 7.5.446.66 Site.
We will continue to search for the problem. WIll update this thread when we ahve fixed it.
I just encountered the same problem. I fixed it by creating my very own indexing job for now.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using EPiServer;
using EPiServer.BaseLibrary.Scheduling;
using EPiServer.Core;
using EPiServer.Find;
using EPiServer.Find.Cms;
using EPiServer.ServiceLocation;
using EPiServer.Web;
using log4net;
namespace Solita.Web.ScheduledJobs
{
[EPiServer.PlugIn.ScheduledPlugIn(
DisplayName = "EPiServer Find Full Indexing Job",
Description = @"This indexes all content on every site.",
SortIndex = 10201)]
public class EpiserverFindIndexAllContentJob : JobBase
{
private static readonly ILog Log = LogManager.GetLogger(typeof (EpiserverFindIndexAllContentJob));
private IContentIndexer Indexer { get; set; }
private IClient FindClient { get; set; }
private IContentRepository ContentRepository { get; set; }
private SiteDefinitionRepository SiteDefinitionRepository { get; set; }
public EpiserverFindIndexAllContentJob()
{
Indexer = ContentIndexer.Instance;
FindClient = ServiceLocator.Current.GetInstance<IClient>();
ContentRepository = ServiceLocator.Current.GetInstance<IContentRepository>();
SiteDefinitionRepository = ServiceLocator.Current.GetInstance<SiteDefinitionRepository>();
}
public override string Execute()
{
return IndexSiteContent();
}
private string IndexSiteContent()
{
var sb = new StringBuilder();
foreach (var startPage in GetStartPages())
{
try
{
var startTime = DateTime.Now;
var results = Indexer.IndexFrom(startPage.ContentLink, true, startPage.ExistingLanguages).ToList();
var indexed = results.Count(r => r.Ok);
sb.AppendFormat("{0}: {1}<br>", startPage.SiteId(), indexed);
// clear old entries
var siteId = startPage.SiteId();
FindClient.Delete<IContent>(x => x.GetTimestamp().Before(startTime) & x.SiteId().Match(siteId) | !x.SiteId().Exists());
}
catch (Exception ex)
{
sb.AppendFormat("{0}: Error: {1}<br>", startPage.SiteId(), ex);
Log.Error(ex);
}
}
return sb.ToString();
}
private IEnumerable<PageData> GetStartPages()
{
var pageLinks = SiteDefinitionRepository.List().Select(d => d.StartPage);
return pageLinks.Select(link => ContentRepository.Get<PageData>(link, LanguageSelector.MasterLanguage()));
}
}
}
Having the same problem.
Using
EPiServer.Find, version 7.5.450.89
EPiServer.CMS.Core, version 7.7.0
Any updates on this issue?
Same - it indexes all languages except the master language, it seems (or, to be fair, it indexes three pages from that as well. Im guessing it's the system pages).
Just updated all nugets;
- EPiServer.CMS.Core.7.8.0
- EPiServer.Find.8.2.3.666
Arve, thanks :)
Though you may need to do few modifications depending on your solution. The job indexes StartPage descendant content only. So pages and other content that's located right under the RootPage (siblings to StartPage) are excluded, this includes MediaData-content too.
To index all content one can just change StartPage reference to RootPage, that indexes all, though it much slower to run :)
Hi,
I have a site where the language versions of a page not get indexed by the indexing job that comes with Episerver Find. If I publish a change to a page, the language versions get indexed. But if I run the indexing job after this, only the master language version will remain in the index.
I have a different site where the indexing job is working as normal, and comparing the code for both the indexing jobs, doesn´t show any difference between them.
Does anyone have a clue what could be my problem?
We are running version 7.5.466.1 of episerver.Find