2016-10-31 4 views
0

У меня есть пользовательский индекс в Sitecore, который я создал изначально для использования Lucene. Ради этого вопроса давайте назовем этот индекс «Новости». Я конвертирую все индексы Lucene в Solr. Для каждого индекса sitecore имеется отдельный ядро ​​Solr, включая индекс новостей. Все индексы перестраиваются, и я вижу документы в Solr для индексов OOTB Sitecore по умолчанию, но никакие документы не добавляются в News Core в Solr. Схема, которую я использую для ядра новостей, была сгенерирована с помощью инструмента генерации схемы Sitecore на панели управления. Нужно ли изменять эту схему, чтобы отображать поля, которые я указал в файле конфигурации Sitecore Index?Конфигурация индекса Sitecore для реализации Solr

<sitecore> 
<contentSearch> 
    <configuration type="Sitecore.ContentSearch.ContentSearchConfiguration, Sitecore.ContentSearch"> 
    <indexes hint="list:AddIndex"> 
     <index id="News" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider"> 
     <param desc="name">$(id)</param> 
     <param desc="folder">$(id)</param> 

     <!-- This initializes index property store. Id has to be set to the index id --> 
     <param desc="propertyStore" ref="contentSearch/indexConfigurations/databasePropertyStore" param1="$(id)" /> 

     <configuration ref="contentSearch/indexConfigurations/defaultSolrIndexConfiguration"> 

      <documentOptions ref="contentSearch/indexConfigurations/defaultSolrIndexConfiguration/documentOptions"> 

      <indexAllFields>true</indexAllFields> 

      <!-- Included templates --> 
      <include hint="list:AddIncludedTemplate"> 
       <template1>{3139428E-AF1E-4678-916F-08B2A44453E7}</template1> 
       <template2>{C74B549F-9A1D-4FE3-8A3E-F4CF778DCD3C}</template2> 
       <template3>{E29A6486-5721-4FAA-A5F7-B3CC3AD81DB1}</template3> 
       <template4>{D5ED7AB3-D466-4CED-A739-B55D9E39FAE7}</template4> 
       <template5>{AB86861A-6030-46C5-B394-E8F99E8B87DB}</template5> 
       <template6>{9E349B58-3F90-450C-A7EE-B904AC59D14B}</template6> 
      </include> 
      </documentOptions> 
      <fieldMap type="Sitecore.ContentSearch.FieldMap, Sitecore.ContentSearch"> 
      <fieldNames hint="raw:AddFieldByFieldName"> 
       <field fieldName="_uniqueid" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider"> 
       <analyzer type="Sitecore.ContentSearch.LuceneProvider.Analyzers.LowerCaseKeywordAnalyzer, Sitecore.ContentSearch.LuceneProvider" /> 
       </field> 
       <field fieldName="article" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider"> 
       <analyzer type="Sitecore.ContentSearch.LuceneProvider.Analyzers.LowerCaseKeywordAnalyzer, Sitecore.ContentSearch.LuceneProvider" /> 
       </field> 
       <field fieldName="author" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider"> 
       <analyzer type="Sitecore.ContentSearch.LuceneProvider.Analyzers.LowerCaseKeywordAnalyzer, Sitecore.ContentSearch.LuceneProvider" /> 
       </field> 
       <field fieldName="author credentials" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider"> 
       <analyzer type="Sitecore.ContentSearch.LuceneProvider.Analyzers.LowerCaseKeywordAnalyzer, Sitecore.ContentSearch.LuceneProvider" /> 
       </field> 
       <field fieldName="date" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.DateTime" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider"> 
       <analyzer type="Sitecore.ContentSearch.LuceneProvider.Analyzers.LowerCaseKeywordAnalyzer, Sitecore.ContentSearch.LuceneProvider" /> 
       </field> 
       <field fieldName="degree" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider"> 
       <analyzer type="Sitecore.ContentSearch.LuceneProvider.Analyzers.LowerCaseKeywordAnalyzer, Sitecore.ContentSearch.LuceneProvider" /> 
       </field> 
       <field fieldName="graduation year" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider"> 
       <analyzer type="Sitecore.ContentSearch.LuceneProvider.Analyzers.LowerCaseKeywordAnalyzer, Sitecore.ContentSearch.LuceneProvider" /> 
       </field> 
      <field fieldName="location" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider"> 
       <analyzer type="Sitecore.ContentSearch.LuceneProvider.Analyzers.LowerCaseKeywordAnalyzer, Sitecore.ContentSearch.LuceneProvider" /> 
       </field> 
       <field fieldName="navigation title" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider"> 
       <analyzer type="Sitecore.ContentSearch.LuceneProvider.Analyzers.LowerCaseKeywordAnalyzer, Sitecore.ContentSearch.LuceneProvider" /> 
       </field> 
       <field fieldName="page abstract" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider"> 
       <analyzer type="Sitecore.ContentSearch.LuceneProvider.Analyzers.LowerCaseKeywordAnalyzer, Sitecore.ContentSearch.LuceneProvider" /> 
       </field> 
       <field fieldName="parentname" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider"> 
       <analyzer type="Sitecore.ContentSearch.LuceneProvider.Analyzers.LowerCaseKeywordAnalyzer, Sitecore.ContentSearch.LuceneProvider" /> 
       </field> 
       <field fieldName="school" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider"> 
       <analyzer type="Sitecore.ContentSearch.LuceneProvider.Analyzers.LowerCaseKeywordAnalyzer, Sitecore.ContentSearch.LuceneProvider" /> 
       </field> 
       <field fieldName="text" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider"> 
       <analyzer type="Sitecore.ContentSearch.LuceneProvider.Analyzers.LowerCaseKeywordAnalyzer, Sitecore.ContentSearch.LuceneProvider" /> 
       </field> 
      <field fieldName="url" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider"> 
       <analyzer type="Sitecore.ContentSearch.LuceneProvider.Analyzers.LowerCaseKeywordAnalyzer, Sitecore.ContentSearch.LuceneProvider" /> 
       </field> 
       <field fieldName="value" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider"> 
       <analyzer type="Sitecore.ContentSearch.LuceneProvider.Analyzers.LowerCaseKeywordAnalyzer, Sitecore.ContentSearch.LuceneProvider" /> 
       </field> 
      </fieldNames> 
      <fieldTypes hint="raw:AddFieldByFieldTypeName"> 
       <fieldType fieldTypeName="image" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider" /> 
       <fieldType fieldTypeName="general link" storageType="NO" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" settingType="Sitecore.ContentSearch.LuceneProvider.LuceneSearchFieldConfiguration, Sitecore.ContentSearch.LuceneProvider" /> 
      </fieldTypes> 
      </fieldMap> 
      <fields hint="raw:AddComputedIndexField"> 
      <field fieldName="external_link" stored="true" returnType="System.String">mydll.ExternalLink, mydll</field> 
      <field fieldName="image" stored="true" returnType="System.String">mydll.ComputedFields.Image, mydll</field> 
      <field fieldName="terms" stored="true" returnType="System.String">mydll.ComputedFields.Terms, mydll</field> 
      <field fieldName="url" stored="true" returnType="System.String">mydll.ComputedFields.Url, mydll</field> 
      <field fieldName="parentname" stored="true" returnType="System.String">mydll.ComputedFields.ParentName, mydll</field> 
      </fields> 

     </configuration> 

     <strategies hint="list:AddStrategy"> 
      <!-- NOTE: order of these is controls the execution order --> 
      <strategy ref="contentSearch/indexConfigurations/indexUpdateStrategies/onPublishEndAsync" /> 
     </strategies> 
     <commitPolicyExecutor type="Sitecore.ContentSearch.CommitPolicyExecutor, Sitecore.ContentSearch"> 
      <policies hint="list:AddCommitPolicy"> 
      <policy type="Sitecore.ContentSearch.ModificationCountCommitPolicy, Sitecore.ContentSearch"> 
       <Limit>300</Limit> 
      </policy> 
      </policies> 
     </commitPolicyExecutor> 

     <locations hint="list:AddCrawler"> 
      <crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch"> 
      <Database>web</Database> 
      <Root>/sitecore/content</Root> 
      </crawler> 
     </locations> 

     <enableItemLanguageFallback>false</enableItemLanguageFallback> 
     <enableFieldLanguageFallback>false</enableFieldLanguageFallback> 

     </index> 
    </indexes> 
    </configuration> 
    </contentSearch> 
</sitecore> 
+0

Проблема не будет в схеме, но, вероятно, в конфигурации индекса. Существуют некоторые различия между Lucene и Solr для пользовательских индексов. Можете ли вы поделиться этим, чтобы лучше помочь? – Gatogordo

+0

@Gatogordo Я отредактировал ответ, чтобы показать пользовательскую конфигурацию – Tyshun

ответ

2

Несколько вещей, чтобы изменить:

  • переименовать индекс «Новости» (У меня были некоторые проблемы при использовании капители в названиях индекса)
  • переместить indexAllFields вне documentOptions (он имеет должно быть ниже configuration с Solr - на том же уровне, что и у документаОпции)
  • добавить ref="contentSearch/indexConfigurations/defaultSolrIndexConfiguration/fieldMap в ваш fieldMap элемент.
  • redo your fieldMap - здесь вы используете поле Lucene. Вы можете проверить Solr конфигурации по умолчанию для примера о том, как сделать это с помощью Solr - это будет выглядеть как <field fieldName="article" returnType="string" /> и так далее ..
  • повторить ваш fieldTypes, как также по-прежнему ссылаясь на Lucene

Лучшие что нужно сделать, это установить конфигурацию Solr по умолчанию рядом с вашим пользовательским, чтобы иметь пример того, как устанавливать все элементы.

+0

спасибо! Мой файл конфигурации был испорчен. Спасибо, что указал мне в правильном направлении. Я смог решить эту проблему – Tyshun

Смежные вопросы