Dynamic field definitions allow using convention over configuration for fields via the specification of patterns to match field names.
Example:
<dynamicField name="*_i" />
will match any field ending in
_i
(like
myid_i
,
z_i
).
Restriction: the glob-like pattern in the name attribute must have a "
*
" only at the start or the end.
<dynamicField name="*_i" type="pint" indexed="true" stored="true" />
<dynamicField name="*_is" type="pints" indexed="true" stored="true" />
<dynamicField name="*_s" type="string" indexed="true" stored="true" />
<dynamicField name="*_ss" type="strings" indexed="true" stored="true" />
<dynamicField name="*_l" type="plong" indexed="true" stored="true" />
<dynamicField name="*_ls" type="plongs" indexed="true" stored="true" />
<dynamicField name="*_t" type="text_general" indexed="true" stored="true" multiValued="false" />
<dynamicField name="*_txt" type="text_general" indexed="true" stored="true" />
<dynamicField name="*_b" type="boolean" indexed="true" stored="true" />
<dynamicField name="*_bs" type="booleans" indexed="true" stored="true" />
<dynamicField name="*_f" type="pfloat" indexed="true" stored="true" />
<dynamicField name="*_fs" type="pfloats" indexed="true" stored="true" />
<dynamicField name="*_d" type="pdouble" indexed="true" stored="true" />
<dynamicField name="*_ds" type="pdoubles" indexed="true" stored="true" />
<dynamicField name="random_*" type="random" />
<dynamicField name="ignored_*" type="ignored" />
<dynamicField name="*_str" type="strings" indexed="false" stored="false" docValues="true" useDocValuesAsStored="false" />
<dynamicField name="*_dt" type="pdate" indexed="true" stored="true" />
<dynamicField name="*_dts" type="pdate" indexed="true" stored="true" multiValued="true" />
<dynamicField name="*_p" type="location" indexed="true" stored="true" />
<dynamicField name="*_srpt" type="location_rpt" indexed="true" stored="true" />
<!-- payloaded dynamic fields -->
<dynamicField name="*_dpf" type="delimited_payloads_float" indexed="true" stored="true" />
<dynamicField name="*_dpi" type="delimited_payloads_int" indexed="true" stored="true" />
<dynamicField name="*_dps" type="delimited_payloads_string" indexed="true" stored="true" />
<dynamicField name="attr_*" type="text_general" indexed="true" stored="true" multiValued="true" />
<dynamicField name="*_ws" type="text_ws" indexed="true" stored="true" />
<dynamicField name="*_t_sort" type="text_gen_sort" indexed="true" stored="true" multiValued="false" />
<dynamicField name="*_txt_sort" type="text_gen_sort" indexed="true" stored="true" />
<dynamicField name="*_txt_rev" type="text_general_rev" indexed="true" stored="true" />
<dynamicField name="*_phon_en" type="phonetic_en" indexed="true" stored="true" />
<dynamicField name="*_s_lower" type="lowercase" indexed="true" stored="true" />
<dynamicField name="*_descendent_path" type="descendent_path" indexed="true" stored="true" />
<dynamicField name="*_ancestor_path" type="ancestor_path" indexed="true" stored="true" />
<dynamicField name="*_point" type="point" indexed="true" stored="true" />
<dynamicField name="*_txt_en" type="text_en" indexed="true" stored="true" />
<dynamicField name="*_txt_en_split" type="text_en_splitting" indexed="true" stored="true" />
<dynamicField name="*_txt_en_split_tight" type="text_en_splitting_tight" indexed="true" stored="true" />
<dynamicField name="*_txt_ar" type="text_ar" indexed="true" stored="true" />
<dynamicField name="*_txt_bg" type="text_bg" indexed="true" stored="true" />
<dynamicField name="*_txt_ca" type="text_ca" indexed="true" stored="true" />
<dynamicField name="*_txt_cjk" type="text_cjk" indexed="true" stored="true" />
<dynamicField name="*_txt_cz" type="text_cz" indexed="true" stored="true" />
<dynamicField name="*_txt_da" type="text_da" indexed="true" stored="true" />
<dynamicField name="*_txt_de" type="text_de" indexed="true" stored="true" />
<dynamicField name="*_txt_el" type="text_el" indexed="true" stored="true" />
<dynamicField name="*_txt_es" type="text_es" indexed="true" stored="true" />
<dynamicField name="*_txt_eu" type="text_eu" indexed="true" stored="true" />
<dynamicField name="*_txt_fa" type="text_fa" indexed="true" stored="true" />
<dynamicField name="*_txt_fi" type="text_fi" indexed="true" stored="true" />
<dynamicField name="*_txt_fr" type="text_fr" indexed="true" stored="true" />
<dynamicField name="*_txt_ga" type="text_ga" indexed="true" stored="true" />
<dynamicField name="*_txt_gl" type="text_gl" indexed="true" stored="true" />
<dynamicField name="*_txt_hi" type="text_hi" indexed="true" stored="true" />
<dynamicField name="*_txt_hu" type="text_hu" indexed="true" stored="true" />
<dynamicField name="*_txt_hy" type="text_hy" indexed="true" stored="true" />
<dynamicField name="*_txt_id" type="text_id" indexed="true" stored="true" />
<dynamicField name="*_txt_it" type="text_it" indexed="true" stored="true" />
<dynamicField name="*_txt_ja" type="text_ja" indexed="true" stored="true" />
<dynamicField name="*_txt_ko" type="text_ko" indexed="true" stored="true" />
<dynamicField name="*_txt_lv" type="text_lv" indexed="true" stored="true" />
<dynamicField name="*_txt_nl" type="text_nl" indexed="true" stored="true" />
<dynamicField name="*_txt_no" type="text_no" indexed="true" stored="true" />
<dynamicField name="*_txt_pt" type="text_pt" indexed="true" stored="true" />
<dynamicField name="*_txt_ro" type="text_ro" indexed="true" stored="true" />
<dynamicField name="*_txt_ru" type="text_ru" indexed="true" stored="true" />
<dynamicField name="*_txt_sv" type="text_sv" indexed="true" stored="true" />
<dynamicField name="*_txt_th" type="text_th" indexed="true" stored="true" />
<dynamicField name="*_txt_tr" type="text_tr" indexed="true" stored="true" />