Fetching document by comparing date to today date

2014-04-12 Thread Darniz
Hello
i have come across many threads where people have asked how to fetch doc
based on date comparison, my problem is pretty much on the same line. based
on todays date i want to fetch documents which are live For example i have
three doc below
doc1 liveDate=1-MAR-2014
doc2 liveDate=1-APR-2014
doc3 liveDate=1-MAY-2014

i want to select only one doc based on todays date, hence if today is 14-APR
and if i run query 
liveDate:[* TO 14-APR-2014] its getting two doc i want to get only the
latest one which is doc2. Is there out of the box method which can solve my
issue.

In order to fix this issue i proposed to have doc liveStartDate and
liveEndDate
doc1 liveStartDate=1-MAR-2014  liveEndDate=31-MAR-2014
doc2 liveStartDate=1-APR-2014   liveEndDate=31-APR-2014
doc2 liveStartDate=1-MAY-2014   liveEndDate=31-MAY-2014

Hence if today is 14-APR-2014 can i run a query where i can give a condition
something like 
currentDateliveStartDate AND currentDateliveEndDate

can someone please let me know how to do this kind of date comparison. 

thanks
darniz







--
View this message in context: 
http://lucene.472066.n3.nabble.com/Fetching-document-by-comparing-date-to-today-date-tp4130802.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Fetching document by comparing date to today date

2014-04-12 Thread Jack Krupansky
Date math lets you add and subtract offsets in various date and time units 
and truncate to a specified unit as well.


For example:

q=someDateField:[NOW/DAY TO NOW+1DAY/DAY}

Note the use of } to exclude the end point of a range.

Also, be careful to URL-encode the +, otherwise URL parsing will treat it 
as a space.


See:
https://cwiki.apache.org/confluence/display/solr/Working+with+Dates

-- Jack Krupansky

-Original Message- 
From: Darniz

Sent: Saturday, April 12, 2014 4:33 PM
To: solr-user@lucene.apache.org
Subject: Fetching document by comparing date to today date

Hello
i have come across many threads where people have asked how to fetch doc
based on date comparison, my problem is pretty much on the same line. based
on todays date i want to fetch documents which are live For example i have
three doc below
doc1 liveDate=1-MAR-2014
doc2 liveDate=1-APR-2014
doc3 liveDate=1-MAY-2014

i want to select only one doc based on todays date, hence if today is 14-APR
and if i run query
liveDate:[* TO 14-APR-2014] its getting two doc i want to get only the
latest one which is doc2. Is there out of the box method which can solve my
issue.

In order to fix this issue i proposed to have doc liveStartDate and
liveEndDate
doc1 liveStartDate=1-MAR-2014  liveEndDate=31-MAR-2014
doc2 liveStartDate=1-APR-2014   liveEndDate=31-APR-2014
doc2 liveStartDate=1-MAY-2014   liveEndDate=31-MAY-2014

Hence if today is 14-APR-2014 can i run a query where i can give a condition
something like
currentDateliveStartDate AND currentDateliveEndDate

can someone please let me know how to do this kind of date comparison.

thanks
darniz







--
View this message in context: 
http://lucene.472066.n3.nabble.com/Fetching-document-by-comparing-date-to-today-date-tp4130802.html
Sent from the Solr - User mailing list archive at Nabble.com. 



Re: Fetching document by comparing date to today date

2014-04-12 Thread Darniz
Thanks for the quick answer i was able to solve my problem with the addition
of two new fields and if todays date is april14 my query is 

(liveStartDate:[* TO 2014-04-14T00:00:00Z] AND
liveEndDate:[2014-04-14T00:00:00Z TO *])

and its fetches me the correct document 

guess my initial question does solr provide out of the box functionality if
i have the below three documents set,  how can i get only doc2 if i assume
todays date is 14-APRIL-2014

for simplicity i gave the liveDate as dates beginning at the start of each
month but in real life these dates can be anything.
doc1 liveDate=1-MAR-2014 
doc2 liveDate=1-APR-2014 
doc3 liveDate=1-MAY-2014 



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Fetching-document-by-comparing-date-to-today-date-tp4130802p4130807.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Fetching document by comparing date to today date

2014-04-12 Thread Furkan KAMACI
Hi Darniz;

Why don't you filter your documents that has a date until TODAY and then
sort them by date and finally get only 1 document with rows=1 ?

Thanks;
Furkan KAMACI


2014-04-13 0:08 GMT+03:00 Darniz rnizamud...@edmunds.com:

 Thanks for the quick answer i was able to solve my problem with the
 addition
 of two new fields and if todays date is april14 my query is

 (liveStartDate:[* TO 2014-04-14T00:00:00Z] AND
 liveEndDate:[2014-04-14T00:00:00Z TO *])

 and its fetches me the correct document

 guess my initial question does solr provide out of the box functionality if
 i have the below three documents set,  how can i get only doc2 if i assume
 todays date is 14-APRIL-2014

 for simplicity i gave the liveDate as dates beginning at the start of each
 month but in real life these dates can be anything.
 doc1 liveDate=1-MAR-2014
 doc2 liveDate=1-APR-2014
 doc3 liveDate=1-MAY-2014



 --
 View this message in context:
 http://lucene.472066.n3.nabble.com/Fetching-document-by-comparing-date-to-today-date-tp4130802p4130807.html
 Sent from the Solr - User mailing list archive at Nabble.com.



Re: Fetching document by comparing date to today date

2014-04-12 Thread Erick Erickson
You haven't told us under what criteria you would exclude the March
document. Do you want only docs that are in the current month? If so,
date:[NOW/MONTH TO NOW/MONTH+1MONTH] should do it.

Best,
Erick

On Sat, Apr 12, 2014 at 4:08 PM, Furkan KAMACI furkankam...@gmail.com wrote:
 Hi Darniz;

 Why don't you filter your documents that has a date until TODAY and then
 sort them by date and finally get only 1 document with rows=1 ?

 Thanks;
 Furkan KAMACI


 2014-04-13 0:08 GMT+03:00 Darniz rnizamud...@edmunds.com:

 Thanks for the quick answer i was able to solve my problem with the
 addition
 of two new fields and if todays date is april14 my query is

 (liveStartDate:[* TO 2014-04-14T00:00:00Z] AND
 liveEndDate:[2014-04-14T00:00:00Z TO *])

 and its fetches me the correct document

 guess my initial question does solr provide out of the box functionality if
 i have the below three documents set,  how can i get only doc2 if i assume
 todays date is 14-APRIL-2014

 for simplicity i gave the liveDate as dates beginning at the start of each
 month but in real life these dates can be anything.
 doc1 liveDate=1-MAR-2014
 doc2 liveDate=1-APR-2014
 doc3 liveDate=1-MAY-2014



 --
 View this message in context:
 http://lucene.472066.n3.nabble.com/Fetching-document-by-comparing-date-to-today-date-tp4130802p4130807.html
 Sent from the Solr - User mailing list archive at Nabble.com.