Try adding this param: &hl.fragsize=30000
(obviously set the fragsize to whatever very high number you need for your
largest doc.)

-Jay


On Fri, Sep 11, 2009 at 7:54 AM, Paul Tomblin <ptomb...@xcski.com> wrote:

> What I want is the whole text of that field with every instance of the
> search term high lighted, even if the search term only occurs in the
> first line of a 300 page field.  I'm not sure if mergeContinuous will
> do that, or if it will miss everything after the last line that
> contains the search term.
>
> On Fri, Sep 11, 2009 at 10:42 AM, Jay Hill <jayallenh...@gmail.com> wrote:
> > It's really just a matter of what you're intentions are. There are an
> awful
> > lot of highlighting params and so highlighting is very flexible and
> > customizable. Regarding snippets, as an example Google presents two
> snippets
> > in results, which is fairly common. I'd recommend doing a lot of
> > experimenting by changing the params on the query string to get what you
> > want, and then setting them up in SolrJ. The example I sent was intended
> to
> > be a generic starting point and mostly just to show how to set
> highlighting
> > params and how to get back a List of highlighting results.
> >
> > -Jay
> > http://www.lucidimagination.com
> >
> >
> > On Thu, Sep 10, 2009 at 5:40 PM, Paul Tomblin <ptomb...@xcski.com>
> wrote:
> >
> >> If I set snippets to 99999 and "mergeContinuous" to true, will I get
> >> the entire contents of the field with all the search terms replaced?
> >> I don't see what good it would be just getting one line out of the
> >> whole field as a snippet.
> >>
> >> On Thu, Sep 10, 2009 at 7:45 PM, Jay Hill <jayallenh...@gmail.com>
> wrote:
> >> > Set up the query like this to highlight a field named "content":
> >> >
> >> >    SolrQuery query = new SolrQuery();
> >> >    query.setQuery("foo");
> >> >
> >> >    query.setHighlight(true).setHighlightSnippets(1); //set other
> params
> >> as
> >> > needed
> >> >    query.setParam("hl.fl", "content");
> >> >
> >> >    QueryResponse queryResponse =getSolrServer().query(query);
> >> >
> >> > Then to get back the highlight results you need something like this:
> >> >
> >> >    Iterator<SolrDocument> iter = queryResponse.getResults();
> >> >
> >> >    while (iter.hasNext()) {
> >> >      SolrDocument resultDoc = iter.next();
> >> >
> >> >      String content = (String) resultDoc.getFieldValue("content"));
> >> >      String id = (String) resultDoc.getFieldValue("id"); //id is the
> >> > uniqueKey field
> >> >
> >> >      if (queryResponse.getHighlighting().get(id) != null) {
> >> >        List<String> highightSnippets =
> >> > queryResponse.getHighlighting().get(id).get("content");
> >> >      }
> >> >    }
> >> >
> >> > Hope that gets you what you need.
> >> >
> >> > -Jay
> >> > http://www.lucidimagination.com
> >> >
> >> > On Thu, Sep 10, 2009 at 3:19 PM, Paul Tomblin <ptomb...@xcski.com>
> >> wrote:
> >> >
> >> >> Can somebody point me to some sample code for using highlighting in
> >> >> SolrJ?  I understand the highlighted versions of the field comes in a
> >> >> separate NamedList?  How does that work?
> >> >>
> >> >> --
> >> >> http://www.linkedin.com/in/paultomblin
> >> >>
> >> >
> >>
> >>
> >>
> >> --
> >> http://www.linkedin.com/in/paultomblin
> >>
> >
>
>
>
> --
> http://www.linkedin.com/in/paultomblin
>

Reply via email to