Is default-search-field stored (as specified in schema.xml)?
Erik
On Aug 3, 2009, at 8:05 PM, Stephen Green wrote:
Hi, folks. I'm trying to get a very simple example working with Solr
highlighting. I have a default search field (called, unsurprisingly
"default-search-field") with text in it and I want query terms to be
highlighted in that field when I do a search.
I'm using an up to date (as of this evening) checkout of 1.4. My
solrconfig.xml contains the following highlighting element:
<highlighting>
<!-- Configure the standard fragmenter -->
<!-- This could most likely be commented out in the "default" case
-->
<fragmenter name="gap"
class="org.apache.solr.highlight.GapFragmenter" default="true">
<lst name="defaults">
<int name="hl.fragsize">200</int>
</lst>
</fragmenter>
<!-- A regular-expression-based fragmenter (f.i., for sentence
extraction) -->
<fragmenter name="regex"
class="org.apache.solr.highlight.RegexFragmenter">
<lst name="defaults">
<!-- slightly smaller fragsizes work better because of slop -->
<int name="hl.fragsize">170</int>
<!-- allow 50% slop on fragment sizes -->
<float name="hl.regex.slop">0.5</float>
<!-- a basic sentence pattern -->
<str name="hl.regex.pattern">[-\w ,/\n\"']{20,200}</
str>
</lst>
</fragmenter>
<!-- Configure the standard formatter -->
<formatter name="html"
class="org.apache.solr.highlight.HtmlFormatter" default="true">
<lst name="defaults">
<str name="hl.simple.pre"><![CDATA[<span class="ht">]]>
</str>
<str name="hl.simple.post"><![CDATA[</span>]]>
</str>
</lst>
</formatter>
</highlighting>
I'm using SolrJ to talk to the Solr server. Here's the code to do a
query, where qs is the query string.
SolrQuery q = new SolrQuery(qs);
q.setQueryType("dismax");
q.setHighlight(true);
q.setHighlightFragsize(250);
q.set("hl.formatter", "html");
q.set("hl.fragmenter", "regex");
q.setFields("default-search-field", "key");
QueryResponse resp = solr.query(q);
I've set up the dismax handler in solrconfig.xml to search the
default-search-field.
The Solr server logs the following request for this:
INFO: [] webapp=/solr path=/select
params={hl.fragsize=250&fl=default-search-
field
,key
&hl
.fragmenter
=
regex
&q=garbage&hl.formatter=html&qt=dismax&wt=javabin&hl=true&version=1}
hits=953 status=0 QTime=39
which looks about right to me, but I don't see any highlighting in
the results.
I'm clearly missing something pretty fundamental here, and any help
would be appreciated.
Steve Green