@@ -53,26 +53,27 @@ public boolean isCopyContentFormatter() {
5353
5454 private List <Document > doSplitDocuments (List <Document > documents ) {
5555 List <String > texts = new ArrayList <>();
56- Map <String , Object > metadata = new HashMap <>();
56+ List < Map <String , Object >> metadataList = new ArrayList <>();
5757 List <ContentFormatter > formatters = new ArrayList <>();
5858
5959 for (Document doc : documents ) {
6060 texts .add (doc .getContent ());
61- metadata . putAll (doc .getMetadata ());
61+ metadataList . add (doc .getMetadata ());
6262 formatters .add (doc .getContentFormatter ());
6363 }
6464
65- return createDocuments (texts , formatters , metadata );
65+ return createDocuments (texts , formatters , metadataList );
6666 }
6767
6868 private List <Document > createDocuments (List <String > texts , List <ContentFormatter > formatters ,
69- Map <String , Object > metadata ) {
69+ List < Map <String , Object >> metadataList ) {
7070
7171 // Process the data in a column oriented way and recreate the Document
7272 List <Document > documents = new ArrayList <>();
7373
7474 for (int i = 0 ; i < texts .size (); i ++) {
7575 String text = texts .get (i );
76+ Map <String , Object > metadata = metadataList .get (i );
7677 List <String > chunks = splitText (text );
7778 if (chunks .size () > 1 ) {
7879 logger .info ("Splitting up document into " + chunks .size () + " chunks." );
0 commit comments