gpt4 book ai didi

elasticsearch - Elasticsearch仅查询具有自定义日期格式的年份

转载 作者:行者123 更新时间:2023-12-03 01:33:42 24 4
gpt4 key购买 nike

鉴于我有一个索引映射如下

PUT my_index
{
"mappings": {
"_doc": {
"properties": {
"date": {
"type": "date",
"format": "yyyy-MM-dd||yyyy||yyyy-MM"
}
}
}
}
}

这意味着我可以将文档放入所有允许的日期类型
如果我确保所有文档都支持日期格式yyyy-MM-dd,则希望使用匹配查询来搜索不同类型,例如提供字段日期如下的文档
doc1-日期:2016-1-1
doc2-日期:2017-1-4
doc3-日期:2016-2-1

我希望能够使用匹配项仅提供2016年的查询,并返回doc2和doc3
而且我还希望能够使用2016-1进行搜索,目前elasticsearch并不关心并且不会引发异常,因为它应该使用所有日期类型

最佳答案

我认为range query是您想要的。我没有亲自使用过,因此无法确定语法,但是类似下面的内容应该起作用:

{
"query": {
"range" : {
"born" : {
"gte": "2016",
"lte": "2016",
"format": "yyyy-MM-dd||yyyy||yyyy-MM"
}
}
}
}

较早的版本使用范围过滤器而不是查询,但是如果您使用的是5.x或更高版本,则可以使用范围查询。

关于elasticsearch - Elasticsearch仅查询具有自定义日期格式的年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54130509/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com