List of usage examples for org.springframework.data.elasticsearch.core.query CriteriaQuery CriteriaQuery
public CriteriaQuery(Criteria criteria)
From source file:example.springdata.elasticsearch.conference.ElasticsearchOperationsTest.java
@Test public void textSearch() throws ParseException { String expectedDate = "2014-10-29"; String expectedWord = "java"; CriteriaQuery query = new CriteriaQuery(new Criteria("_all").contains(expectedWord) .and(new Criteria("date").greaterThanEqual(expectedDate))); List<Conference> result = operations.queryForList(query, Conference.class); assertThat(result, hasSize(3));/* w ww .ja v a 2 s . c o m*/ for (Conference conference : result) { assertThat(conference.getKeywords(), hasItem(expectedWord)); assertThat(format.parse(conference.getDate()), greaterThan(format.parse(expectedDate))); } }
From source file:example.springdata.elasticsearch.conference.ElasticsearchOperationsTest.java
@Test public void geoSpatialSearch() { GeoPoint startLocation = new GeoPoint(50.0646501D, 19.9449799D); String range = "330mi"; // or 530km CriteriaQuery query = new CriteriaQuery(new Criteria("location").within(startLocation, range)); List<Conference> result = operations.queryForList(query, Conference.class); assertThat(result, hasSize(2));//from w ww.j a v a2s . co m }
From source file:example.springdata.elasticsearch.ElasticsearchOperationsTest.java
@Test public void geoSpatialSearch() { String startLocation = "50.0646501,19.9449799"; String range = "330mi"; // or 530km CriteriaQuery query = new CriteriaQuery(new Criteria("location").within(startLocation, range)); List<Conference> result = operations.queryForList(query, Conference.class); assertThat(result, hasSize(2));/*from w ww. j av a2s . co m*/ }
From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java
@Test public void shouldReturnCountForGivenCriteriaQuery() { // given//w w w .j ava 2 s . 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()); // 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 shouldExecuteGivenCriteriaQuery() { // given/*from w w w . j a v a 2s. co m*/ String documentId = randomNumeric(5); SampleEntity sampleEntity = SampleEntity.builder().id(documentId).message("test message") .version(System.currentTimeMillis()).build(); IndexQuery indexQuery = getIndexQuery(sampleEntity); elasticsearchTemplate.index(indexQuery); elasticsearchTemplate.refresh(SampleEntity.class); CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria("message").contains("test")); // when SampleEntity sampleEntity1 = elasticsearchTemplate.queryForObject(criteriaQuery, SampleEntity.class); // then assertThat(sampleEntity1, is(notNullValue())); }
From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java
@Test public void shouldDeleteGivenCriteriaQuery() throws InterruptedException { // given//from w ww. jav a2s . c o m String documentId = randomNumeric(5); SampleEntity sampleEntity = SampleEntity.builder().id(documentId).message("test message") .version(System.currentTimeMillis()).build(); IndexQuery indexQuery = getIndexQuery(sampleEntity); elasticsearchTemplate.index(indexQuery); elasticsearchTemplate.refresh(SampleEntity.class); CriteriaQuery criteriaQuery = new CriteriaQuery(new Criteria("message").contains("test")); // when elasticsearchTemplate.delete(criteriaQuery, SampleEntity.class); elasticsearchTemplate.refresh(SampleEntity.class); // then StringQuery stringQuery = new StringQuery(matchAllQuery().toString()); List<SampleEntity> sampleEntities = elasticsearchTemplate.queryForList(stringQuery, SampleEntity.class); assertThat(sampleEntities.size(), is(0)); }
From source file:com.github.vanroy.springdata.jest.JestElasticsearchTemplateTests.java
@Test public void shouldReturnResultsWithScanAndScrollForGivenCriteriaQuery() { //given/*from ww w . j a va 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/*w ww . j a va 2s .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.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 a va2 s.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// ww w . j av a2 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.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))); }