current: bool //for fq which searches only current versions
last_current_at: date time // for date range queries or group sorting
what was current for a given date

sorry if i've missed a requirement

lee c

On 13 October 2011 15:01, Mike Sokolov <soko...@ifactory.com> wrote:
> We have the identical problem in our system.
>
> Our plan is to encode the most recent version of a document using an
> explicit field/value;
> ie
>
> version=current
>
> (or maybe current=true)
>
> We also need to be able to allow users to search for the most current, but
> only within versions they have access to (might be among the 2010 and the
> 2007 versions only).  I can't see any way to do this other than to index
> each document with a "most current as of 2010" flag, or something like that.
>
> But if anyone has brighter ideas on how to do this with a query, I'd be
> excited to here them!
>
> -Mike
>
> On 10/07/2011 05:21 AM, Martijn v Groningen wrote:
>>
>> I don't think this possible in only one search with what Solr
>> currently has to offer. I guess the only way to support this, is by
>> post processing your results on the client side.
>> So for each group you display you query what to latest version is. If
>> that doesn't match then you omit the result from rendering or execute
>> a second grouped search to get more
>> groups. The downsides are that pagination will never be correct and
>> overall search time will take more time.
>>
>> Martijn
>>
>> On 5 October 2011 21:55, Daniel Skiles<daniel.ski...@docfinity.com>
>>  wrote:
>>
>>>
>>> A while back I sent a question to the list about only returning the most
>>> recent version of a document, based on a numerical version field stored
>>> in
>>> each record.  Someone suggested that I use field collapsing to do so, and
>>> in
>>> most cases it seems to work well.  However, I've hit a snag and I'd
>>> appreciate it if anyone could offer some pointers.
>>>
>>> At the moment, my scheme looks roughly like this (not using exact data
>>> types):
>>>
>>> contents : string
>>> documentId : string
>>> version:  float
>>>
>>>
>>> When I query on contents, I can use field collapsing to group by
>>> documentId,
>>> only return one instance of documentId, and sort each group by version in
>>> descending order.  If the newest version of the document is returned by
>>> the
>>> query, everything works great.
>>>
>>> What I've realized, though, is that using field collapsing doesn't
>>> necessarily get me the most recent version of the document, if it matches
>>> the query, but the most recent version of any document that matches the
>>> query.
>>>
>>> Is there any good way to get the most recent version of the document that
>>> matches the query, but only if it's the record with the highest version
>>> number?
>>>
>>>
>>>
>>> For example, with the following record set:
>>>
>>> contents:  angry horse
>>> documentId:  1a
>>> version:  1.0
>>>
>>> contents:  distraught horse
>>> documentId:  1a
>>> version:  1.1
>>>
>>> contents:  peevish horse
>>> documentId:  1a
>>> version:  2.0
>>>
>>> Searching for "horse" will return version 2.0 of 1a using collapsing in
>>> the
>>> manner that I described above.
>>>
>>> If I search for "angry", I'll get back version 1.0 of 1a.  I'd rather get
>>> back nothing at all.  Is this possible?
>>>
>>>
>>
>>
>>
>

Reply via email to