lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Sokolov <msoko...@safaribooksonline.com>
Subject Re: Number of Times 1 Field has occured in a document within a Given TimeRange,.
Date Fri, 06 Dec 2013 11:28:37 GMT
Have you read about numeric range faceting? 
http://blog.mikemccandless.com/2013/05/dynamic-faceting-with-lucene.html

On 12/6/2013 5:34 AM, Ankit Murarka wrote:
> Well a bit strange as this is the 1st time, I am not receiving any 
> reply to the question even after sending it again.
>
> Would be very helpful if someone can throw some light on the problem.
>
> On 04-12-2013 18:54, Ankit Murarka wrote:
>> Hello.
>>
>> Would really appreciate if someone can guide me on the below 
>> mentioned issue.
>>
>> On 03-12-2013 12:48, Ankit Murarka wrote:
>>> Hello.
>>>
>>> This might be a long mail but I have mentioned everything very 
>>> clearly so that I can get needed assistance.
>>>
>>> Indexing:
>>> I have a use case. I am indexing two fields.
>>>
>>> Field 1 : Value. Say suppose 1,2,3,4,5 etc..
>>>
>>> Field 2 : Time  in Long Format . Say 20131203010005, 20131203132332 
>>> etc..
>>>
>>> Both the field values are extracted from number of documents. Each 
>>> document contains N number of such entry.
>>>
>>> Indexing is not a problem. I am able to index both the fields properly.
>>>
>>> Search:
>>>
>>> Construction of Query:
>>> During searching, I want that given a value (for field 1 say E.g. 
>>> 2), get me the count of occurence of 2 each hour in the given index. 
>>> i.e. From 20131203000000-20131203005959 and then from 
>>> 20131203010000-20131203015959..
>>>
>>> I gave first field in TermQuery. and for second I used NumericRange 
>>> Query -creating query for 24 time slots in a day.
>>>
>>> Created a Boolean Query and gave TermQuery and NumericRange Query as 
>>> two clauses with MUST and executed.
>>>
>>> Execution/Result:
>>>
>>> The query is giving me the output in terms of documents where the 
>>> value 2 and given range is present. Based on current implementation, 
>>> I need to iterate through each doc found, get all the value field 
>>> (matching input value=2) and then again impose an IF condition for 
>>> the range and increment a counter everytime the IF is executed.
>>>
>>> This is OK but I am looking for a shorter method.
>>>
>>> A. Is it possible that on firing first query, I get the count of 
>>> occurence itself. I think .search always returns number of docs.
>>> B. If this is not possible, is it possible that having obtained the 
>>> document in which the given input might be present, again execute a 
>>> query on that document itself and find the occurence of given input 
>>> for the given time range.
>>> C. I tried with putting a count of occurence of given value during 
>>> the indexing phase in index itself. But since TIME CROSSOVER can 
>>> also happen inside the same file, the count which is stored during 
>>> the indexing process is not proper. Hence I don't think I can store 
>>> the count of the occurence during the indexing phase itself.
>>>
>>> Please assist. Let me know if any point is not clear and I will 
>>> clarify it again.
>>>
>>
>>
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Mime
View raw message