We are using the latest version of EPiServer and EPiServer find.
We have configured our search to use the unified search and everything has been working well.
However, we have noticed today that the search results are now coming back with null URLs. This is very stragne behaviour as it has been working fine even up until this morning.
Is there any reason for this?
Thanks in advance,
Looking through the logs, I have found that there have been errors describing the below:
 ERROR EPiServer.Shell.UI.Rest.SearchResultStore: Search provider EPiServer.Find.Cms.SearchProviders.EnterprisePageSearchProviderthrew an exception when searching for "test"
ERROR EPiServer.Shell.UI.Rest.SearchResultStore: EPiServer.Core.ContentNotFoundException: Content with id 12345 was not found at EPiServer.Core.DefaultContentLoader.Get[T](ContentReference contentLink, LoaderOptions loaderOptions) at EPiServer.DataFactory.Get[T](ContentReference contentLink, LoaderOptions loaderOptions) at System.Linq.Enumerable.<>c__DisplayClass12`3.<CombineSelectors>b__11(TSource x) at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext() at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) at EPiServer.Shell.UI.Rest.SearchResultStore.Get(SearchResultModel searchResultModel, ItemRange range)
Why would it all of a sudden not be able to find the content?
Just to add, here is the query we are using:
var result = SearchClient.Instance.UnifiedSearchFor(q)
.Skip((page - 1) * pageSize)
Did you ever find the answer to this by any chance?
We're having the same problem now with the newest EPiServer and EPiServer Find. URL's turn up null, but the rest of the content seems to be there.
Can it be that the content has been deleted from the CMS but not in the index?
what happens if you try to open the content with the id in the error message ?
The only thing that seemed to get this working again was to clear the index and re-index the site (not ideal I know).
This has only happened once though and at the time we were sharing an index in two different environments which is not recommended. EPiServer recommends using one index for each environment.
Hope this helps!
Adam, that is most likely the case, there is never good to share an index between two enviroments. We do it in development since we are many developers for one site and there it usually works but there can be some strange errors sometimes when data is updated for one developer and not for the others but it is updated in index.
Same here. I get Url for normal content, but not for custom object.
.ProjectTitleFrom<IntranetUser>(b => b.SearchTitle)
.ProjectUrlFrom<IntranetUser>(b => b.SearchUrl)
.ProjectImageUriFrom(b => new Uri(b.SearchImage))
.ProjectTypeNameFrom(m => m.GetType().ToString());
Title is set. ImageUri is set. TypeName is set. Url is NOT set even though I know b.SearchUrl gets a value. I can see SearchUrl set in index. Also, if I use HitProjectionBuilder I get a message saying it's obsolete and I should use IndexProjectionBuilder instead. Could this have anything to do with the url problem? Like @bar10dr I use latest find and episerver.EDIT: I've created a new index, but still get same result, so to re-index is not a solution for me atleast.