用pysolr显示高亮显示

时间:2014-04-08 03:34:09

标签: python html xml solr pysolr

我有一个看起来像这样的solr文档:

<response>
    <result>
    ...
    </result>
    <lst name="highlighting">
        <lst name="vda.a">
            <arr name="illusDesc">
                <str>
                    Four (possibly five) female <em>figures</em> huddle together in contracted postures. The two largest
                </str>
            </arr>
        </lst>
        <lst name="vda.b">
            <arr name="illusDesc">
                <str>
                   blah blah <em>figures</em> blha blah blha
                </str>
            </arr>
        </lst>
    </lst>
</response>

如何遍历突出显示元素?

我在html文件中有这个:

    {% for result in results %}
                <ul>
                    <li>Id: <a href="#">{{ result.id }}</a></li>
                    <li>Illustration Description: {{ result.highlighting }}</li>                             
                </ul>
    {% endfor %}

但当然它会在高光下打印所有文字。我想迭代它来为每个返回的对象打印illusDesc文本。 'results'是pySolr Results对象。

感谢。

1 个答案:

答案 0 :(得分:0)

results.docs包含您正在迭代的Solr文档。 results.highlighting包含Solr突出显示。您可以使用其ID作为results.highlighting中的键来访问文档的突出显示。 E.g:

results.highlighting[result['id']]['content']