2014-05-08 14 views
5

Sono nuovo in Sitecore e ho un compito per creare la ricerca utilizzando l'API SiteCore 7. ottenere l'errore seguente sull'esecuzione della query dei risultati di ricerca.Ricerca contenuto, Ricostruisci indice Errore

System.ArgumentNullException: Value cannot be null. Parameter name: 
fieldNameTranslator 

errore sollevato dal seguente riga

IQueryable<SearchResultItem> results = context.GetQueryable<SearchResultItem>(); 

pila dice

Sitecore.ContentSearch.Linq.Solr.SolrIndexParameters..ctor(IIndexValueFormatter valueFormatter, IFieldQueryTranslatorMap`1 fieldQueryTranslators, FieldNameTranslator fieldNameTranslator, IExecutionContext[] executionContexts) +284 

ho effettuato l'accesso al sistema di gestione dei contenuti e in Index Manager sto cercando di ricostruire l'indice di sitecore_web_index ma io errore seguente

Job started: Index_Update_IndexName=sitecore_web_index|#Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Sitecore.Exceptions.ProviderConfigurationException: Solr operations unavailable. Please check your global.asax, 

risposta

5
  • Verificare se è possibile accedere a Solr da un computer che ospita l'app Sitecore.
  • Assicurarsi che ContentSearch.Solr.ServiceBaseAddress punti di regolazione per una risorsa Solr destra
  • Se la soluzione utilizza CIO, assicurarsi che ci sia una sola istanza di contenitore CIO definito per l'applicazione. Se necessario, spostare l'inizializzazione del contenitore nel metodo Application_Start.
+0

posso accedere solr con "http: // localhost: 8983/solr", posso vedere "Collection1" e "itembuckets" nel menu a discesa, nel file di configurazione servicebaseaddress è già configued a utilizzare l'URL solr corretto e predefinito, il file global.asx ha la seguente voce "<% @ Application Language = 'C#' Inherits =" Sitecore.Web.Application "%>" – Ali

+0

Ma QUANDO eseguo l'indicizzazione del database I Get Following error Job iniziato:. Index_Update_IndexName = Sitecore_core_index | # Eccezione: System.Reflection.TargetInvocationException: HAS Exception lanciata dalla destinazione di una chiamata ---> Sitecore.Exceptions.PiaruobuiaiderConfigurationException: Solr Operations non disponibile. Controlla il tuo global.asax, le impostazioni e i file inclusi. – Ali

+0

Ho appena disabilitato "Sitecore.ContentSearch.Solr.Indexes.config" e tutto funziona. – Ali

0

Sono anche affrontando lo stesso problema il CIO è configurato anche su Application_Start ma ho scavare ulteriormente la questione e ha scoperto che il classe Sitecore.ContentSearch.ContentSearchManager colpisce il Factory.CreateObject ("contentsearch/Configurazione ", vero); Metodo che restituisce l'oggetto Sitecore.ContentSearch.SolrProvider.SolrSearchConfiguration. Ma l'oggetto previsto è ProviderIndexSearchConfiguration. Ho utilizzato lo stesso Sitecore.ContentSearch.Solr.Indexes.config fornito nel pacchetto di configurazione solr.

e per questo motivo il metodo Initialize di Sitecore.ContentSearch.SolrProvider.SolrContentSearchManager genera eccezioni per le operazioni.

public static void Initialize() { foreach (ISearchIndex searchIndex in SolrContentSearchManager.Indexes) searchIndex.Initialize(); //The searchIndex.Operations is throwing above exception when I put watch on that. }

0
  • Si prega di assicurarsi che lo schema.xml contiene, <types></types> nodo che dovrebbe tenere <filedtype> nodo come il suo bambino. E il nodo <fields></fields> che dovrebbe contenere il nodo <field> come figlio.
  • Lo schema.xml nella cartella di esempio Solr potrebbe non contenere i nodi sopra. dopo aver aggiunto i nodi sopra allo schema.xml esistente, generare il nuovo schema.xml da Sitecore (Pannello di controllo-> Indicizzazione).
  • Riavvia l'istanza Solr e prova a ricostruire l'indice da Sitecore.
  • I passaggi precedenti risolvono il problema per me. Spero che ti possa aiutare.

Controllare this come riferimento.

0

È possibile ottenere il Castello di Windsor dal NuGet eseguendo questo comando in Visual Studio:

Install-Package Castle.Windsor -version 3.1.0 

Avrai bisogno di configurare il contenitore del CIO nel Global.asax. Modifica global.asax della tua applicazione come segue,

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

Ora il problema si risolve.

Regrads, Piushpendra

Problemi correlati