List of usage examples for org.springframework.data.elasticsearch.core.query Criteria Criteria
public Criteria()
From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java
@Test public void shouldReturnCountForGivenCriteriaQuery() { // given//ww w . j a va 2 s . c om String documentId = randomNumeric(5); SampleEntity sampleEntity = SampleEntity.builder().id(documentId).message("some message") .version(System.currentTimeMillis()).build(); IndexQuery indexQuery = getIndexQuery(sampleEntity); elasticsearchTemplate.index(indexQuery); elasticsearchTemplate.refresh(SampleEntity.class); CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria()); // when long count = elasticsearchTemplate.count(criteriaQuery, SampleEntity.class); // then assertThat(count, is(equalTo(1L))); }
From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java
@Test public void shouldReturnResultsWithScanAndScrollForGivenCriteriaQuery() { //given//from ww w.j a v a 2 s . c o m List<IndexQuery> entities = createSampleEntitiesWithMessage("Test message", 30); // when elasticsearchTemplate.bulkIndex(entities); elasticsearchTemplate.refresh(SampleEntity.class); // then CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria()); criteriaQuery.addIndices(INDEX_NAME); criteriaQuery.addTypes(TYPE_NAME); criteriaQuery.setPageable(new PageRequest(0, 10)); String scrollId = elasticsearchTemplate.scan(criteriaQuery, 1000, false); List<SampleEntity> sampleEntities = new ArrayList<>(); boolean hasRecords = true; while (hasRecords) { Page<SampleEntity> page = elasticsearchTemplate.scroll(scrollId, 5000L, SampleEntity.class); if (page.hasContent()) { sampleEntities.addAll(page.getContent()); } else { hasRecords = false; } } elasticsearchTemplate.clearScroll(scrollId); assertThat(sampleEntities.size(), is(equalTo(30))); assertThat(sampleEntities, containsInAnyOrder( entities.stream().map(IndexQuery::getObject).map(Matchers::equalTo).collect(Collectors.toList()))); }
From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java
@Test public void shouldReturnResultsWithScanAndScrollForSpecifiedFieldsForCriteriaCriteria() { //given//from ww w .j av a 2 s .c o m List<IndexQuery> entities = createSampleEntitiesWithMessage("Test message", 30); // when elasticsearchTemplate.bulkIndex(entities); elasticsearchTemplate.refresh(SampleEntity.class); // then CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria()); criteriaQuery.addIndices(INDEX_NAME); criteriaQuery.addTypes(TYPE_NAME); criteriaQuery.addFields("message"); criteriaQuery.setPageable(new PageRequest(0, 10)); String scrollId = elasticsearchTemplate.scan(criteriaQuery, 5000, false); List<SampleEntity> sampleEntities = new ArrayList<SampleEntity>(); boolean hasRecords = true; while (hasRecords) { Page<SampleEntity> page = elasticsearchTemplate.scroll(scrollId, 5000L, new JestScrollResultMapper() { @Override public <T> Page<T> mapResults(SearchScrollResult response, Class<T> clazz) { List<SampleEntity> result = new ArrayList<SampleEntity>(); for (SearchScrollResult.Hit<JsonObject, Void> searchHit : response.getHits(JsonObject.class)) { String message = searchHit.fields.get("message").get(0); SampleEntity sampleEntity = new SampleEntity(); sampleEntity.setId(searchHit.source.get(JestResult.ES_METADATA_ID).getAsString()); sampleEntity.setMessage(message); result.add(sampleEntity); } if (result.size() > 0) { return new PageImpl<T>((List<T>) result); } return null; } }); if (page != null) { sampleEntities.addAll(page.getContent()); } else { hasRecords = false; } } elasticsearchTemplate.clearScroll(scrollId); assertThat(sampleEntities.size(), is(equalTo(30))); }
From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java
@Test public void shouldReturnResultsForScanAndScrollWithCustomResultMapperForGivenCriteriaQuery() { //given//w w w . j ava 2s . com List<IndexQuery> entities = createSampleEntitiesWithMessage("Test message", 30); // when elasticsearchTemplate.bulkIndex(entities); elasticsearchTemplate.refresh(SampleEntity.class); // then CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria()); criteriaQuery.addIndices(INDEX_NAME); criteriaQuery.addTypes(TYPE_NAME); criteriaQuery.setPageable(new PageRequest(0, 10)); String scrollId = elasticsearchTemplate.scan(criteriaQuery, 5000, false); List<SampleEntity> sampleEntities = new ArrayList<SampleEntity>(); boolean hasRecords = true; while (hasRecords) { Page<SampleEntity> page = elasticsearchTemplate.scroll(scrollId, 5000L, new JestScrollResultMapper() { @Override public <T> Page<T> mapResults(SearchScrollResult response, Class<T> clazz) { List<SampleEntity> chunk = new ArrayList<SampleEntity>(); for (SearchScrollResult.Hit<JsonObject, Void> searchHit : response.getHits(JsonObject.class)) { if (response.getHits(JsonObject.class).size() <= 0) { return null; } SampleEntity user = new SampleEntity(); user.setId(searchHit.source.get(JestResult.ES_METADATA_ID).getAsString()); user.setMessage((String) searchHit.source.get("message").getAsString()); chunk.add(user); } if (chunk.size() > 0) { return new PageImpl<T>((List<T>) chunk); } return null; } }); if (page != null) { sampleEntities.addAll(page.getContent()); } else { hasRecords = false; } } elasticsearchTemplate.clearScroll(scrollId); assertThat(sampleEntities.size(), is(equalTo(30))); }
From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java
@Test public void shouldReturnResultsWithScanAndScrollForGivenCriteriaQueryAndClass() { //given//from www. j a va 2 s . co m List<IndexQuery> entities = createSampleEntitiesWithMessage("Test message", 30); // when elasticsearchTemplate.bulkIndex(entities); elasticsearchTemplate.refresh(SampleEntity.class); // then CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria()); criteriaQuery.setPageable(new PageRequest(0, 10)); String scrollId = elasticsearchTemplate.scan(criteriaQuery, 1000, false, SampleEntity.class); List<SampleEntity> sampleEntities = new ArrayList<SampleEntity>(); boolean hasRecords = true; while (hasRecords) { Page<SampleEntity> page = elasticsearchTemplate.scroll(scrollId, 5000L, SampleEntity.class); if (page.hasContent()) { sampleEntities.addAll(page.getContent()); } else { hasRecords = false; } } elasticsearchTemplate.clearScroll(scrollId); assertThat(sampleEntities.size(), is(equalTo(30))); }
From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java
@Test public void shouldReturnResultsWithStreamForGivenCriteriaQuery() { //given// w w w . j a v a2s.co m List<IndexQuery> entities = createSampleEntitiesWithMessage("Test message", 30); // when elasticsearchTemplate.bulkIndex(entities); elasticsearchTemplate.refresh(SampleEntity.class); // then CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria()); criteriaQuery.addIndices(INDEX_NAME); criteriaQuery.addTypes(TYPE_NAME); criteriaQuery.setPageable(new PageRequest(0, 10)); CloseableIterator<SampleEntity> stream = elasticsearchTemplate.stream(criteriaQuery, SampleEntity.class); List<SampleEntity> sampleEntities = new ArrayList<SampleEntity>(); while (stream.hasNext()) { sampleEntities.add(stream.next()); } assertThat(sampleEntities.size(), is(equalTo(30))); }
From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java
@Test public void shouldReturnCountForGivenCriteriaQueryWithGivenIndexUsingCriteriaQuery() { // given// ww w . j av a 2s . c o m String documentId = randomNumeric(5); SampleEntity sampleEntity = SampleEntity.builder().id(documentId).message("some message") .version(System.currentTimeMillis()).build(); IndexQuery indexQuery = getIndexQuery(sampleEntity); elasticsearchTemplate.index(indexQuery); elasticsearchTemplate.refresh(SampleEntity.class); CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria()); criteriaQuery.addIndices("test-index"); // when long count = elasticsearchTemplate.count(criteriaQuery); // then assertThat(count, is(equalTo(1L))); }
From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java
@Test public void shouldReturnCountForGivenCriteriaQueryWithGivenIndexAndTypeUsingCriteriaQuery() { // given/* w w w . ja v a 2s. c o m*/ String documentId = randomNumeric(5); SampleEntity sampleEntity = SampleEntity.builder().id(documentId).message("some message") .version(System.currentTimeMillis()).build(); IndexQuery indexQuery = getIndexQuery(sampleEntity); elasticsearchTemplate.index(indexQuery); elasticsearchTemplate.refresh(SampleEntity.class); CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria()); criteriaQuery.addIndices("test-index"); criteriaQuery.addTypes("test-type"); // when long count = elasticsearchTemplate.count(criteriaQuery); // then assertThat(count, is(equalTo(1L))); }
From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java
@Test public void shouldReturnCountForGivenCriteriaQueryWithGivenMultiIndices() { // given// ww w. j av a 2 s . c o m cleanUpIndices(); String documentId1 = randomNumeric(5); SampleEntity sampleEntity1 = SampleEntity.builder().id(documentId1).message("some message") .version(System.currentTimeMillis()).build(); IndexQuery indexQuery1 = new IndexQueryBuilder().withId(sampleEntity1.getId()).withIndexName("test-index-1") .withObject(sampleEntity1).build(); String documentId2 = randomNumeric(5); SampleEntity sampleEntity2 = SampleEntity.builder().id(documentId2).message("some test message") .version(System.currentTimeMillis()).build(); IndexQuery indexQuery2 = new IndexQueryBuilder().withId(sampleEntity2.getId()).withIndexName("test-index-2") .withObject(sampleEntity2).build(); elasticsearchTemplate.bulkIndex(Arrays.asList(indexQuery1, indexQuery2)); elasticsearchTemplate.refresh("test-index-1"); elasticsearchTemplate.refresh("test-index-2"); CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria()); criteriaQuery.addIndices("test-index-1", "test-index-2"); // when long count = elasticsearchTemplate.count(criteriaQuery); // then assertThat(count, is(equalTo(2L))); }
From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java
@Test public void shouldReturnCountForGivenCriteriaQueryWithGivenIndexNameForSpecificIndex() { // given// ww w . j a va 2s .c o m cleanUpIndices(); String documentId1 = randomNumeric(5); SampleEntity sampleEntity1 = SampleEntity.builder().id(documentId1).message("some message") .version(System.currentTimeMillis()).build(); IndexQuery indexQuery1 = new IndexQueryBuilder().withId(sampleEntity1.getId()).withIndexName("test-index-1") .withObject(sampleEntity1).build(); String documentId2 = randomNumeric(5); SampleEntity sampleEntity2 = SampleEntity.builder().id(documentId2).message("some test message") .version(System.currentTimeMillis()).build(); IndexQuery indexQuery2 = new IndexQueryBuilder().withId(sampleEntity2.getId()).withIndexName("test-index-2") .withObject(sampleEntity2).build(); elasticsearchTemplate.bulkIndex(Arrays.asList(indexQuery1, indexQuery2)); elasticsearchTemplate.refresh("test-index-1"); elasticsearchTemplate.refresh("test-index-2"); CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria()); criteriaQuery.addIndices("test-index-1"); // when long count = elasticsearchTemplate.count(criteriaQuery); // then assertThat(count, is(equalTo(1L))); }