Is there a way to change how Find is setting the id on the IndexDocument?
Id has no setter, but there is a id convention, but not sure how to use it...
If I look in the source code for the PageIndexer class the use of page.GetIndexId() seems to be hardcoded.
Why? Stupid decision, we made a copy of a website's database because the should basically have the same content from the start, and now they want to share the same index. So the guids are no longer unique. We want to add the site id to the document id so it gets unique again.
SearchClient.Instance.Conventions.ForInstancesOf<PageData>().IdIs(x => ...) should change what the ID is. However, there may be places in the CMS integration that relies on the default ID strategy for pages. Hopefully Henrik och Marcus can check that.
Seems to work. Thanks.
page.GetIndexId() is used in the Delete method in PageIndexer, so yes, there will probably be some problems...
Should maybe clarify that we're using EPi6 and EPiServer.Find.Cms 220.127.116.118
Hi,You could change the Id-convention by calling:
SearchClient.Instance.Conventions.ForInstancesOf<PageData>().IdIs(x => x.MyIdExtension());
However I see that there is a bug as you have noticed in the PageIndexer when deleting a document, overruling the conventions by calling GetIndexId() directly. If you contact the support they will provide you with a patch.