Thanks for this tip, it's very helpful. Indeed, it looks like none of the
highlighting parameters are being included. It's using the correct request
handler and hl is set to true, but none of the highlighting parameters from
solrconfig.xml are in the parameter list.

Here is my query:

http://localhost:8080/solr1/select?rows=50&hl=true&fl=url,urlmd5,page_title,score&echoParams=all&q=java

Here are the settings for the request handler and the highlighter:

<requestHandler name="dismax" class="solr.SearchHandler" default="true">
  <lst name="defaults">
   <str name="defType">dismax</str>
   <float name="tie">0.01</float>
   <str name="qf">body_text^1.0 page_title^1.6 meta_desc^1.3</str>
   <str name="q.alt">*:*</str>
   <str name="hl.fl">body_text page_title meta_desc</str>
   <str name="f.page_title.hl.fragsize">0</str>
   <str name="f.meta_desc.hl.fragsize">0</str>
   <str name="hl.fragmenter">regex</str>
  </lst>
</requestHandler>

<highlighting>
  <fragmenter name="regex" class="org.apache.solr.highlight.RegexFragmenter"
default="true">
    <lst name="defaults">
      <str name="hl.snippets">3</str>
      <str name="hl.fragsize">100</str>
      <str name="hl.regex.slop">0.5</str>
      <str name="hl.regex.pattern">\w[-\w ,/\n\"']{50,150}</str>
    </lst>
  </fragmenter>
</highlighting>

And here is the param list returned to me:

<lst name="params">
<str name="echoParams">all</str>
<str name="tie">0.01</str>
<str name="hl.fragmenter">regex</str>
<str name="f.page_title.hl.fragsize">0</str>
<str name="qf">body_text^1.0 page_title^1.6 meta_desc^1.3</str>
<str name="f.meta_desc.hl.fragsize">0</str>
<str name="q.alt">*:*</str>
<str name="hl.fl">page_title,body_text</str>
<str name="defType">dismax</str>
<str name="echoParams">all</str>
<str name="fl">url,urlmd5,page_title,score</str>
<str name="q">java</str>
<str name="hl">true</str>
<str name="rows">50</str>
</lst>

So it seems like everything is working except for the highlighter. I should
mention that when I enter a bogus fragmenter as a parameter (e.g.
hl.fragmenter=bogus), it returns a 400 error that the fragmenter cannot be
found, so the config file _is_ finding the regex fragmenter. It just doesn't
seem to actually be including its parameters... Any ideas are appreciated,
thanks again for the help.

Mark


On Mon, Dec 15, 2008 at 4:23 PM, Yonik Seeley <ysee...@gmail.com> wrote:

> Try adding echoParams=all to your query to verify the params that the
> solr request handler is getting.
>
> -Yonik
>
> On Mon, Dec 15, 2008 at 6:10 PM, Mark Ferguson
> <mark.a.fergu...@gmail.com> wrote:
> > Hello,
> >
> > In my solrconfig.xml file I am setting the attribute hl.snippets to 3.
> When
> > I perform a search, it returns only a single snippet for each highlighted
> > field. However, when I set the hl.snippets field manually as a search
> > parameter, I get up to 3 highlighted snippets. This is the configuration
> > that I am using to set the highlighted parameters:
> >
> > <fragmenter name="regex"
> class="org.apache.solr.highlight.RegexFragmenter"
> > default="true">
> >    <lst name="defaults">
> >      <str name="hl.snippets">3</str>
> >      <str name="hl.fragsize">100</str>
> >      <str name="hl.regex.slop">0.5</str>
> >      <str name="hl.regex.pattern">\w[-\w ,/\n\"']{50,150}</str>
> >    </lst>
> > </fragmenter>
> >
> > I tried setting hl.fragmenter=regex as a parameter as well, to be sure
> that
> > it was using the correct one, and the result set is the same. Any ideas
> what
> > could be causing this attribute not to be read? It has me concerned that
> > other attributes are being ignored as well.
> >
> > Thanks,
> >
> > Mark Ferguson
> >
>

Reply via email to