congrats on the successfull roll-out Tracey,

:   We don't use DisMax and (as of now) do not use faceting.


:   And finally, the hardest part to convert to Solr.
:   I had to write a PHP front-end custom converter to take our query strings,
:   parse the clauses and lucene syntax into pieces, and "expand" clauses
: where
:   they were not searching a specific field to expand it to our
: query-time boosting.
:   Eg: if someone were to look for "tracey pooh" on our site, we expand
: it to:
:   (title:"tracey pooh"^100 OR description:"tracey pooh"^15 OR
: collection:"tracey pooh"^10 OR language:"tracey pooh"^10 OR text:"tracey
: pooh"^1)
:   (but 'creator:"tracey pooh"' would pass to SOLR as is).

ironicly, using DisMax probably would have let you drasticly reduce
the amount of front end code you need...

if you saw that the input looked like a raw lucene field search, you could
use StandardRequestHandler, or you could split it up - so instead of:
  q=creator:"tracey pooh"
...you could use...
  qt=dismax & qf=creator & q="tracey pooh"

in the regular input case, instead of:
  q=(title:"tracey pooh"^100 OR description:"tracey pooh"^15 OR 
collection:"tracey pooh"^10 OR language:"tracey pooh"^10 OR text:"tracey 
pooh"^1)
...you could use...
  qt=dismax & tie=1 & qf=title^100 description^15 collection^10 langauge^10 & 
q="tracey pooh"

...the scores you get back might not be exactly the same, but off the top
of my head i think they'd be pretty darn close (the key in the second case
being the tie=1 so the disjunciton max is really a disjunction sum ... but
i bet if you played with it a bit you'd fine you really don't want the
sum, and you'd rather use a much lower tie breaker value.

-Hoss

Reply via email to