lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erik Hatcher <erik.hatc...@gmail.com>
Subject Re: Solr Query help - sorting
Date Tue, 25 Aug 2009 18:26:58 GMT
If you're using DataImportHandler, a custom (Java or script)  
transformer could do this.

Also an UpdateProcessor could do it.

But there is no conditional copyField capabilities otherwise.

Keep in mind that pragmatically, if you're doing your own indexing  
code, why not have a line like this?  :)

    max_side = (length > width) ? length : width

	Erik


On Aug 25, 2009, at 2:20 PM, Erik Earle wrote:
> Is there a way to have the max_side field only in Solr ...as in a  
> conditional copyField or something like that?
>
> I'd like to push as much of this into Solr as I can because the app  
> and db that Solr is indexing are not really the best place to add  
> this type of functionality.
>
>
>
>
>
>
>
>
>
> ----- Original Message ----
> From: Koji Sekiguchi <koji@r.email.ne.jp>
> To: solr-user@lucene.apache.org
> Sent: Tuesday, August 25, 2009 4:04:29 AM
> Subject: Re: Solr Query help - sorting
>
> Hi Erik Earle,
>
> Ahh, I read your mail too fast... Erik Hatcher's method should work.
>
> Thanks!
>
> Koji
>
>
> Erik Hatcher wrote:
>> You couldn't sort on a multiValued field though.
>>
>> I'd simply index a max_side field, and have the indexing client add a
>> single valued field with max(length,width) to it.  Then sort on  
>> max_side.
>>
>>    Erik
>>
>> On Aug 25, 2009, at 4:00 AM, Constantijn Visinescu wrote:
>>
>>> make a new multivalued field in your schema.xml, copy both width and
>>> length
>>> into that field, and then sort on that field ?
>>>
>>> On Tue, Aug 25, 2009 at 5:40 AM, erikearle@yahoo.com
>>> <erikearle@yahoo.com>wrote:
>>>
>>>> Clever... but if more than one row adds up to the same value I may
>>>> get the
>>>> wrong order (like 50, 50 and 10, 90)
>>>>
>>>> I need a max function but the one provided only compares against a
>>>> constant.
>>>>
>>>> Sent from my iPhone
>>>>
>>>> On Aug 24, 2009, at 6:15 PM, Koji Sekiguchi <koji@r.email.ne.jp>  
>>>> wrote:
>>>>
>>>> How about using sum() FunctionQuery, via:
>>>>
>>>> http://localhost:8983/solr/select/?q=_val_%3A%22sum%28width%2Clength%29%22
>>>>
>>>>
>>>> Thanks,
>>>>
>>>> Koji
>>>>
>>>>
>>>> Erik Earle wrote:
>>>> Suppose I have a database of rectangle attributes that I have
>>>> indexed in
>>>> Solr and I want to get the top 10 widest or longest rectangles  
>>>> from one
>>>> query.
>>>>
>>>>
>>>> name  |  width  |  length
>>>> A     |  100    |  10
>>>> B     |  10     |  90
>>>> C     |  80     |  10
>>>> ...
>>>>
>>>>
>>>> My indexed fields are:  name, width, length
>>>>
>>>> Is there a way to query so that my data returns the order:  A, B, C
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>
>>
>
>
>


Mime
View raw message