Apologies
I have tried that method as well.

/solr/select/?q=b007vty6&defType=dismax&qf=id^10%20parent_id^9%20brand_container_id^8%20series_container_id^8%20subseries_container_id^8%20clip_container_id^1%20clip_episode_id^1&debugQuery=on&fl=id,parent_id,brand_container_id,series_container_id,subseries_container_id,clip_episode_id,clip_episode_id,score&wt=json&indent=on


same result ( just higher scores ). It's almost as if  partial matches on
brand|series_container_id and id are being considered in the 1st document.
Surely this can't be right / expected?

{

   - -
   responseHeader: {
      - status: 0
      - QTime: 13
      - -
      params: {
         - debugQuery: "on"
         - fl:
         
"id,parent_id,brand_container_id,series_container_id,subseries_container_id,clip_episode_id,clip_episode_id,score"
         - indent: "on"
         - q: "b007vty6"
         - qf: "id^10 parent_id^9 brand_container_id^8 series_container_id^8
         subseries_container_id^8 clip_container_id^1 clip_episode_id^1"
         - wt: "json"
         - defType: "dismax"
      }
   }
   - -
   response: {
      - numFound: 2
      - start: 0
      - maxScore: 21.138214
      - -
      docs: [
         - -
         {
            - series_container_id: "b007vm94"
            - id: "b007vsvm"
            - brand_container_id: "b007hhk5"
            - subseries_container_id: "b007vty6"
            - clip_episode_id: ""
            - score: 21.138214
         }
         - -
         {
            - parent_id: "b007vm94"
            - id: "b007vty6"
            - score: 5.1243143
         }
      ]
   }
   - -
   debug: {
      - rawquerystring: "b007vty6"
      - querystring: "b007vty6"
      - parsedquery: "+DisjunctionMaxQuery((id:b007vty6^10.0 |
      clip_episode_id:"b 007 vty 6" | subseries_container_id:"b 007
vty 6"^8.0 |
      series_container_id:"b 007 vty 6"^8.0 | clip_container_id:"b 007 vty 6" |
      brand_container_id:"b 007 vty 6"^8.0 | parent_id:"b 007 vty 6"^9.0)) ()"
      - parsedquery_toString: "+(id:b007vty6^10.0 | clip_episode_id:"b 007
      vty 6" | subseries_container_id:"b 007 vty 6"^8.0 |
series_container_id:"b
      007 vty 6"^8.0 | clip_container_id:"b 007 vty 6" |
brand_container_id:"b 007
      vty 6"^8.0 | parent_id:"b 007 vty 6"^9.0) ()"
      - -
      explain: {
         - b007vsvm: " 21.138214 = (MATCH) sum of: 21.138214 = (MATCH) max
         of: 21.138214 = (MATCH) weight(subseries_container_id:"b 007
vty 6"^8.0 in
         39526), product of: 0.85312855 =
queryWeight(subseries_container_id:"b 007
         vty 6"^8.0), product of: 8.0 = boost 49.55458 =
idf(subseries_container_id:
         b=547 007=31 vty=1 6=87) 0.0021519922 = queryNorm 24.77729 =
         fieldWeight(subseries_container_id:"b 007 vty 6" in 39526),
product of: 1.0
         = tf(phraseFreq=1.0) 49.55458 = idf(subseries_container_id:
b=547 007=31
         vty=1 6=87) 0.5 = fieldNorm(field=subseries_container_id, doc=39526) "
         - b007vty6: " 5.1243143 = (MATCH) sum of: 5.1243143 = (MATCH) max
         of: 5.1243143 = (MATCH) weight(id:b007vty6^10.0 in 39512), product of:
         0.33207658 = queryWeight(id:b007vty6^10.0), product of: 10.0 = boost
         15.431123 = idf(docFreq=1, maxDocs=3701577) 0.0021519922 = queryNorm
         15.431123 = (MATCH) fieldWeight(id:b007vty6 in 39512),
product of: 1.0 =
         tf(termFreq(id:b007vty6)=1) 15.431123 = idf(docFreq=1,
maxDocs=3701577) 1.0
         = fieldNorm(field=id, doc=39512) "
      }
      - QParser: "DisMaxQParser"
      - altquerystring: null
      - boostfuncs: null
      - -
      timing: {
         - time: 13
         - -
         prepare: {
            - time: 3
            - -
            org.apache.solr.handler.component.QueryComponent: {
               - time: 3
            }
            - -
            org.apache.solr.handler.component.FacetComponent: {
               - time: 0
            }
            - -
            org.apache.solr.handler.component.MoreLikeThisComponent: {
               - time: 0
            }
            - -
            org.apache.solr.handler.component.HighlightComponent: {
               - time: 0
            }
            - -
            org.apache.solr.handler.component.StatsComponent: {
               - time: 0
            }
            - -
            org.apache.solr.handler.component.DebugComponent: {
               - time: 0
            }
         }
         - -
         process: {
            - time: 10
            - -
            org.apache.solr.handler.component.QueryComponent: {
               - time: 0
            }
            - -
            org.apache.solr.handler.component.FacetComponent: {
               - time: 0
            }
            - -
            org.apache.solr.handler.component.MoreLikeThisComponent: {
               - time: 0
            }
            - -
            org.apache.solr.handler.component.HighlightComponent: {
               - time: 0
            }
            - -
            org.apache.solr.handler.component.StatsComponent: {
               - time: 0
            }
            - -
            org.apache.solr.handler.component.DebugComponent: {
               - time: 10
            }
         }
      }
   }

}



On 15 June 2011 09:39, Ahmet Arslan <iori...@yahoo.com> wrote:

> > I have 2 document types but want to return any documents
> > where the requested
> > ID appears. The ID appears in multiple attributes but I
> > want to boost
> > results based on which attribute contains the ID.
> >
> > so my query is
> >
> > q="id:b007vty6 parent_id:b007vty6
> > brand_container_id:b007vty6
> > series_container_id:b007vty6
> > subseries_container_id:b007vty6
> > clip_container_id:b007vty6 clip_episode_id:b007vty6"
> >
> > and I use qf to boost fields
> >
> > qf="id^10 parent_id^9 brand_container_id^8
> > series_container_id^8
> > subseries_container_id^8 clip_container_id^1
> > clip_episode_id^1"
> >
>
> There is a misunderstanding here. qf parameter is specific to (e)dismax
> query parser plugin. For more information about it please see:
>
> http://www.lucidimagination.com/blog/2010/05/23/whats-a-dismax/
>
> Your query string can be something like this:
>
> defType=dismax&q=b007vty6&qf="id^10 parent_id^9 brand_container_id^8 ...
>
> It automatically expands your simple word query to multiple fields.
> defType=dismax is a must to enable it, either in URL or in solrconfig.xml
> (defaults section).
>

Reply via email to