Elastic Search : Mapping date format and sort by date
While working on the job board for Socketloop.com recently, I need to sort the Elastic Search result based on the date when the entry is created.
Before the sorting part can happen, first the mappings need to be configured with the type "date" with a proper formatting.
"postDate": {"type": "date", "format" : "yyyy-MM-dd HH:mm:ss"}
and below is a snippet from the Elastic Search mapping.
"mappings" : {
"people": {
"properties": {
"username": {"type": "string"},
"postDate": {"type": "date", "format" : "yyyy-MM-dd HH:mm:ss"}
}
}
and add the 'sort' section in my Elastic Search query
$searchquery = '{
"size" : 9999,
"sort" : [
{ "postDate" : {"order" : "desc"}}
]
}';
and the result be seen at https://profession.socketloop.com/people (still pretty new and not many records to sort for the moment - March 2015)
Reference :
http://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html
See also : PHP : How to parse ElasticSearch JSON ?
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+5.2k Golang : Create new color from command line parameters
+12.5k Golang : Compress and decompress file with compress/flate example
+7.5k Golang : How to join strings?
+12.5k Golang : How to check if a file is hidden?
+8.4k Golang : Format strings to SEO friendly URL example
+6.1k Golang : Array mapping with Interface
+10.3k Golang : Fuzzy string search or approximate string matching example
+8.6k Golang : How to check if a website is served via HTTPS
+10k How to test Facebook App on localhost ?
+32.3k Golang : All update packages with go get command
+4.8k nginx : force all pages to be SSL