Glad I could help. The wonderful thing about the Wiki is that all you have to do is create an account to edit it. The new folks coming in often have a perspective on things that "old timers" don't remember as being confusing, regardless of how painful *their* learning curve was....
Best Erick On Fri, Mar 19, 2010 at 3:27 PM, Alex Thurlow <a...@blastro.com> wrote: > Thanks so much. That works really well now. So this brings up a complaint > I have with the Solr documentation. I see very few actual examples. If I > had seen any example of searching for a multi-word search, I assume it would > have had these parentheses. > > -Alex > > > On 3/18/2010 5:54 PM, Erick Erickson wrote: > >> I only have time for a quick glance, but what jumps out is >> that this part: >> title:rude boy^100 >> >> probably isn't matching "boy" against your title field, it's matching >> "rude" >> against title, but "boy" against your default field and boosting the "boy" >> part. >> >> Try parenthesizing (at least that works in Lucene....). >> >> HTH >> Erick >> >> On Thu, Mar 18, 2010 at 5:06 PM, Alex Thurlow<a...@blastro.com> wrote: >> >> >> >>> I'm trying to give a super boost to fields that match exactly, but it >>> doesn't appear to be working. I have this: >>> >>> <field name="artist_tight" type="string_lower" indexed="true" >>> stored="true"/> >>> <field name="title_tight" type="string_lower" indexed="true" >>> stored="true"/> >>> >>> <copyField source="title" dest="title_tight"/> >>> <copyField source="artist" dest="artist_tight"/> >>> >>> >>> <fieldType name="string_lower" class="solr.TextField" >>> sortMissingLast="true" omitNorms="true"> >>> <analyzer> >>> <tokenizer class="solr.KeywordTokenizerFactory"/> >>> <filter class="solr.LowerCaseFilterFactory" /> >>> <filter class="solr.TrimFilterFactory" /> >>> </analyzer> >>> </fieldType> >>> >>> The dataset has two items with title="Rude Boy", but they are coming up >>> way >>> down the list. My query looks like this: title:rude boy^100 OR >>> artist:rude >>> boy^100 OR description:rude boy^5 OR tags:rude boy^10 OR title:"rude >>> boy"~100^100 OR artist:"rude boy"~100^100 OR description:"rude >>> boy"~100000 >>> OR tags:"rude boy"~1000^10 OR title_tight:rude boy^1000 or >>> artist_tight:rude >>> boy^1500 OR artist_title:rude boy^100 >>> >>> The debug output seems to say that it's not even matching that field: >>> 0.33547562 = (MATCH) product of: 1.2748073 = (MATCH) sum of: 0.004359803 >>> = >>> (MATCH) weight(title:rude in 19218), product of: 7.7693147E-4 = >>> queryWeight(title:rude), product of: 8.978507 = idf(docFreq=6, >>> maxDocs=20423) 8.653237E-5 = queryNorm 5.611567 = (MATCH) >>> fieldWeight(title:rude in 19218), product of: 1.0 = >>> tf(termFreq(title:rude)=1) 8.978507 = idf(docFreq=6, maxDocs=20423) 0.625 >>> = >>> fieldNorm(field=title, doc=19218) 0.002346348 = (MATCH) weight(tags:rude >>> in >>> 19218), product of: 8.0604723E-4 = queryWeight(tags:rude), product of: >>> 9.31498 = idf(docFreq=4, maxDocs=20423) 8.653237E-5 = queryNorm 2.910931 >>> = >>> (MATCH) fieldWeight(tags:rude in 19218), product of: 1.0 = >>> tf(termFreq(tags:rude)=1) 9.31498 = idf(docFreq=4, maxDocs=20423) 0.3125 >>> = >>> fieldNorm(field=tags, doc=19218) 1.203806 = weight(title:"rude >>> boy"~100^100.0 in 19218), product of: 0.12910038 = >>> queryWeight(title:"rude >>> boy"~100^100.0), product of: 100.0 = boost 14.919317 = idf(title: rude=6 >>> boy=145) 8.653237E-5 = queryNorm 9.3245735 = fieldWeight(title:"rude boy" >>> in >>> 19218), product of: 1.0 = tf(phraseFreq=1.0) 14.919317 = idf(title: >>> rude=6 >>> boy=145) 0.625 = fieldNorm(field=title, doc=19218) 0.060910318 = >>> weight(tags:"rude boy"~1000^10.0 in 19218), product of: 0.012987026 = >>> queryWeight(tags:"rude boy"~1000^10.0), product of: 10.0 = boost >>> 15.008287 = >>> idf(tags: rude=4 boy=186) 8.653237E-5 = queryNorm 4.6900897 = >>> fieldWeight(tags:"rude boy" in 19218), product of: 1.0 = >>> tf(phraseFreq=1.0) >>> 15.008287 = idf(tags: rude=4 boy=186) 0.3125 = fieldNorm(field=tags, >>> doc=19218) 0.0033848688 = (MATCH) weight(artist_title:rude in 19218), >>> product of: 7.6537667E-4 = queryWeight(artist_title:rude), product of: >>> 8.844975 = idf(docFreq=7, maxDocs=20423) 8.653237E-5 = queryNorm >>> 4.4224877 = >>> (MATCH) fieldWeight(artist_title:rude in 19218), product of: 1.0 = >>> tf(termFreq(artist_title:rude)=1) 8.844975 = idf(docFreq=7, >>> maxDocs=20423) >>> 0.5 = fieldNorm(field=artist_title, doc=19218) 0.2631579 = coord(5/19) >>> >>> >>> Someone else suggested I use DisMax, but I can't really get that to do >>> what >>> I want right now either. I'm just wondering why this seems to not be >>> using >>> this field at all. >>> >>> -Alex >>> >>> >>> >>> >> >> >