Chundong Wang
Chundong Wang

Reputation: 478

Cannot get highlighted Solr response

I'm using Solr example server to do an investigation. After fed it with all cached documents, mostly html files, it works fine except the highlight part.

The request URL I'm using is as followed,

http://localhost:8983/solr/collection1/select?q=keyword&wt=xml&hl=true

And the XML response is as followed,

<response>
<lst name="responseHeader">...</lst>
<result name="response" numFound="371" start="0">
    <doc>
        <arr name="links">
            <str>rect</str>
            <str>FJU_KDJFJJ_DJ_13</str>
        </arr>
        <str name="id">
            F:\SkyDrive\funproj\cache\adfadf\asdff.htm
        </str>
        <arr name="title">
            <str>asdff.htm</str>
        </arr>
        <arr name="content_type">
            <str>text/html; charset=ISO-8859-1</str>
        </arr>
        <str name="resourcename">
            F:\SkyDrive\funproj\cache\adfadf\asdff.htm
        </str>
        <arr name="content">
            <str>...</str>
        </arr>
        <long name="_version_">1418589758873927680</long>
    </doc>
    <doc>...</doc>
</result>
<lst name="highlighting">
    <lst name="F:\SkyDrive\funproj\cache\adfadf\asdff.htm"/>
    <lst name="F:\SkyDrive\funproj\cache\cvzcv\c58053e10vq.htm"/>
    <lst name="F:\SkyDrive\funproj\cache\hgdfhdfgh\c00302e10vq.htm"/>
    <lst name="F:\SkyDrive\funproj\cache\asdfasdf\c00945e10vq.htm"/>
    <lst name="F:\SkyDrive\funproj\cache\hjmyukt\asfdf06113002_03312010.htm"/>
    <lst name="F:\SkyDrive\funproj\cache\nmvbmnm\saf0q033111.htm"/>
    <lst name="F:\SkyDrive\funproj\cache\lkiullkl\a10-5974_110q.htm"/>
    <lst name="F:\SkyDrive\funproj\cache\jhlhjkl\fdfinal.htm"/>
    <lst name="F:\SkyDrive\funproj\cache\vcbxcbvcx\zynex10q33110_5132010.htm"/>
    <lst name="F:\SkyDrive\funproj\cache\yuiuiou\v185403_10q.htm"/>
</lst>
</response>

The response, no matter JSON or XML, does not have the highlight part at all. I've checked the solrconfig.xml both in local file system and the admin page of the example server. The Highlighting is default on and pre/post are set to ""/"". The example search portal itself works fine with highlight in its results. But since it's not AJAX, there's no way for me to check its result through chrome.

What did I do wrong?

Upvotes: 3

Views: 6220

Answers (2)

AnonGeek
AnonGeek

Reputation: 7938

You have to define the fields using hl.fl which needs to be highlighted. For example, if you want to search and highlight hits in content field, you can use query below:

http://localhost:8983/solr/collection1/select?q=content:keyword&wt=xml&hl=true&hl.q=content:keyword&hl.fl=content

By default highlighting response returns only one snippet,even if your field have multiple hits. Also the length of snippet(fragsize) is set to 100 chars by default.

You can use hl.snippets and hl.fragsize to modify them.

For example, to modify fragsize:

http://localhost:8983/solr/collection1/select?q=content:keyword&wt=xml&hl=true&hl.q=content:keyword&hl.fl=content&hl.fragsize=5000

Passing hl.fragsize=0 will make fragsize unlimited.

For changing number of snippets:

http://localhost:8983/solr/collection1/select?q=content:keyword&wt=xml&hl=true&hl.q=content:keyword&hl.fl=content&hl.snippets=10

Refer to solr wiki for more parameters.

Upvotes: 7

Jayendra
Jayendra

Reputation: 52799

you would need to add the field hl.fl on which the highlighting needs to be enabled.
Default value for the param is blank.

Upvotes: 1

Related Questions