mirror of
https://github.com/apache/lucene.git
synced 2025-02-07 02:28:49 +00:00
gh-13340: Allow adding a parent field to an index with no fields (#13341)
This commit is contained in:
parent
40cae087f7
commit
30da7dabe0
@ -1122,6 +1122,7 @@ public class IndexWriter
|
||||
globalFieldNumberMap = getFieldNumberMap();
|
||||
if (create == false
|
||||
&& conf.getParentField() != null
|
||||
&& globalFieldNumberMap.getFieldNames().isEmpty() == false
|
||||
&& globalFieldNumberMap.getFieldNames().contains(conf.getParentField()) == false) {
|
||||
throw new IllegalArgumentException(
|
||||
"can't add a parent field to an already existing index without a parent field");
|
||||
|
@ -4851,7 +4851,9 @@ public class TestIndexWriter extends LuceneTestCase {
|
||||
try (Directory dir = newDirectory()) {
|
||||
IndexWriterConfig iwc = new IndexWriterConfig(new MockAnalyzer(random()));
|
||||
try (IndexWriter writer = new IndexWriter(dir, iwc)) {
|
||||
writer.addDocument(new Document());
|
||||
Document d = new Document();
|
||||
d.add(new TextField("f", "a", Field.Store.NO));
|
||||
writer.addDocument(d);
|
||||
}
|
||||
IllegalArgumentException iae =
|
||||
expectThrows(
|
||||
@ -4959,4 +4961,19 @@ public class TestIndexWriter extends LuceneTestCase {
|
||||
iae.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public void testParentFieldEmptyIndex() throws IOException {
|
||||
try (Directory dir = newMockDirectory()) {
|
||||
IndexWriterConfig iwc = new IndexWriterConfig(new MockAnalyzer(random()));
|
||||
iwc.setParentField("parent");
|
||||
try (IndexWriter writer = new IndexWriter(dir, iwc)) {
|
||||
writer.commit();
|
||||
}
|
||||
IndexWriterConfig iwc2 = new IndexWriterConfig(new MockAnalyzer(random()));
|
||||
iwc2.setParentField("parent");
|
||||
try (IndexWriter writer = new IndexWriter(dir, iwc2)) {
|
||||
writer.commit();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user