我需要搜索多个字段,包括日期时间字段。
搜索查询可能包含也可能不包含以不同格式指定的日期值:
查询sting可能包含一些无法转换为日期时间的术语。
有什么办法可以使用弹性搜索来支持这类查询吗?
答案 0 :(得分:3)
这是我在调查期间挖掘的内容:
我使用弹性搜索的multi_field功能。我为日期类型功能添加了字符串可搜索文本字段。
以下是我用于日期类型字段的映射:
"TransactionDate":{
"type":"multi_field",
"fields":{
"TransactionDate":{
"type":"date",
"format":"YYYY-MM-dd HH:mm:ss||MM/dd/yyyy||yyyy/MM/dd",
"index":"not_analyzed"
},
"formatted":{
"type":"string",
"index":"analyzed"
}
}
}
然后,我可以使用TransactionDate.formatted
字段来搜索使用文本字段的查询。
希望能帮到别人。