1. Sitecore Formsのチュートリアル

チュートリアル: カスタムSitecore Formsインデックスの作成

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

デフォルトのインデックスが目的に合わない場合は、検索プロバイダー用に独自のカスタムインデックスを作成できます。これは、インデックスを小さく保ち、パフォーマンスを向上させるためにデータを分離する場合に便利です。このトピックでは、Sitecore Formsフォルダーのみを再構築するカスタムSitecore Formsインデックスを作成する方法と、新しいインデックスのカスタム設定ファイルを作成する方法について説明します。

新しいSolrコアを作成する

SolrのWebサイトの指示に従って、新しいSolrコアを作成および初期化できます。ただし、既存のSitecore Solrコアを複製して、新しいSolrコアを作成することもできます。

以下をコピーして新しいSolrコアを作成するには、次のようにします。

  1. C:\<solr>\server\solrに移動し、<sitecore>_master_indexフォルダを複製します。

  2. 名前を <sitecore>_forms_indexなどに変更します。

  3. C:\<solr>\server\solr\<sitecore>_forms_indexに移動し、core.propertiesを開いて、コア名を前の手順で使用した名前に更新します。

    Update core.properties

インデックス設定ファイルの作成

新しいカスタムインデックスの設定ファイルを作成する必要があります。

カスタムインデックス設定ファイルを作成するには:

  1. C:\inetpub\wwwroot\<website>\App_Config\Include\に移動し、新しいテキスト ファイルを作成します。

  2. テキスト ファイルを、関連するファイル名と .config拡張子 ( sitecore_forms_index.configなど) で保存します。

  3. 設定ファイルに次のものが含まれていることを確認します。

    • インデックスに関する一般的な情報 (インデックス名、インデックスが関連付けられているSolrコア、およびタイプ)。次の例では、Sitecore.ContentSearch.Solr.Index.Master.configを参照します。

      <index id="sitecore_forms_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">          
      <param desc="name">$(id)</param>            
      <param desc="core">sitecore_forms_index</param>
    • クローラのルート。次の例は、FormsフォルダとTemplateフォルダに設定されています。

      <crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch">                
      <Database>master</Database>                
      <Root>/sitecore/Forms</Root>              
      </crawler>              
      <crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch">                
      <Database>master</Database>                
      <Root>sitecore/templates/System/Forms folder</Root>              
      </crawler>
    • インデックスを初めて再構築するには、フィールドをインデックスに追加するAddIncludedFieldセクションを含める必要があります。

       <documentOptions ref="contentSearch/indexConfigurations/defaultSolrIndexConfiguration/documentOptions">          
      <include hint="list:AddIncludedField">                   
      <fieldId>{558F9307-EBAF-480D-88B5-DFE9E63A66DE}
      </fieldId>                    
      </include>                
      </documentOptions>

    例えば:

    <?xml version="1.0" encoding="utf-8"?><configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:role="http://www.sitecore.net/xmlconfig/role/" xmlns:search="http://www.sitecore.net/xmlconfig/search/">  
    <sitecore role:require="Standalone or ContentManagement" search:require="solr">    
    <contentSearch>      
    <configuration type="Sitecore.ContentSearch.ContentSearchConfiguration, Sitecore.ContentSearch">        
    <indexes hint="list:AddIndex">          
    <index id="sitecore_forms_index" type="Sitecore.ContentSearch.SolrProvider.SolrSearchIndex, Sitecore.ContentSearch.SolrProvider">            
    <param desc="name">$(id)</param>            
    <param desc="core">sitecore_forms_index</param>            
    <param desc="propertyStore" ref="contentSearch/indexConfigurations/databasePropertyStore" param1="$(id)" />            
    <configuration ref="contentSearch/indexConfigurations/defaultSolrIndexConfiguration">              
    <enableReadAccessIndexing>true</enableReadAccessIndexing>                
    <documentOptions ref="contentSearch/indexConfigurations/defaultSolrIndexConfiguration/documentOptions">                    
    <include hint="list:AddIncludedField">                        
    <fieldId>{558F9307-EBAF-480D-88B5-DFE9E63A66DE}</fieldId>                    
    </include>                
    </documentOptions>            
    </configuration>            
    <strategies hint="list:AddStrategy">              
    <strategy ref="contentSearch/indexConfigurations/indexUpdateStrategies/manual" role:require="ContentManagement and !Indexing" />              
    <strategy ref="contentSearch/indexConfigurations/indexUpdateStrategies/intervalAsyncMaster" role:require="Standalone or (ContentManagement and Indexing)" />            
    </strategies>            
    <locations hint="list:AddCrawler">             
    <crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch">                
    <Database>master</Database>                
    <Root>/sitecore/Forms</Root>              
    </crawler>              
    <crawler type="Sitecore.ContentSearch.SitecoreItemCrawler, Sitecore.ContentSearch">                
    <Database>master</Database>                
    <Root>sitecore/templates/System/Forms folder</Root>              
    </crawler>            
    </locations>            
    <enableItemLanguageFallback>false</enableItemLanguageFallback>            
    <enableFieldLanguageFallback>false</enableFieldLanguageFallback>          
    </index>        
    </indexes>      
    </configuration>    
    </contentSearch>  
    </sitecore></configuration
  4. これで、Indexing Managerダイアログボックスでカスタムインデックスを選択できるようになりました。

    The Indexing Manager
この記事を改善するための提案がある場合は、 お知らせください!