On 4/20/07, Burkamp, Christian <[EMAIL PROTECTED]> wrote:
Hi Erik,

No, what I need to do is

    &q="my funny query"&fq=user:erik&fq=id:"doc Id"&hl=on ...

This is because the StandardRequestHandler needs the original query to do 
proper highlighting.
The user gets his paginated result page with his next 10 hits. He can then 
select one document for highlighting. Then I just repeat the last request with 
an additional filter query to select this one document and add the highlighting 
parameters.

Erik posted the way to do this that works with OOB Solr.  If you want
to do it with no additional querying (not even for the docid filter),
you can use an approach like this (from a previous email):

- turn on lazy field loading.  For best effect, compress the main text field.
- create a new request handler that is similar to dismax, but uses
the query for highlighting only.  A separate parameter allows the
specification of document keys to highlight
- highlighting requires the internal lucene document id, not the
document key, and it can be slow to execute queries to get the ids.  I
created a custom cache that maps doc keys -> doc ids, populate it
during the main query, and grab ids from the cache during the
highlighting step.

-Mike

Reply via email to