You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by KaktuChakarabati <ji...@gmail.com> on 2009/07/29 09:29:06 UTC

Boosting ('bq') on multi-valued fields

Hey,
I have a field defined as such:

 <field name="site_id"        type="string" indexed="true" stored="false"
multiValued="true" />

with the string type defined as:

<fieldtype name="string" class="solr.StrField" sortMissingLast="true"
omitNorms="true"/>

When I try using some query-time boost parameters using the bq on values of
this field it seems to behave
strangely in case of documents actually having multiple values:
If i'd do a boost for a particular value ( "site_id:5^1.1" ) it seems like
all the cases where this field is actually
populated with multiple ones ( i.e a document with field value "5|6" ) do
not get boosted at all. I verified this using
debugQuery & explainOther=doc_id:<document_with_multiple_values>.
is this a known issue/bug? any work arounds? (i'm using a nightly solr build
from a few months back.. )

Thanks,
-Chak
-- 
View this message in context: http://www.nabble.com/Boosting-%28%27bq%27%29-on-multi-valued-fields-tp24713905p24713905.html
Sent from the Solr - User mailing list archive at Nabble.com.


RE: Boosting ('bq') on multi-valued fields

Posted by Ensdorf Ken <En...@zoominfo.com>.
> Hey Ken,
> Thanks for your reply.
> When I wrote '5|6' I ment that this is a multiValued field with two
> values
> '5' and '6', rather than the literal string '5|6' (and any Tokenizer).
> Does
> your reply still holds? That is, are multiValued fields dependent on
> the
> notion of tokenization to such a degree so that I cant use str type
> with
> them meaningfully? if so, it seems weird to me that I should be able to
> define a str multiValued field to begin with..

I'm pretty sure you can use multiValued string fields in the way you are describing.  If you just do a query without the boost do documents with multiple values come back?  That would at least tell you whether the problem was matching on the term itself or something to do with your use of boosts.

-Ken

RE: Boosting ('bq') on multi-valued fields

Posted by KaktuChakarabati <ji...@gmail.com>.
Hey Ken,
Thanks for your reply.
When I wrote '5|6' I ment that this is a multiValued field with two values
'5' and '6', rather than the literal string '5|6' (and any Tokenizer). Does
your reply still holds? That is, are multiValued fields dependent on the
notion of tokenization to such a degree so that I cant use str type with
them meaningfully? if so, it seems weird to me that I should be able to
define a str multiValued field to begin with..

-Chak


Ensdorf Ken wrote:
> 
>> Hey,
>> I have a field defined as such:
>>
>>  <field name="site_id"        type="string" indexed="true"
>> stored="false"
>> multiValued="true" />
>>
>> with the string type defined as:
>>
>> <fieldtype name="string" class="solr.StrField" sortMissingLast="true"
>> omitNorms="true"/>
>>
>> When I try using some query-time boost parameters using the bq on
>> values of
>> this field it seems to behave
>> strangely in case of documents actually having multiple values:
>> If i'd do a boost for a particular value ( "site_id:5^1.1" ) it seems
>> like
>> all the cases where this field is actually
>> populated with multiple ones ( i.e a document with field value "5|6" )
>> do
>> not get boosted at all. I verified this using
>> debugQuery & explainOther=doc_id:<document_with_multiple_values>.
>> is this a known issue/bug? any work arounds? (i'm using a nightly solr
>> build
>> from a few months back.. )
> 
> There is no tokenization on 'string' fields, so a query for "5" does not
> match a doc with a value of "5|6" for this field.  You could try  using
> field type 'text' for this and see what you get.  You may need to
> customize it to you the StandardAnalyzer or WordDelimiterFilterFactory to
> get the right behavior.  Using the analysis tool in the solr admin UI to
> experiment will probably be helpful.
> 
> -Ken
> 
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Boosting-%28%27bq%27%29-on-multi-valued-fields-tp24713905p24730981.html
Sent from the Solr - User mailing list archive at Nabble.com.


RE: Boosting ('bq') on multi-valued fields

Posted by Ensdorf Ken <En...@zoominfo.com>.
> Hey,
> I have a field defined as such:
>
>  <field name="site_id"        type="string" indexed="true"
> stored="false"
> multiValued="true" />
>
> with the string type defined as:
>
> <fieldtype name="string" class="solr.StrField" sortMissingLast="true"
> omitNorms="true"/>
>
> When I try using some query-time boost parameters using the bq on
> values of
> this field it seems to behave
> strangely in case of documents actually having multiple values:
> If i'd do a boost for a particular value ( "site_id:5^1.1" ) it seems
> like
> all the cases where this field is actually
> populated with multiple ones ( i.e a document with field value "5|6" )
> do
> not get boosted at all. I verified this using
> debugQuery & explainOther=doc_id:<document_with_multiple_values>.
> is this a known issue/bug? any work arounds? (i'm using a nightly solr
> build
> from a few months back.. )

There is no tokenization on 'string' fields, so a query for "5" does not match a doc with a value of "5|6" for this field.  You could try  using field type 'text' for this and see what you get.  You may need to customize it to you the StandardAnalyzer or WordDelimiterFilterFactory to get the right behavior.  Using the analysis tool in the solr admin UI to experiment will probably be helpful.

-Ken