在Solr中,我可以定义一个动态字段并将其绑定到特定的数据类型。在以下示例中,索引文档中以"dt"结尾的所有字段都将作为长字段进行索引。
<dynamicField name="*_dt" stored="true" indexed="true" type="long" multiValued="true"/>
在ElasticSearch中,知道字段的名称,我可以使用"映射"中的"属性"子节点将字段索引到特定类型。
"properties": {
"msh_datetimeofmessage_hl7_dt": {
"type": "date",
"format": "YYYYMMddHHmmss"
},
我尝试了以下操作,并尝试使用模板,但没有成功。
"properties": {
"*_dt": {
"type": "date",
"format": "YYYYMMddHHmmss"
},
ElasticSearch是否提供与上述Solr相同的功能?
提前谢谢。
我认为您可能正在寻找由动态模板提供的功能。除非我弄错了,否则你的映射会是这样的(大部分是从链接页面借来的)。
PUT /my_index
{
"mappings": {
"my_type": {
"dynamic_templates": [
{ "my_date_template": {
"match": "*_dt",
"mapping": {
"type": "date",
"format": "YYYYMMDDHHmmss"
}
}}
]
}}}