2017-10-04 2 views
0

Ich spiele gerade mit Sitecore-Indizes herum - sowohl solr als auch lucene.Sitecore Solr Index FieldNameTranslator ist null

Ich habe meine eigene benutzerdefinierte Index und es funktioniert gut für Lucene, aber ich kann es nicht mit Solr arbeiten.

Mein Problem ist, dass der FieldNameTranslator null ist für meinen Index, wenn ich die Solr-Konfiguration verwende.

ich die Sitecores ContentSearch dlls bin mit den Indizes in der folgenden Art und Weise zu erhalten:

this.IndexName = indexName; 
this.index = ContentSearchManager.GetIndex(indexName);   
var i = ContentSearchManager.GetIndex("sitecore_master_index"); 

Als Test habe ich auch versucht, die sitecore_master_index holen und das scheint zu funktionieren. Ich erhalte die folgende:

enter image description here

ich einen Index bekommen, aber wenn ich es abfragen, indem GetQueryable Aufruf, dann schlägt es mit dem folgenden Fehler:

Exception: System.ArgumentNullException Message: Value cannot be null. Parameter name: fieldNameTranslator Source: Sitecore.ContentSearch.Linq.Solr at Sitecore.ContentSearch.Linq.Solr.SolrIndexParameters..ctor(IIndexValueFormatter valueFormatter, IFieldQueryTranslatorMap 1 fieldQueryTranslators, FieldNameTranslator fieldNameTranslator, IExecutionContext[] executionContexts, IFieldMapReaders fieldMap, Boolean convertQueryDatesToUtc) at Sitecore.ContentSearch.SolrProvider.LinqToSolrIndex 1..ctor(SolrSearchContext context, IExecutionContext[] executionContexts) at Sitecore.ContentSearch.SolrProvider.SolrSearchContext.GetQueryable[TItem](IExecutionContext[] executionContexts)

I SolrNet als IOC bin mit der , was ich in der Dokumentation lesen kann, sollte ab 8.2 funktionieren. Wenn ich einen der anderen IOCs verwende, funktioniert es gut.

Also meine Frage ist wirklich was könnte hier schief gehen? Und kann mir jemand erklären, was der FieldNameTranslator ist und wie er in der Konfiguration initiiert wird? (Wo ich nehme an, es ist gesetzt) ​​

Antwort

0

ich vor demselben Problem hatte, benutzen Sie einfach Schloss Windsor für IoC und Ihr global.asax so sein ändern:

<%@Application Language='C#' Inherits="Sitecore.ContentSearch.SolrProvider.CastleWindsorIntegration.WindsorApplication" %> 
0

Ich habe das gleiche Problem hatte. Stellen Sie sicher, dass Ihr Solr läuft, BEVOR Sie Sitecore auf Solr zugreifen. Ich habe genau den gleichen Fehler erhalten. Der Wechsel zu CasteWindsor hilft Ihnen nicht. Töte den Sitecore WP oder mache ein IISRESET - dann funktioniert es.

Verwandte Themen