Example usage for org.apache.solr.common SolrInputDocument iterator

List of usage examples for org.apache.solr.common SolrInputDocument iterator

Introduction

In this page you can find the example usage for org.apache.solr.common SolrInputDocument iterator.

Prototype

@Override
    public Iterator<SolrInputField> iterator() 

Source Link

Usage

From source file:com.nominanuda.solr.SolrHelper.java

License:Apache License

public DataObject sid2DataObject(SolrInputDocument sid) {
    Map<String, Object> m = new LinkedHashMap<String, Object>();
    Iterator<SolrInputField> itr = sid.iterator();
    while (itr.hasNext()) {
        SolrInputField f = itr.next();//www .j a v  a 2s. com
        m.put(f.getName(), f.getValue());
    }
    return solrDoc2DataObject(m);
}

From source file:org.craftercms.search.service.impl.RenameFieldsIfMultiValuePostProcessor.java

License:Open Source License

@Override
public void postProcess(SolrInputDocument solrDoc) {
    String id = solrDoc.getFieldValue(idFieldName).toString();
    List<SolrInputField> renamedFields = new ArrayList<>();

    // Remap single value fields to multi value fields if they have more than one value
    for (Iterator<SolrInputField> iter = solrDoc.iterator(); iter.hasNext();) {
        SolrInputField field = iter.next();
        SolrInputField renamedField = renameFieldIfMultiValue(id, field);

        if (renamedField != null) {
            renamedFields.add(renamedField);

            iter.remove();//  w  w  w  .j a  va2 s . c  o m
        }
    }

    for (SolrInputField renamedField : renamedFields) {
        solrDoc.put(renamedField.getName(), renamedField);
    }

    // Do the same for child docs
    if (solrDoc.hasChildDocuments()) {
        for (SolrInputDocument childDoc : solrDoc.getChildDocuments()) {
            postProcess(childDoc);
        }
    }
}

From source file:org.topicquests.solrsherlock.interceptor.tests.FirstTest.java

License:Apache License

Map<String, Object> _toMap(SolrInputDocument doc) {
    Map<String, Object> result = new HashMap<String, Object>();
    Iterator<SolrInputField> itr = doc.iterator();
    SolrInputField f;//from w  w  w  .j  ava 2 s  .  c  o m
    Object v;
    String key;
    while (itr.hasNext()) {
        f = itr.next();
        //         System.out.println(f);
        v = f.getValue();
        //         System.out.println("  "+v);
        key = f.getName();
        result.put(key, v);
    }
    return result;
}