To better understand your problem - are you using EPiServer.Find.Personalization package or regular Episerver.Find?
How is content itself personalized? Blocks or some other way?
Hi Mari
We are not using EPiServer.Find.Personalization, most of our visitor groups rely solely on simple classes inhertiing from CriterionBase and overriding IsMatch.
We use them primarily to show/hide blocks in content areas on pages. We are not using commerce.
As far as I am aware, default indexing logic will index content based on access for anonymous user.
To achive this out of the box, your visitior groups can be made into security roles (se image below). This will hide content for visitors not part of the group, so it all depends on your setup.
Another option could be to add more data upon indexing, so that you can use that information for sorting relevance upon search.
Hi,
I have almost the same solution as Nat in place, CriterionBase and overriding IsMatch method.
I use the episerver.contentdeliveryapi.search v. 3.8.0 package to search through the pages, for example:
/api/episerver/v3.0/search/content/?personalize=true&query=text
It works fine but the pages restricted using a Visitor group (checked with the "Make this visitor group available when setting access rights for pages and files") are not included in the result. When I request the url above the IsMatch method above is not hit, as it does instead if i request a single page, even with restriction. for example:
/api/episerver/v3.0/content/66?expand=*
All the pages seem to be indexed, even the restricted ones.
According to the documentation should be enough to add the ?personalize=true query string to the request but it does not work. Have I missed something?
Any suggestion would be highly appreciated,
thanks Mirko
I have been trawling the docs but cant see how to integrate find results with any visitor group personalisation. is this even possible?
we have a number of visitor groups which are determined by the url. I assume when find indexes, it does not take any of this into consideration in the data it holds for a page or block.
is there a way to ensure that when a user is searching the correctly personalised/visitor group content is all that is returned in a search hit?
obviously when a user clicks through to the page in the result, it will show the correct content, but if they searched for something that was 'personalised' when they went to the page, they might not actually see it.
not ideal...