private void addToIndex(String projectUuid, String name) { esClient.prepareIndex(INDEX_TYPE_FOO) .setRouting(projectUuid) .setParent(projectUuid) .setSource(ImmutableMap.of( FooIndexDefinition.FIELD_NAME, name, FooIndexDefinition.FIELD_PROJECT_UUID, projectUuid)) .get(); }
private IndexRequest newIndexRequest(IssueDoc issue) { String projectUuid = issue.projectUuid(); return esClient.prepareIndex(INDEX_TYPE_ISSUE) .setId(issue.key()) .setRouting(projectUuid) .setParent(projectUuid) .setSource(issue.getFields()) .request(); }
@Override protected IndexRequestBuilder completeIndexRequestBuilder(IndexRequestBuilder requestBuilder, String resourceName, EntityContentProducer ecp, boolean includeContent) { return requestBuilder.setRouting(ecp.getSiteId(resourceName)); }
protected void addRandomDocuments(String name, int numDocs) throws ExecutionException, InterruptedException { IndexRequestBuilder[] indexRequestBuilders = new IndexRequestBuilder[numDocs]; for (int i = 0; i < numDocs; i++) { indexRequestBuilders[i] = client().prepareIndex(name, name, Integer.toString(i)) .setRouting(randomAlphaOfLength(randomIntBetween(1, 10))).setSource("field", "value"); } indexRandom(true, indexRequestBuilders); }
public void addElement(Element element, String index, String routing, boolean create) { IndexRequestBuilder indexRequest = client.prepareIndex(index, element.label(), element.id().toString()) .setSource(propertiesMap(element)).setRouting(routing).setCreate(create); if(bulkRequest != null) bulkRequest.add(indexRequest); else indexRequest.execute().actionGet(); revision++; }
/** * ルーティングIDに関係なくバルクでドキュメントを登録. * @param index インデックス名 * @param bulkMap バルクドキュメント * @return ES応答 */ public DcBulkResponse asyncBulkCreate( String index, Map<String, List<EsBulkRequest>> bulkMap) { BulkRequestBuilder bulkRequest = esTransportClient.prepareBulk(); // ルーティングIDごとにバルク登録を行うと効率が悪いため、引数で渡されたEsBulkRequestは全て一括登録する。 // また、バルク登録後にactionGet()すると同期実行となるため、ここでは実行しない。 // このため、execute()のレスポンスを返却し、呼び出し側でactionGet()してからレスポンスチェック、リフレッシュすること。 for (Entry<String, List<EsBulkRequest>> ents : bulkMap.entrySet()) { for (EsBulkRequest data : ents.getValue()) { IndexRequestBuilder req = esTransportClient. prepareIndex(index, data.getType(), data.getId()).setSource(data.getSource()); if (routingFlag) { req = req.setRouting(ents.getKey()); } bulkRequest.add(req); } } DcBulkResponse response = DcBulkResponseImpl.getInstance(bulkRequest.execute().actionGet()); return response; }
indexRequestBuilder.setRouting(routing);
/** * バルクリクエストのINDEXリクエストを作成する. * @param index インデックス名 * @param routingId ルーティングID * @param data バルクドキュメント情報 * @return 作成したINDEXリクエスト */ private IndexRequestBuilder createIndexRequest(String index, String routingId, EsBulkRequest data) { IndexRequestBuilder request = esTransportClient. prepareIndex(index, data.getType(), data.getId()).setSource(data.getSource()); if (routingFlag) { request = request.setRouting(routingId); } return request; }
bogusIds.add(Arrays.asList(index, type, id)); builders.add(client().prepareIndex(index, type, id).setSource("{}", XContentType.JSON).setRouting(id));
private IndexRequest newIndexRequest(IssueDoc issue) { String projectUuid = issue.projectUuid(); return esClient.prepareIndex(INDEX_TYPE_ISSUE) .setId(issue.key()) .setRouting(projectUuid) .setParent(projectUuid) .setSource(issue.getFields()) .request(); }
.setConsistencyLevel(WriteConsistencyLevel.DEFAULT).setRefresh(true); if (routingFlag) { req = req.setRouting(routingId);
if (options.getRouting() != null) builder.setRouting(options.getRouting()); if (options.getParent() != null) builder.setParent(options.getParent()); if (options.getOpType() != null) builder.setOpType(options.getOpType());