Example usage for org.springframework.data.elasticsearch.core.query UpdateQueryBuilder UpdateQueryBuilder

List of usage examples for org.springframework.data.elasticsearch.core.query UpdateQueryBuilder UpdateQueryBuilder

Introduction

In this page you can find the example usage for org.springframework.data.elasticsearch.core.query UpdateQueryBuilder UpdateQueryBuilder.

Prototype

UpdateQueryBuilder

Source Link

Usage

From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java

@Test
public void shouldDoBulkUpdate() {
    //given//  w  w  w.java2s.  c o m
    String documentId = randomNumeric(5);
    String messageBeforeUpdate = "some test message";
    String messageAfterUpdate = "test message";

    SampleEntity sampleEntity = SampleEntity.builder().id(documentId).message(messageBeforeUpdate)
            .version(System.currentTimeMillis()).build();

    IndexQuery indexQuery = getIndexQuery(sampleEntity);

    elasticsearchTemplate.index(indexQuery);
    elasticsearchTemplate.refresh(SampleEntity.class);

    IndexRequest indexRequest = new IndexRequest();
    indexRequest.source("message", messageAfterUpdate);
    UpdateQuery updateQuery = new UpdateQueryBuilder().withId(documentId).withClass(SampleEntity.class)
            .withIndexRequest(indexRequest).build();

    List<UpdateQuery> queries = new ArrayList<>();
    queries.add(updateQuery);

    // when
    elasticsearchTemplate.bulkUpdate(queries);
    //then
    GetQuery getQuery = new GetQuery();
    getQuery.setId(documentId);
    SampleEntity indexedEntity = elasticsearchTemplate.queryForObject(getQuery, SampleEntity.class);
    assertThat(indexedEntity.getMessage(), is(messageAfterUpdate));
}

From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java

@Test
public void shouldDoPartialUpdateForExistingDocument() {
    //given//w w  w.j av  a 2  s .  c  o  m
    String documentId = randomNumeric(5);
    String messageBeforeUpdate = "some test message";
    String messageAfterUpdate = "test message";

    SampleEntity sampleEntity = SampleEntity.builder().id(documentId).message(messageBeforeUpdate)
            .version(System.currentTimeMillis()).build();

    IndexQuery indexQuery = getIndexQuery(sampleEntity);

    elasticsearchTemplate.index(indexQuery);
    elasticsearchTemplate.refresh(SampleEntity.class);

    IndexRequest indexRequest = new IndexRequest();
    indexRequest.source("message", messageAfterUpdate);
    UpdateQuery updateQuery = new UpdateQueryBuilder().withId(documentId).withClass(SampleEntity.class)
            .withIndexRequest(indexRequest).build();
    // when
    elasticsearchTemplate.update(updateQuery);
    //then
    GetQuery getQuery = new GetQuery();
    getQuery.setId(documentId);
    SampleEntity indexedEntity = elasticsearchTemplate.queryForObject(getQuery, SampleEntity.class);
    assertThat(indexedEntity.getMessage(), is(messageAfterUpdate));
}

From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java

@Test(expected = DocumentMissingException.class)
@Ignore("Not yet implemented with Jest")
public void shouldThrowExceptionIfDocumentDoesNotExistWhileDoingPartialUpdate() {
    // when/*from w ww  .ja va2s  . c om*/
    IndexRequest indexRequest = new IndexRequest();
    UpdateQuery updateQuery = new UpdateQueryBuilder().withId(randomNumeric(5)).withClass(SampleEntity.class)
            .withIndexRequest(indexRequest).build();
    elasticsearchTemplate.update(updateQuery);
}

From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java

@Test
public void shouldDoUpsertIfDocumentDoesNotExist() {
    //given/* w ww.j  av a  2 s.  co  m*/
    String documentId = randomNumeric(5);
    String message = "test message";
    IndexRequest indexRequest = new IndexRequest();
    indexRequest.source("message", message);
    UpdateQuery updateQuery = new UpdateQueryBuilder().withId(documentId).withDoUpsert(true)
            .withClass(SampleEntity.class).withIndexRequest(indexRequest).build();
    //when
    elasticsearchTemplate.update(updateQuery);
    //then
    GetQuery getQuery = new GetQuery();
    getQuery.setId(documentId);
    SampleEntity indexedEntity = elasticsearchTemplate.queryForObject(getQuery, SampleEntity.class);
    assertThat(indexedEntity.getMessage(), is(message));
}

From source file:org.springframework.data.elasticsearch.core.ElasticsearchTemplateTests.java

@Test
public void shouldDoPartialUpdateForExistingDocument() {
    //given/*from w  ww  .j  av  a  2 s  .co  m*/
    String documentId = randomNumeric(5);
    String messageBeforeUpdate = "some test message";
    String messageAfterUpdate = "test message";

    SampleEntity sampleEntity = new SampleEntity();
    sampleEntity.setId(documentId);
    sampleEntity.setMessage(messageBeforeUpdate);
    sampleEntity.setVersion(System.currentTimeMillis());

    IndexQuery indexQuery = new IndexQuery();
    indexQuery.setId(documentId);
    indexQuery.setObject(sampleEntity);

    elasticsearchTemplate.index(indexQuery);
    elasticsearchTemplate.refresh(SampleEntity.class, true);

    IndexRequest indexRequest = new IndexRequest();
    indexRequest.source("message", messageAfterUpdate);
    UpdateQuery updateQuery = new UpdateQueryBuilder().withId(documentId).withClass(SampleEntity.class)
            .withIndexRequest(indexRequest).build();
    // when
    elasticsearchTemplate.update(updateQuery);
    //then
    GetQuery getQuery = new GetQuery();
    getQuery.setId(documentId);
    SampleEntity indexedEntity = elasticsearchTemplate.queryForObject(getQuery, SampleEntity.class);
    assertThat(indexedEntity.getMessage(), is(messageAfterUpdate));
}

From source file:org.springframework.data.elasticsearch.core.ElasticsearchTemplateTests.java

@Test(expected = DocumentMissingException.class)
public void shouldThrowExceptionIfDocumentDoesNotExistWhileDoingPartialUpdate() {
    // when/*ww w  .  j  a  va  2 s  .  c  om*/
    IndexRequest indexRequest = new IndexRequest();
    UpdateQuery updateQuery = new UpdateQueryBuilder().withId(randomNumeric(5)).withClass(SampleEntity.class)
            .withIndexRequest(indexRequest).build();
    elasticsearchTemplate.update(updateQuery);
}