lucene 4: field visitors shouldn't return fields that were not present in the visited document

This commit is contained in:
Igor Motov 2012-11-12 21:13:48 -05:00
parent 258244ef37
commit ea2732a967
4 changed files with 18 additions and 6 deletions

View File

@ -50,7 +50,9 @@ public class SourceFieldVisitor extends BaseFieldVisitor {
@Override
public Document createDocument() {
Document document = new Document();
document.add(new StoredField(SourceFieldMapper.NAME, source));
if (source != null) {
document.add(new StoredField(SourceFieldMapper.NAME, source));
}
return document;
}

View File

@ -40,8 +40,12 @@ public class UidAndRoutingFieldVisitor extends BaseFieldVisitor {
@Override
public Document createDocument() {
Document document = new Document();
document.add(new StoredField(UidFieldMapper.NAME, uid));
document.add(new StoredField(SourceFieldMapper.NAME, routing));
if (uid != null) {
document.add(new StoredField(UidFieldMapper.NAME, uid));
}
if (routing != null) {
document.add(new StoredField(SourceFieldMapper.NAME, routing));
}
return document;
}

View File

@ -40,8 +40,12 @@ public class UidAndSourceFieldVisitor extends BaseFieldVisitor {
@Override
public Document createDocument() {
Document document = new Document();
document.add(new StoredField(UidFieldMapper.NAME, uid));
document.add(new StoredField(SourceFieldMapper.NAME, source));
if (uid != null) {
document.add(new StoredField(UidFieldMapper.NAME, uid));
}
if (source != null) {
document.add(new StoredField(SourceFieldMapper.NAME, source));
}
return document;
}

View File

@ -53,7 +53,9 @@ public class UidFieldVisitor extends BaseFieldVisitor {
@Override
public Document createDocument() {
Document document = new Document();
document.add(new StoredField(UidFieldMapper.NAME, uid));
if (uid != null) {
document.add(new StoredField(UidFieldMapper.NAME, uid));
}
return document;
}