The first number is a unique ID that points to a particular customer,
the second is a value. It basically tells us whether or not a customer
already has that product or not.  The main use of it is to be able to
search our product listing for products the customer does not already
have.  

The alternative would be to put that in a second index, but that would
mean that I would be doing two searches for every single search I want
to complete, which I am not sure would be a very good option.

>>> avl...@gmail.com 7/16/2009 12:04:53 AM >>>

The harsh reality of life is that you cannot sort on multivalued
fields.
If you can explain your domain problem (the significance of numbers
"818",
"2" etc), maybe people can come up with an alternate index design which
fits
into your use cases.

Cheers
Avlesh

On Thu, Jul 16, 2009 at 1:18 AM, Matt Schraeder <mschrae...@btsb.com>
wrote:

> I am trying to come up with a way to sort (or score, and sort based
on
> the score) of a multivalued field.  I was looking at FunctionQueries
and
> saw fieldvalue, but as that only works on single valued fields that
> doesn't help me.
>
> The field is as follows:
>
>    <fieldType name="keyword" class="solr.TextField"
> sortMissingLast="true" omitNorms="true">
>      <analyzer>
>        <!-- KeywordTokenizer does no actual tokenizing, so the
entire
>             input string is preserved as a single token
>          -->
>        <tokenizer class="solr.KeywordTokenizerFactory"/>
>        <!-- The LowerCase TokenFilter does what you expect, which
can
> be
>             when you want your sorting to be case insensitive
>          -->
>        <filter class="solr.LowerCaseFilterFactory" />
>        <!-- The TrimFilter removes any leading or trailing
whitespace
> -->
>        <filter class="solr.TrimFilterFactory" />
>      </analyzer>
>    </fieldType>
>
>    <field name="myfield" type="keyword" index="true" stored="true"
> multiValued="true" />
>
> The actual data that gets put in this field is a string consisting of
a
> number, a space, and a 1 or a 2.  For example:
>
> "818 2"
> "818 1"
> "950 1"
> "1022 2"
>
> I want to be able to give my search results given a boost if a
> particular document contains "818 2" and a smaller boost if the
document
> contains "818 1" but not "818 2".
>
> The end result would be documents sorted as follows:
>
> 1) Documents with "818 2"
> 2) Documents with "818 1" but not "818 2"
> 3) Documents that contain neither "818 2" nor "818 1"
>
> Is this possible with solr? How would I go about doing this?
>

Reply via email to