I had been experimenting with bq. I switched to boost like you suggested, and get the following error from solr: "can not use FieldCache on multivalued field: genre"
But that sounds like the solution I'd want, if it worked, since it's more flexible than having to reindex. On Mon, Oct 31, 2011 at 10:41 AM, Erik Hatcher <erik.hatc...@gmail.com> wrote: > Paul - look at debugQuery=true output to see why scores end up the way they > do. Use the explainOther to hone in on a specific document to get it's > explanation. The math'll tell you why it's working the way it is. It's more > than just likely that some other scoring factors are overweighting things. > > Also, now that I think about it, you'd be better off leveraging edismax and > the boost parameter. Don't mess with your main q(uery), use > boost=genre:Citation^0.01 or something like that. boost params (not bq!) are > multiplied into the score, not added. Maybe that'll be more to your liking? > > Erik > > > On Oct 31, 2011, at 10:19 , Paul wrote: > >> Thanks Erik. They don't need to absolutely always be the bottom-most >> -- just not near the top. But that sounds like an easy way to do it, >> especially since it is a lot easier to reindex now than it used to be. >> >> I would like to know why my query had no effect, though. There's >> obviously something I don't get about queries. >> >> On Mon, Oct 31, 2011 at 10:08 AM, Erik Hatcher <erik.hatc...@gmail.com> >> wrote: >>> Paul (*bows* to the NINES!) - >>> >>> If you literally want Citations always at the bottom regardless of other >>> relevancy, then perhaps consider indexing boolean top_sort as true for >>> everything Citations and false otherwise, then use &sort=top_sort asc,score >>> desc (or do you need to desc top_sort? true then false or false then true?) >>> >>> Then you can have Citations literally at the bottom (and within that sorted >>> in score order) and likewise with non-Citations at the top and sorted score >>> order within that. Other tricks still risk having Citations mixed in >>> should relevancy score be high enough. >>> >>> The morale of this story is: if you want to hard sort by something, then >>> make a sort field that does it how you like rather than trying to get >>> relevancy scoring to do it for you. >>> >>> Erik >>> >>> >>> On Oct 28, 2011, at 17:17 , Paul wrote: >>> >>>> (I am using solr 3.4 and edismax.) >>>> >>>> In my index, I have a multivalued field named "genre". One of the >>>> values this field can have is "Citation". I would like documents that >>>> have a genre field of Citation to always be at the bottom of the >>>> search results. >>>> >>>> I've been experimenting, but I can't seem to figure out the syntax of >>>> the search I need. Here is the search that seems most logical to me >>>> (newlines added here for readability): >>>> >>>> q=%2bcontent%3Anotes+genre%3ACitation^0.01 >>>> &start=0 >>>> &rows=3 >>>> &fl=genre+title >>>> &version=2.2 >>>> &defType=edismax >>>> >>>> I get the same results whether I include "genre%3ACitation^0.01" or not. >>>> >>>> Just to see if my names were correct, I put a minus sign before >>>> "genre" and it did, in fact, stop returning all the documents >>>> containing Citation. >>>> >>>> What am I doing wrong? >>>> >>>> Here are the results from the above query: >>>> >>>> <response> >>>> <lst name="responseHeader"> >>>> <int name="status">0</int> >>>> <int name="QTime">1</int> >>>> <lst name="params"> >>>> <str name="fl">genre title </str> >>>> <str name="start">0</str> >>>> <str name="q">+content:notes genre:Citation^0.01</str> >>>> <str name="rows">3</str> >>>> <str name="version">2.2</str> >>>> <str name="defType">edismax</str> >>>> </lst> >>>> </lst> >>>> <result name="response" numFound="1276" start="0"> >>>> <doc> >>>> <arr name="genre"><str>Citation</str><str>Fiction</str></arr> >>>> <str name="title">Notes on novelists With some other notes</str> >>>> </doc> >>>> <doc> >>>> <arr name="genre"><str>Citation</str></arr> >>>> <str name="title">Novel notes</str> >>>> </doc> >>>> <doc> >>>> <arr name="genre"><str>Citation</str></arr> >>>> <str name="title">Knock about notes</str> >>>> </doc> >>>> </result> >>>> </response> >>> >>> > >