ALTER SEARCH INDEX CONFIG

DSE Search構成の検索インデックスを変更します。

検索インデックスの保留中の構成を変更します。

変更をアクティブな構成に適用するには、RELOAD SEARCH INDEXコマンドを使用します。

制約事項: DSE Searchノードでのみ使用できるコマンドです。大きなデータセットに対して検索インデックスの管理コマンドを実行すると、CQLSHのデフォルトで指定された10分のタイムアウトよりも長くかかることがあります。必要に応じて、CQLSHクライアント・タイムアウトの値を引き上げてください。

構文

ALTER SEARCH INDEX CONFIG ON [keyspace_name.]table_name
   (ADD element_path [attribute_list] WITH $$ json_map $$   
   | SET  element_identifier = 'value'
   | SET shortcut = value
   | DROP element_identifier
   | DROP shortcut)
表 1. 凡例
構文規則 説明
大文字 リテラル・キーワード。
小文字 リテラル以外。
イタリック体 変数値。ユーザー定義値と置き換えます。
[] 任意。角かっこ( [] )で任意指定のコマンド引数を囲みます。角かっこは入力しないでください。
( ) グループ。丸かっこ(( ))は、選択肢を含むグループを示します。丸かっこは入力しないでください。
| または。縦棒( | )で代替要素を区切ります。要素のいずれかを入力してください。縦棒は入力しないでください。
... 繰り返し可能。省略記号(...)は、構文要素を必要な回数だけ繰り返すことができることを示します。
'Literal string' 単一引用符( ' )でCQL文内のリテラル文字を囲みます。大文字を維持するには、単一引用符を使用します。
{ key : value } マップ・コレクション。中かっこ( { } )でマップ・コレクションまたはキーと値のペアを囲みます。コロンでキーと値を区切ります。
<datatype1,datatype2> セット、リスト、マップ、またはタプル。山かっこ(< >)で、セット、リスト、マップまたはタプル内のデータ型を囲みます。データ型はコンマで区切ります。
cql_statement; CQL文の終了。セミコロン( ; )ですべてのCQL文を終了します。
[--] コマンドライン・オプションとコマンド引数は、2つのハイフン(--)で区切ります。この構文は、引数がコマンドライン・オプションと間違われる可能性がある場合に役立ちます。
' <schema> ...</schema> ' 検索CQLのみ:単一引用符( ' )でXMLスキーマ宣言全体を囲みます。
@xml_entity='xml_entity_type' 検索CQLのみ:スキーマ・ファイルおよびsolrConfigファイル内のXML要素を上書きするための実体とリテラル値を示します。
keyspace_name.table_name
検索インデックスのテーブルを指定します。テーブルがアクティブなキースペースにない場合、キースペース名は必須です。
element_path
設定のXMLパスを指定します。ピリオドで子要素を区切ります。例:
types.fieldTypes
attribute_list
角かっこで囲まれた属性値ペアのコンマ区切りリスト。以下の構文を使用します。
[@attribute_name = 'value', 
@attribute_name = 'value', ... ]
json_map
高度な設定。JSON形式を使用して、アナライザー・トークナイザーやフィールド型のフィルター定義などの子要素を定義します。
{ "element_name" : [ 
                  { "child_element_name" : { "child_attribute_name" : "value" } } ,
                  { "child_element_name" : { "child_attribute_name" : "value" } }, ... ],
"element_name" : [ 
                  { "child_element_name" : { "child_attribute_name" : "value" } } ,
                  { "child_element_name" : { "child_attribute_name" : "value" } }, ... ], ... }
element_identifier
設定のXMLパスを指定します。特定の属性を持つ要素を見つけるには、以下の構文を使用します。
element_name[@attribute_name='value']
shortcut
構成要素の値へのショートカット。SETを使用します。
  • autoCommitTime:デフォルト値は10,000です。
  • defaultQueryField:フィールドの名前です。デフォルトは設定されていません。
    注: SETを使用して追加します。削除するには、DROPを使用します。
  • directoryFactory:directoryFactoryClassを除いて指定します。以下のオプションがあります。
    • StandardDirectoryFactory
    • EncryptedFSDirectoryFactory
  • filterCacheLowWaterMark:デフォルトは128です。
  • filterCacheHighWaterMark:デフォルトは256です。
  • mergeFactor:デフォルトは10です。
  • mergeMaxThreadCount:mergeMaxMergeCountを使用して構成する必要があります。デフォルトは設定されていません。
  • mergeMaxMergeCount:mergeMaxThreadCountを使用して構成する必要があります。デフォルトは設定されていません。
  • ramBufferSize:デフォルトは512です。
  • realtime:デフォルトはfalseです。

EBNF

EBNF構文:
alterSearchIndex ::= 'ALTER' 'SEARCH' 'INDEX' 'CONFIG'
          'ON' tableName
          (
          ('ADD' elementPath 'WITH' json) |
          ('SET' elementPath('@' attribute)? '=' value) |
          ('DROP' elementPath('@' attribute)?) |
          )
          tableName        ::= (keyspace '.')? table
          elementPath      ::= elementName 
          ('[' '@' attributeName '=' attributeValue 
          (',' '@' attributeName '=' attributeValue)* ']')?
          ( '.' elementName ('[' '@' attributeName '=' attributeValue 
          (',' '@' attributeName '=' attributeValue)* ']')?)*
レールロード・ダイアグラム:
図: alterSearchIndex



この図はALTER SEARCH INDEX検索CQLコマンドのレールロード・ダイアグラムを示しています

図: tableName

この図はtableNameのレールロード・ダイアグラムを示しています

図: elementPath

この図はelementPathのレールロード・ダイアグラムを示しています

wiki.solrキースペースとテーブル、および指定したオプションについて検索インデックス構成を変更します。

自動ソフト・コミットの最大時間を10,000ミリ秒にするように、ショートカットを使用してインデックス構成を設定するには、以下のように入力します。

ALTER SEARCH INDEX CONFIG ON wiki.solr SET autoCommitTime = 10000;

ライブ・インデックス作成を構成し、変更されたインデックスを再度読み込むには、以下のように入力します。

ALTER SEARCH INDEX CONFIG ON wiki.solr SET autoCommitTime = 100;
ALTER SEARCH INDEX CONFIG ON wiki.solr SET realtime = true;
ALTER SEARCH INDEX CONFIG ON wiki.solr SET ramBufferSize = 2048;
RELOAD SEARCH INDEX ON wiki.solr ;

構成要求ハンドラーを追加するには、以下のように入力します。

ALTER SEARCH INDEX CONFIG ON ks.tb 
ADD requestHandler[@name='/elevate',@class='solr.SearchHandler', @startup='lazy'] 
WITH  $$ {"defaults":[{"echoParams":"explicit"}],"last-components":["elevator"]} $$;
これで、requestHandler要素がconfigに追加されます。
<requestHandler name="/elevate" class="solr.SearchHandler"> 
   <lst name="defaults">
      <str name="echoParams">explicit</int>
   </lst>
   <arr name="last-components">
    <str>elevator</str>
   </arr>
</requestHandler>

deletesを自動的に削除できるようにTieredMergePolicyを拡張するには、以下のように入力します。

ALTER SEARCH INDEX CONFIG ON wiki.solr SET indexConfig.mergePolicyFactory[@class='org.apache.solr.index.AutoExpungeDeletesTieredMergePolicyFactory'].bool[@name='mergeSingleSegments'] = true;
ALTER SEARCH INDEX CONFIG ON wiki.solr SET indexConfig.mergePolicyFactory[@class='org.apache.solr.index.AutoExpungeDeletesTieredMergePolicyFactory'].int[@name='maxMergedSegmentMB'] = 1005;
ALTER SEARCH INDEX CONFIG ON wiki.solr SET indexConfig.mergePolicyFactory[@class='org.apache.solr.index.AutoExpungeDeletesTieredMergePolicyFactory'].int[@name='forceMergeDeletesPctAllowed'] = 25;
mergeFactorがインデックス構成に含まれている場合は、deletesを自動的に削除できるようにテーブルを変更する前にテーブルからmergeFactorを削除する必要があります。
ALTER SEARCH INDEX CONFIG ON wiki.solr DROP indexConfig.mergePolicyFactory;