Format reading ElasticSearch dates
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
This is my mapping for one of the properties in my ElasticSearch model:
"timestamp":{
"type":"date",
"format":"dd-MM-yyyy||yyyy-MM-dd'T'HH:mm:ss.SSSZ||epoch_millis"
}
I'm not sure if I'm misunderstanding the documentation. It clearly says:
The first format will also act as the one that converts back from milliseconds to a string representation.
And that is exactly what I want. I would like to be able to read directly (if possible) the dates as dd-MM-yyyy
.
Unfortunately, when I go to the document itself (so, accessing to the ElasticSearch's endpoint directly, not via the application layer) I still get:
"timestamp" : "2014-01-13T15:48:25.000Z",
What am I missing here?.
elasticsearch
add a comment |
This is my mapping for one of the properties in my ElasticSearch model:
"timestamp":{
"type":"date",
"format":"dd-MM-yyyy||yyyy-MM-dd'T'HH:mm:ss.SSSZ||epoch_millis"
}
I'm not sure if I'm misunderstanding the documentation. It clearly says:
The first format will also act as the one that converts back from milliseconds to a string representation.
And that is exactly what I want. I would like to be able to read directly (if possible) the dates as dd-MM-yyyy
.
Unfortunately, when I go to the document itself (so, accessing to the ElasticSearch's endpoint directly, not via the application layer) I still get:
"timestamp" : "2014-01-13T15:48:25.000Z",
What am I missing here?.
elasticsearch
2
what you get back is what you store in the source, ES will never modify the source document you're sending to it, unless you configure an ingestion pipeline to make some modifications. The format is used by ES in order to know how to interpret and index your data.
– Val
Nov 16 '18 at 11:52
add a comment |
This is my mapping for one of the properties in my ElasticSearch model:
"timestamp":{
"type":"date",
"format":"dd-MM-yyyy||yyyy-MM-dd'T'HH:mm:ss.SSSZ||epoch_millis"
}
I'm not sure if I'm misunderstanding the documentation. It clearly says:
The first format will also act as the one that converts back from milliseconds to a string representation.
And that is exactly what I want. I would like to be able to read directly (if possible) the dates as dd-MM-yyyy
.
Unfortunately, when I go to the document itself (so, accessing to the ElasticSearch's endpoint directly, not via the application layer) I still get:
"timestamp" : "2014-01-13T15:48:25.000Z",
What am I missing here?.
elasticsearch
This is my mapping for one of the properties in my ElasticSearch model:
"timestamp":{
"type":"date",
"format":"dd-MM-yyyy||yyyy-MM-dd'T'HH:mm:ss.SSSZ||epoch_millis"
}
I'm not sure if I'm misunderstanding the documentation. It clearly says:
The first format will also act as the one that converts back from milliseconds to a string representation.
And that is exactly what I want. I would like to be able to read directly (if possible) the dates as dd-MM-yyyy
.
Unfortunately, when I go to the document itself (so, accessing to the ElasticSearch's endpoint directly, not via the application layer) I still get:
"timestamp" : "2014-01-13T15:48:25.000Z",
What am I missing here?.
elasticsearch
elasticsearch
asked Nov 16 '18 at 11:43
IoChaosIoChaos
94421734
94421734
2
what you get back is what you store in the source, ES will never modify the source document you're sending to it, unless you configure an ingestion pipeline to make some modifications. The format is used by ES in order to know how to interpret and index your data.
– Val
Nov 16 '18 at 11:52
add a comment |
2
what you get back is what you store in the source, ES will never modify the source document you're sending to it, unless you configure an ingestion pipeline to make some modifications. The format is used by ES in order to know how to interpret and index your data.
– Val
Nov 16 '18 at 11:52
2
2
what you get back is what you store in the source, ES will never modify the source document you're sending to it, unless you configure an ingestion pipeline to make some modifications. The format is used by ES in order to know how to interpret and index your data.
– Val
Nov 16 '18 at 11:52
what you get back is what you store in the source, ES will never modify the source document you're sending to it, unless you configure an ingestion pipeline to make some modifications. The format is used by ES in order to know how to interpret and index your data.
– Val
Nov 16 '18 at 11:52
add a comment |
1 Answer
1
active
oldest
votes
As @Val mentioned, you'd get the value/format as how it is being indexed.
However if you want to view the date in particular format regardless of the format it has been indexed, you can make use of Script Fields. Note that it would be applied at querying time.
Below query is what your solution would be.
POST <your_index_name>/_search
{
"query":{
"match_all":{ }
},
"script_fields":{
"timestamp":{
"script":{
"inline": "def sf = new SimpleDateFormat("dd-MM-yyyy");def dt = new Date(doc['timestamp'].value);def mydate = sf.format(dt);return mydate;"
}
}
}
}
Let me know how it goes.
Any luck with the above query? Does it fulfil your requirement?
– Kamal
Nov 21 '18 at 17:11
It does @Kamal thank you!. Not completely satisfied with the fact that it has to be specified for every query and I cannot decide something like a default format, but I understand now why that is. Thanks a lot.
– IoChaos
Nov 25 '18 at 16:22
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53337204%2fformat-reading-elasticsearch-dates%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
As @Val mentioned, you'd get the value/format as how it is being indexed.
However if you want to view the date in particular format regardless of the format it has been indexed, you can make use of Script Fields. Note that it would be applied at querying time.
Below query is what your solution would be.
POST <your_index_name>/_search
{
"query":{
"match_all":{ }
},
"script_fields":{
"timestamp":{
"script":{
"inline": "def sf = new SimpleDateFormat("dd-MM-yyyy");def dt = new Date(doc['timestamp'].value);def mydate = sf.format(dt);return mydate;"
}
}
}
}
Let me know how it goes.
Any luck with the above query? Does it fulfil your requirement?
– Kamal
Nov 21 '18 at 17:11
It does @Kamal thank you!. Not completely satisfied with the fact that it has to be specified for every query and I cannot decide something like a default format, but I understand now why that is. Thanks a lot.
– IoChaos
Nov 25 '18 at 16:22
add a comment |
As @Val mentioned, you'd get the value/format as how it is being indexed.
However if you want to view the date in particular format regardless of the format it has been indexed, you can make use of Script Fields. Note that it would be applied at querying time.
Below query is what your solution would be.
POST <your_index_name>/_search
{
"query":{
"match_all":{ }
},
"script_fields":{
"timestamp":{
"script":{
"inline": "def sf = new SimpleDateFormat("dd-MM-yyyy");def dt = new Date(doc['timestamp'].value);def mydate = sf.format(dt);return mydate;"
}
}
}
}
Let me know how it goes.
Any luck with the above query? Does it fulfil your requirement?
– Kamal
Nov 21 '18 at 17:11
It does @Kamal thank you!. Not completely satisfied with the fact that it has to be specified for every query and I cannot decide something like a default format, but I understand now why that is. Thanks a lot.
– IoChaos
Nov 25 '18 at 16:22
add a comment |
As @Val mentioned, you'd get the value/format as how it is being indexed.
However if you want to view the date in particular format regardless of the format it has been indexed, you can make use of Script Fields. Note that it would be applied at querying time.
Below query is what your solution would be.
POST <your_index_name>/_search
{
"query":{
"match_all":{ }
},
"script_fields":{
"timestamp":{
"script":{
"inline": "def sf = new SimpleDateFormat("dd-MM-yyyy");def dt = new Date(doc['timestamp'].value);def mydate = sf.format(dt);return mydate;"
}
}
}
}
Let me know how it goes.
As @Val mentioned, you'd get the value/format as how it is being indexed.
However if you want to view the date in particular format regardless of the format it has been indexed, you can make use of Script Fields. Note that it would be applied at querying time.
Below query is what your solution would be.
POST <your_index_name>/_search
{
"query":{
"match_all":{ }
},
"script_fields":{
"timestamp":{
"script":{
"inline": "def sf = new SimpleDateFormat("dd-MM-yyyy");def dt = new Date(doc['timestamp'].value);def mydate = sf.format(dt);return mydate;"
}
}
}
}
Let me know how it goes.
edited Nov 16 '18 at 12:53
answered Nov 16 '18 at 12:48
KamalKamal
2,49711022
2,49711022
Any luck with the above query? Does it fulfil your requirement?
– Kamal
Nov 21 '18 at 17:11
It does @Kamal thank you!. Not completely satisfied with the fact that it has to be specified for every query and I cannot decide something like a default format, but I understand now why that is. Thanks a lot.
– IoChaos
Nov 25 '18 at 16:22
add a comment |
Any luck with the above query? Does it fulfil your requirement?
– Kamal
Nov 21 '18 at 17:11
It does @Kamal thank you!. Not completely satisfied with the fact that it has to be specified for every query and I cannot decide something like a default format, but I understand now why that is. Thanks a lot.
– IoChaos
Nov 25 '18 at 16:22
Any luck with the above query? Does it fulfil your requirement?
– Kamal
Nov 21 '18 at 17:11
Any luck with the above query? Does it fulfil your requirement?
– Kamal
Nov 21 '18 at 17:11
It does @Kamal thank you!. Not completely satisfied with the fact that it has to be specified for every query and I cannot decide something like a default format, but I understand now why that is. Thanks a lot.
– IoChaos
Nov 25 '18 at 16:22
It does @Kamal thank you!. Not completely satisfied with the fact that it has to be specified for every query and I cannot decide something like a default format, but I understand now why that is. Thanks a lot.
– IoChaos
Nov 25 '18 at 16:22
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53337204%2fformat-reading-elasticsearch-dates%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
what you get back is what you store in the source, ES will never modify the source document you're sending to it, unless you configure an ingestion pipeline to make some modifications. The format is used by ES in order to know how to interpret and index your data.
– Val
Nov 16 '18 at 11:52