将自定义Lucene索引配置转换为SITECORE的SOLR



我有一个自定义的lucene文件,我需要转换为solr。配置文件看起来类似于下面提到的文件。我们如何转换为Solr?

 <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
  <sitecore>
    <contentSearch>
      <indexConfigurations>
        <customMasterSearchTermConfig type="Sitecore.ContentSearch.LuceneProvider.LuceneIndexConfiguration, Sitecore.ContentSearch.LuceneProvider">
          <indexAllFields>false</indexAllFields>
          <initializeOnAdd>true</initializeOnAdd>
          <analyzer ref="contentSearch/indexConfigurations/defaultLuceneIndexConfiguration/analyzer" />
          <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="Subheading" storageType="Yes" indexType="TOKENIZED" vectorType="No" boost="if" type="System.String" settingType=""></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>
          </fieldMap>
          <include hint="list:IncludeField">
            <fieldId>{B8978923-AFD2-44F4-8010-F8A0EC79F61D}</fieldId>
          </include>
          <fieldReaders ref="contentSearch/indexConfigurations/defaultLuceneIndexConfiguration/fieldReaders" />
          <indexFieldStorageValueFormatter ref="contentSearch/indexConfigurations/defaultLuceneIndexConfiguration/indexFieldStorageValueFormatter" />
          <indexDocumentPropertyMapper ref="contentSearch/indexConfigurations/defaultLuceneIndexConfiguration/indexDocumentPropertyMapper" />
        </customMasterSearchTermConfig>
      </indexConfigurations>
    </contentSearch>
  </sitecore>
</configuration>

必须在不久前这样做,我看了默认的solr indexConfig,以找出我必须更改的内容。由于这是在不同版本的Sitecore上,因此我不确定确切的差异对您而言是否相同。

它进行得很顺利。它主要是将类型和REF从Lucene更改为Solr变体,但请确保您还验证了元素仍然相同。

最大的更改将是您的现场图。就我而言,它变成了这样的事情:

<fieldMap ref="contentSearch/indexConfigurations/defaultSolrIndexConfiguration/fieldMap">
  <fieldNames hint="raw:AddFieldByFieldName">
    <field fieldName="..." returnType="string" />
    <field fieldName="..." returnType="string" />
    ...
  </fieldNames>
</fieldMap>

因此,我对默认值进行了参考(而不是类型(,因此我必须将字段定义更改为SOLR配置。在您的情况下,您只需要将"值"添加为字符串。

如前所述,您可以在默认配置中找到示例...

最新更新