ローカルパラメータ
ローカルパラメータは、Solr リクエストにおけるクエリパラメータに固有の引数です。
ローカルパラメータは、クエリ文字列などの特定の引数型にメタデータを追加する方法を提供します。ローカルパラメータは、LocalParams とも呼ばれることがあります。
ローカルパラメータは、引数の接頭辞として指定されます。次のクエリ引数を例として挙げます。
q=solr rocks
このクエリ文字列にローカルパラメータの接頭辞を付けることで、標準クエリパーサにより多くの情報を提供できます。例えば、デフォルトの演算子タイプを "AND" に、デフォルトのフィールドを "title" に変更できます。
q={!q.op=AND df=title}solr rocks
これらのローカルパラメータは、"title" フィールドをデフォルトで検索する際に、"solr" と "rocks" の両方に一致する必要があるようにクエリを変更します。
ローカルパラメータの基本構文
ローカルパラメータを指定するには、変更する引数の前に以下を挿入します。
-
{!
で始まります。 -
空白で区切られた任意の数の key=value ペアを挿入します。
-
}
で終了し、すぐにクエリ引数を続けます。
引数ごとにローカルパラメータの接頭辞を1つだけ指定できます。key-value ペアの値は、シングルクォートまたはダブルクォートで囲むことができ、引用符で囲まれた文字列内ではバックスラッシュエスケープが機能します。
クエリタイプの短縮形
ローカルパラメータの値が名前なしで表示される場合、暗黙的に "type" という名前が付けられます。これにより、クエリ文字列を解析する際に使用するクエリパーサのタイプを短縮形で表現できます。したがって
q={!dismax qf=myfield}solr rocks
は、次と同等です。
q={!type=dismax qf=myfield}solr rocks
"type" が明示的にも暗黙的にも指定されていない場合、標準クエリパーサがデフォルトで使用されます。したがって
fq={!df=summary}solr rocks
は、次と同等です。
fq={!type=lucene df=summary}solr rocks