Skip to content

Instantly share code, notes, and snippets.

@powdahound
Created August 13, 2010 22:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save powdahound/523628 to your computer and use it in GitHub Desktop.
Save powdahound/523628 to your computer and use it in GitHub Desktop.
mayo:~ curl -s "http://localhost:5984/cl-test/_fti/_design/search/by-body/?q=body:weather&debug=true&include_docs=true&sort=date_obj<date>" | json_reformat
{
"q": "body:weather",
"plan": "TermQuery(body:weather,boost=1.0)",
"etag": "121418c19bb3ca",
"skip": 0,
"limit": 25,
"total_rows": 2,
"search_duration": 0,
"fetch_duration": 40,
"sort_order": [
{
"field": "date_obj",
"reverse": false,
"type": "long"
}
],
"rows": [
{
"id": "doc2",
"sort_order": [
0
],
"fields": {
"date_obj_now": "DATE getTime: 1281737279186",
"date_obj_doc": "DATE getTime: NaN",
"date_str": "2010-08-12 22:55:57",
"date_token": "20100812225557"
},
"doc": {
"_id": "doc2",
"_rev": "1-9fa09356dbea01454b8998e227bdef4a",
"body": "Summer weather is hot.",
"date": "2010-08-12 22:55:57"
}
},
{
"id": "doc1",
"sort_order": [
0
],
"fields": {
"date_obj_now": "DATE getTime: 1281737279194",
"date_obj_doc": "DATE getTime: NaN",
"date_str": "2010-08-13 22:55:10",
"date_token": "20100813225510"
},
"doc": {
"_id": "doc1",
"_rev": "2-719fe4de5773260af4d9285c7bdddb72",
"body": "Winter weather is cold.",
"date": "2010-08-13 22:55:10"
}
}
]
}
function(doc) {
var ret = new Document();
ret.add(doc.body, {
"field": "body"
});
// Add date as object so we can use it for sorting as well as range queries.
// doc.date format is "2010-08-12 22:55:57"
date_obj = new Date();
ret.add("DATE getTime: " + date_obj.getTime(), {
"type": "string",
"field": "date_obj_now",
"store": "yes"
});
date_obj = new Date(doc.date);
ret.add("DATE getTime: " + date_obj.getTime(), {
"type": "string",
"field": "date_obj_doc",
"store": "yes"
});
// Just the string (2010-08-12 22:55:57)
ret.add(doc.date, {
"field": "date_str",
"store": "yes"
});
// Token (20100812225557)
date_token = doc.date.replace(/[ :-]/g, '');
ret.add(date_token, {
"field": "date_token",
"store": "yes"
});
return ret;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment