我需要通过包括日期时间字段在内的多个字段进行搜索。
搜索查询可能包含也可能不包含以不同格式指定的日期值:
- 4月4日
- 2013 年 4 月 4 日
- 2013-04-04
查询字符串可能包含一些无法转换为日期时间的术语。
有什么方法可以使用弹性搜索来支持这种类型的查询?
我需要通过包括日期时间字段在内的多个字段进行搜索。
搜索查询可能包含也可能不包含以不同格式指定的日期值:
查询字符串可能包含一些无法转换为日期时间的术语。
有什么方法可以使用弹性搜索来支持这种类型的查询?
这是我在调查期间挖掘的内容:
我使用弹性搜索的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
使用文本字段来搜索查询的字段。
希望对其他人有所帮助。