1

我有一个看起来像这样的 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 文本。“结果”是一个 pySolr 结果对象。

谢谢。

4

1 回答 1

1

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

results.highlighting[result['id']]['content']
于 2014-05-08T09:40:01.347 回答