对于具有唯一名称的字段,您可以执行doc.field('prop').value
,但是当您尝试使用名称多次出现的字段执行此操作时,您将获得
ValueError: Must have exactly one field with name prop, but found 3.
我查看了Document类的源代码,但是找不到返回与给定名称字段关联的值列表的方法。有没有办法做到这一点?
要清楚,我正在尝试使用Document而不是ScoredDocument。
答案 0 :(得分:2)
查看源代码时,我忽略了以下划线开头的所有方法,因为大多数方法都是私有的,或者像__eq__
这样的方法。我显然不应该这样做,因为文档类实现了__get__
,所以如果文档有多个名为'prop'的字段,你可以执行以下操作来获取它的所有值:
values = [field.value for field in doc['prop']]