Github user dsmiley commented on a diff in the pull request:

    https://github.com/apache/lucene-solr/pull/395#discussion_r194761432
  
    --- Diff: solr/core/src/java/org/apache/solr/handler/loader/JsonLoader.java 
---
    @@ -664,8 +672,38 @@ private Object parseSingleFieldValue(int ev, String 
fieldName) throws IOExceptio
             if (ev == JSONParser.ARRAY_END) {
               return lst;
             }
    -        Object val = parseSingleFieldValue(ev, fieldName);
    +        Object val = parseSingleFieldValue(ev, sif);
             lst.add(val);
    +        sif.setValue(null);
    +      }
    +    }
    +
    +    private boolean isChildDoc(SolrInputDocument extendedMap) {
    +      return 
extendedMap.containsKey(req.getSchema().getUniqueKeyField().getName());
    +    }
    +
    +    private boolean entryIsChildDoc(Object val) {
    +      if(val instanceof List) {
    +        List listVal = (List) val;
    +        if (listVal.size() == 0) return false;
    +        return  listVal.get(0) instanceof Map;
    +      }
    +      return val instanceof Map;
    +    }
    +
    +    private SolrInputDocument generateExtendedValueDoc(int ev) throws 
IOException {
    +      assert ev == JSONParser.OBJECT_START;
    +      SolrInputDocument extendedInfo = new SolrInputDocument();
    +
    +      while(true) {
    +        ev = parser.nextEvent();
    +        if (ev == JSONParser.OBJECT_END) {
    +          return extendedInfo;
    +        }
    +        String label = parser.getString();
    +        SolrInputField sif = new SolrInputField(label);
    +        parseFieldValue(sif);
    +        extendedInfo.addField(label, sif.getValue());
    --- End diff --
    
    I think you can use extendedInfo.putField(key,SolrInputField) here?  Oh I 
see comments elsewhere in this file explaining why addField is used; maybe 
copy-paste those comments?


---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to