diff options
Diffstat (limited to 'core/src/main/java/org/elasticsearch/search/fetch/subphase/ParentFieldSubFetchPhase.java')
-rw-r--r-- | core/src/main/java/org/elasticsearch/search/fetch/subphase/ParentFieldSubFetchPhase.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/core/src/main/java/org/elasticsearch/search/fetch/subphase/ParentFieldSubFetchPhase.java b/core/src/main/java/org/elasticsearch/search/fetch/subphase/ParentFieldSubFetchPhase.java index 00b9686702..0ffef32e42 100644 --- a/core/src/main/java/org/elasticsearch/search/fetch/subphase/ParentFieldSubFetchPhase.java +++ b/core/src/main/java/org/elasticsearch/search/fetch/subphase/ParentFieldSubFetchPhase.java @@ -62,11 +62,11 @@ public final class ParentFieldSubFetchPhase implements FetchSubPhase { public static String getParentId(ParentFieldMapper fieldMapper, LeafReader reader, int docId) { try { SortedDocValues docValues = reader.getSortedDocValues(fieldMapper.name()); - if (docValues == null) { + if (docValues == null || docValues.advanceExact(docId) == false) { // hit has no _parent field. return null; } - BytesRef parentId = docValues.get(docId); + BytesRef parentId = docValues.binaryValue(); return parentId.length > 0 ? parentId.utf8ToString() : null; } catch (IOException e) { throw ExceptionsHelper.convertToElastic(e); |