@Override protected void compute(CoreSession session, List<String> documentIds, Map<String, Serializable> properties) { long now = Timestamp.currentTimeMicros(); String indexName = getIndexName(session, properties); DocumentModelList docs = loadDocuments(session, documentIds); ElasticSearchIndexing esi = Framework.getService(ElasticSearchIndexing.class); for (DocumentModel doc : docs) { try { append(new IndexRequest(indexName, DOC_TYPE, doc.getId()).source(esi.source(doc), XContentType.JSON) .versionType(VersionType.EXTERNAL) .version(now)); } catch (IOException e) { throw new NuxeoException("Cannot build source for document: " + doc.getId(), e); } } }