カスタムフィールドのデータを検索の対象外にする
キーワード検索( /keyword/検索ワード/ や ?keyword=検索ワード )で、カスタムフィールドの値が検索に引っかからないように設定することができます。例えば、商品の値段をカスタムフィールドで登録しており、一般ユーザには商品の値段を表示したくないケース等に使うことができます。
例えば、カスタムフィールドがpriceの場合、name属性にprice:searchと設定し、value="0"とします。
<input type="text" name="price" value="{price}" />
<input type="hidden" name="field[]" value="price" />
<!-- 下を追加 -->
<input type="hidden" name="price:search" value="0">フィールド検索にも適用する(Ver. 3.2.36 以降)
:search に 0 を指定したフィールドは、標準ではキーワード検索の対象から外れるだけで、フィールド検索(/field/price/1000/ や field[]= による絞り込み、Field_ValueList など)では引き続き値で検索できます。値そのものを推測されたくない場合(上の例の「商品の値段」など)は、フィールド検索にもこの設定を適用してください。
private/config.system.yaml に次を書くと、:search が 0 のフィールドはフィールド検索からも「値が無い」ものとして扱われます。
field_search_strict: on # on | off
- 既定値は off です(既存サイトの互換のため)。Ver. 3.2.36 以降を新規インストールした場合は、配布される config.system.yaml で on になっています。
- on にすると、値を指定した検索ではヒットしなくなり、
em(値が空のものを探す指定)ではヒットするようになります。 - フィールド値の一覧(Field_ValueList、V2_Field_ValueList)にも同じ扱いが適用され、
:searchが 0 の値は一覧に出なくなります。 - 管理画面には設定項目がありません。config.system.yaml で設定してください。