3

Solr サンプル サーバーを使用して調査を行っています。キャッシュされたすべてのドキュメント、主にhtmlファイルをフィードした後、ハイライト部分を除いて正常に動作します。

私が使用しているリクエスト URL は次のとおりです。

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

XML 応答は次のとおりです。

<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>

応答は、JSON か XML かに関係なく、ハイライト部分がまったくありません。ローカル ファイル システムとサンプル サーバーの管理ページの両方で solrconfig.xml を確認しました。強調表示はデフォルトでオンになっており、事前/事後は " "/" "に設定されています。サンプルの検索ポータル自体は、結果が強調表示されていても問題なく動作します。しかし、これは AJAX ではないため、Chrome で結果を確認する方法がありません。

私は何を間違えましたか?

4

2 に答える 2

7

強調表示する必要があるフィールドを定義するhl.fl必要があります。たとえば、contentフィールド内のヒットを検索して強調表示する場合は、次のクエリを使用できます。

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

デフォルトでは、フィールドに複数のヒットがある場合でも、応答を強調表示すると 1 つのスニペットのみが返されます。また、スニペットの長さ (fragsize) はデフォルトで 100 文字に設定されています。

hl.snippetsおよびを使用しhl.fragsizeて、それらを変更できます。

たとえば、fragsizeを変更するには:

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

渡すhl.fragsize=0とfragsizeは無制限になります。

スニペットの数を変更する場合:

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

その他のパラメーターについては、 solr wikiを参照してください。

于 2012-11-14T18:14:50.453 に答える
1

強調表示を有効にする必要があるフィールドhl.flを追加する必要があります。
パラメータのデフォルト値は空白です。

于 2012-11-14T08:39:27.367 に答える