ライブでのインデックスの作成により、現在インデックス付けされているデータに対してクエリーを実行できるようになります。ライブでのインデックス作成はRT(リアルタイム)インデックス作成としても知られており、インデックス・スループットを向上させてLuceneリーダーのレイテンシーを短縮し、Solr機能をすべてサポートします。
ライブでのインデックスの作成により、現在インデックス付けされているデータに対してクエリーを実行できるようになります。ライブでのインデックス作成はRT(リアルタイム)インデックス作成としても知られており、インデックス・スループットを向上させてLuceneリーダーのレイテンシーを短縮し、Solr機能をすべてサポートします。 ライブでのインデックス作成は、すべてのDSE Searchアプリケーションで機能します。ソートされるフィールドはDocValueでなければなりません。そうでないと、フィールド・キャッシュが使用されますが、ライブのインデックス作成には不十分です。DocValueはフィールド値を内部に記録する方法で、ソートやファセット化などの目的では従来のインデックス作成方法よりも効果的です。docValueを使用するには、docValueをフィールドで有効にします。フィールド型を定義してから、schema.xmlでdocValueが有効になっている型のフィールドを定義します。
dse.yamlファイルの場所は、インストールのタイプによって異なります。
Installer-Services |
/etc/dse/dse.yaml |
パッケージ・インストール |
/etc/dse/dse.yaml |
Installer-No Services |
install_location/resources/dse/conf/dse.yaml |
tarボール・インストール |
install_location/resources/dse/conf/dse.yaml |
手順
-
クラスター1つあたりSolrコア1つにライブのインデックス作成を有効にします。
-
ライブ・インデックス作成(RT)を有効にするには、
<rt>true</rt>
をsolrconfig.xmlファイルの<indexConfig>属性に追加します。
-
ライブ・インデックス作成を構成するには、solrconfig.xmlファイルを編集して以下の設定内容を変更します。
-
以下のように、autoSoftCommit/maxTimeが100msであることを確認します。
<autoSoftCommit>
<maxTime>100</maxTime>
</autoSoftCommit>
ライブ・インデックスのautoSoftCommit/maxTimeは1000msで飽和し、それ以上の値は無効となり最大時間は1000msに制限されます。
-
RAMバッファを構成します。ライブ・インデックス作成がオンになっていると、RAMバッファではリアルタイムでのインデックス作成よりも多くのメモリーが使用されます。
RAMバッファのサイズを設定します。RTの出発点としては10MBが適しています。
<ramBufferSizeMB>10</ramBufferSizeMB>
高速のライブ・インデックス作成の場合は、オフヒープが割り当てられるRAMバッファの送信部分を構成します。
<rtOffheapPostings>true</rtOffheapPostings>
オフヒープが割り当てられるように送信を構成し、ガーベージ・コレクション(GC)時間を向上させてライブ・インデックス作成によるメモリー使用量の変動によるメモリー不足エラーを回避します。
例:
<indexConfig>
<rt>true</rt>
...
<ramBufferSizeMB>10</ramBufferSizeMB>
...
<autoSoftCommit>
<maxTime>100</maxTime>
</autoSoftCommit>
<rtOffheapPostings>true</rtOffheapPostings>
...
</indexConfig>
-
ヒープ・サイズを少なくとも14GBまで増やします。
-
ファイルで、max_solr_concurrency_per_coreオプションを使用してSolrコアあたりのインデックス作成スレッド数を定義します。最適なパフォーマンスを実現するには、この値を、Solrコア数で除算した使用可能なCPUコア数に割り当てます。たとえば、CPUコア数が12でSolrコア数が3の場合、推奨値は4になります。
-
向上させたヒープ・サイズでライブ・インデックス作成を使用するには、DataStax Enterpriseを再起動します。