Skip to content

Commit ea2732a

Browse files
committed
lucene 4: field visitors shouldn't return fields that were not present in the visited document
1 parent 258244e commit ea2732a

File tree

4 files changed

+18
-6
lines changed

4 files changed

+18
-6
lines changed

src/main/java/org/elasticsearch/index/mapper/internal/SourceFieldVisitor.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,9 @@ public void binaryField(FieldInfo fieldInfo, byte[] value) throws IOException {
5050
@Override
5151
public Document createDocument() {
5252
Document document = new Document();
53-
document.add(new StoredField(SourceFieldMapper.NAME, source));
53+
if (source != null) {
54+
document.add(new StoredField(SourceFieldMapper.NAME, source));
55+
}
5456
return document;
5557
}
5658

src/main/java/org/elasticsearch/index/mapper/selector/UidAndRoutingFieldVisitor.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,12 @@ public class UidAndRoutingFieldVisitor extends BaseFieldVisitor {
4040
@Override
4141
public Document createDocument() {
4242
Document document = new Document();
43-
document.add(new StoredField(UidFieldMapper.NAME, uid));
44-
document.add(new StoredField(SourceFieldMapper.NAME, routing));
43+
if (uid != null) {
44+
document.add(new StoredField(UidFieldMapper.NAME, uid));
45+
}
46+
if (routing != null) {
47+
document.add(new StoredField(SourceFieldMapper.NAME, routing));
48+
}
4549
return document;
4650
}
4751

src/main/java/org/elasticsearch/index/mapper/selector/UidAndSourceFieldVisitor.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,12 @@ public class UidAndSourceFieldVisitor extends BaseFieldVisitor {
4040
@Override
4141
public Document createDocument() {
4242
Document document = new Document();
43-
document.add(new StoredField(UidFieldMapper.NAME, uid));
44-
document.add(new StoredField(SourceFieldMapper.NAME, source));
43+
if (uid != null) {
44+
document.add(new StoredField(UidFieldMapper.NAME, uid));
45+
}
46+
if (source != null) {
47+
document.add(new StoredField(SourceFieldMapper.NAME, source));
48+
}
4549
return document;
4650
}
4751

src/main/java/org/elasticsearch/index/mapper/selector/UidFieldVisitor.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,9 @@ public Status needsField(FieldInfo fieldInfo) throws IOException {
5353
@Override
5454
public Document createDocument() {
5555
Document document = new Document();
56-
document.add(new StoredField(UidFieldMapper.NAME, uid));
56+
if (uid != null) {
57+
document.add(new StoredField(UidFieldMapper.NAME, uid));
58+
}
5759
return document;
5860
}
5961

0 commit comments

Comments
 (0)