我目前正在使用Sitecore索引 - solr和lucene。Sitecore Solr索引FieldNameTranslator爲null
我已經做了我自己的自定義索引,它對於lucene工作正常,但我無法讓它與Solr一起工作。
我的問題是,每當我使用Solr配置時,FieldNameTranslator對於我的索引都爲null。
我使用Sitecore的ContentSearch DLL來獲得指標按以下方式:
this.IndexName = indexName;
this.index = ContentSearchManager.GetIndex(indexName);
var i = ContentSearchManager.GetIndex("sitecore_master_index");
作爲一個測試,我也試着取了sitecore_master_index這似乎工作。我得到如下:
我得到一個指標,但每當我通過調用GetQueryable查詢它,那麼它失敗,出現以下錯誤:
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)
我使用SolrNet作爲IOC其,從我可以在文檔中看到的,應該從8.2開始工作。如果我使用其他國際石油公司之一,那麼它工作得很好。
所以我的問題是真的會出現什麼問題呢?有人可以向我解釋FieldNameTranslator是什麼以及它是如何在配置中啓動的? (這裏我想它設置)