0
日付フィールドがdateField
のいずれの文書でも、year(dateField) = 2016
となっています。要するに弾性検索:1年以内の文書
、私はあなただけの単年度をチェックしたい場合は2016年
日付フィールドがdateField
のいずれの文書でも、year(dateField) = 2016
となっています。要するに弾性検索:1年以内の文書
、私はあなただけの単年度をチェックしたい場合は2016年
にdateField
を通知したすべての文書を取得する必要があり、最も簡単な方法は、あなたがいることを確認したrange
フィルタを使用することですdateField
1月1日と2016年の12月31日の間にある:
POST index/_search
{
"query": {
"bool": {
"filter": [
{
"range": {
"dateField": {
"gte": "2016-01-01T00:00:00.000Z",
"lt": "2017-01-01T00:00:00.000Z"
}
}
}
]
}
}
}
次の2つの他のソリューションがあります:あなたはを作成
検索時にscript
フィルタを使用
term
またはrange
クエリ/フィルタを使用して、それを検索することができますので、 2番目のオプションを試してみたい場合は、次のようになります。 POST index/_search
{
"query": {
"bool": {
"filter": [
{
"script": {
"script": {
"inline": "doc.dateField.date.getYear() == year",
"params": {
"year": 2016
}
}
}
}
]
}
}
}