Recently I've migrated SharePoint 2010 search solution to SharePoint 2013 platform and I'd like to share some experience and the most problematic points for me. There is a short description below of valuable things in the solution to get understanding what's going on:
1) First To make the search works with anonymous users, I need to deactivate site collection feature Limited-access user permission lockdown mode. If the feature is activated, anonymous users won't have access to the list items' display forms and to the lists' view pages at all(even if you enable anonymous access for Entire site). Therefor search crawler trims access to these items and they don't appear in search result for anonymous users.It was the most problematic point for me and I spent a day to realize what going on with access :)
2) New Managed Properties have some additional configuration properties. One of them its Safe check-box. So my managed property is used in the custom search scope and anonymous users have to search in this scope that's why I need it to be checked.
Also to search by the managed property and include it to the full-text index, it should be marked as Retrievable and Searchable.
3) Search Scopes is deprecated and SP2013 provides Result Sources instead of Search Scopes. But I have to notice that old Search Scopes(despite of it's deprecated) works fine and I managed to cover all required search scenarios using old approach, due to lack of time to use new approaches. So the custom code which creates Search Scopes hasn't been changed since SharePoint 2010.
4) Search web parts have been changed. Now standard Search Center site collection in SharePoint 2013 includes new web part for search box and new web part for search result. But again old SearchBoxEx and CoreResultsWebPart work fine. (except CSS styles of Search Box web part )
So, hope this article will help someone to avoid misunderstanding and will save time.
- The initial search solution uses custom Managed Properties, Search Scopes.
- Includes search scenarios under anonymous users.
- The search UI is provided by OTB web parts like SearchBoxEx and CoreResultsWebPart.
- Search is intended to search within one site collection
1) First To make the search works with anonymous users, I need to deactivate site collection feature Limited-access user permission lockdown mode. If the feature is activated, anonymous users won't have access to the list items' display forms and to the lists' view pages at all(even if you enable anonymous access for Entire site). Therefor search crawler trims access to these items and they don't appear in search result for anonymous users.It was the most problematic point for me and I spent a day to realize what going on with access :)
2) New Managed Properties have some additional configuration properties. One of them its Safe check-box. So my managed property is used in the custom search scope and anonymous users have to search in this scope that's why I need it to be checked.

3) Search Scopes is deprecated and SP2013 provides Result Sources instead of Search Scopes. But I have to notice that old Search Scopes(despite of it's deprecated) works fine and I managed to cover all required search scenarios using old approach, due to lack of time to use new approaches. So the custom code which creates Search Scopes hasn't been changed since SharePoint 2010.
4) Search web parts have been changed. Now standard Search Center site collection in SharePoint 2013 includes new web part for search box and new web part for search result. But again old SearchBoxEx and CoreResultsWebPart work fine. (except CSS styles of Search Box web part )
So, hope this article will help someone to avoid misunderstanding and will save time.