I am attempting to switch an instance of Sitecore 7.2 from Lucene to Solr on my local machine. I followed a well written guide detailing the steps, but I can't make it work.
My environment:
- Sitecore 7.2
- Solr 4.1
- Solr running on localhost:8983/solr/
- Selected castle windsor for the IOC
Unfortunately our site uses a bit of custom code, (as shown below in the global.asax file) and I'm hoping that's not what's tripping me up in making this work.
Global.asax
<%@Application Language='C#' Inherits="Sitecore.ContentSearch.SolrProvider.CastleWindsorIntegration.WindsorApplication" %>
<%@ Import Namespace="Sitecore" %>
<%@ Import Namespace="Sitecore.Diagnostics" %>
<%@ Import Namespace="System.Web.Configuration" %>
<%@ Import Namespace="Glass.Sitecore.Mapper" %>
<%@ Import Namespace="Glass.Sitecore.Mapper.Configuration.Attributes" %>
<script runat="server">
public void Application_Start()
{
AttributeConfigurationLoader loader = new AttributeConfigurationLoader
(
new string[]
{
"MedTouch.Base.BLL"
}
);
Glass.Sitecore.Mapper.Context context = new Glass.Sitecore.Mapper.Context(loader);
}
</script>
And here are the steps I've performed in attempting to make the switch.
1) Setup 7.2 instance locally and tested for functionality.
2) Installed Solr 4.1 & renamed default collection1 core to itembuckets for testing purposes.
3) Updated solr.xml
file to reflect new core name (change collection1 to itembuckets)
4) Renamed schema.xml
file to schema-orig.xml
file in itembuckets/conf/ folder
5) Generated new schema file from control panel in 7.2
6) Reloaded core with new schema from Solr admin panel
7) Renamed Lucene config files in app_config/include to include .example to disable (7 files total)
8) Copied solr.config
file from support package to app_config/include folder
9) Copied solr support dll's for castle windsor to bin folder
10) Copied castle window / core dll's from solr support 7.2 dir/net40-client folder to bin directory
11) Modifed global.asax
file to include castle windsor IOC
12) Created core, master and web cores in Solr & added to solrconfig.xml
13) Updated sitecore.contentSearch.Solr.Indexes.config
to point to correct core names
14) Removed all lucene dll's from bin folder
15) Updated medtouch.contentSearch
& siteSearch.config
files to replace lucene with solr
Finally, here's the error I'm receiving when I attempt to load the site.
Server Error in '/' Application. Method not found: 'Sitecore.ContentSearch.ProviderIndexSearchConfiguration Sitecore.ContentSearch.ContentSearchManager.get_SearchConfiguration()'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.MissingMethodException: Method not found: 'Sitecore.ContentSearch.ProviderIndexSearchConfiguration Sitecore.ContentSearch.ContentSearchManager.get_SearchConfiguration()'.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[MissingMethodException: Method not found: 'Sitecore.ContentSearch.ProviderIndexSearchConfiguration Sitecore.ContentSearch.ContentSearchManager.get_SearchConfiguration()'.]
Sitecore.ContentSearch.SolrProvider.SolrContentSearchManager.get_SearchConfiguration() +0
Sitecore.ContentSearch.SolrProvider.SolrContentSearchManager.get_Cores() +22
Sitecore.ContentSearch.SolrProvider.CastleWindsorIntegration.WindsorSolrStartUp.Initialize() +66
[HttpException (0x80004005): Method not found: 'Sitecore.ContentSearch.ProviderIndexSearchConfiguration Sitecore.ContentSearch.ContentSearchManager.get_SearchConfiguration()'.]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +540
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +186
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +172
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +402
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +343
[HttpException (0x80004005): Method not found: 'Sitecore.ContentSearch.ProviderIndexSearchConfiguration Sitecore.ContentSearch.ContentSearchManager.get_SearchConfiguration()'.] System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +539 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +125 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +731
The only partials solutions I've seen are to check my config file(s) and make sure they're pointing to the correct core names in solr (which they are) and that my solr host url is correct (and it is).
So I'm at a loss as to what to look at next.
Thanks everyone!