use of org.springframework.data.elasticsearch.core.query.Query in project spring-data-elasticsearch by spring-projects.
the class NestedObjectTests method shouldIndexInitialLevelNestedObject.
@Test
public void shouldIndexInitialLevelNestedObject() {
List<Car> cars = new ArrayList<>();
Car saturn = new Car();
saturn.setName("Saturn");
saturn.setModel("SL");
Car subaru = new Car();
subaru.setName("Subaru");
subaru.setModel("Imprezza");
Car ford = new Car();
ford.setName("Ford");
ford.setModel("Focus");
cars.add(saturn);
cars.add(subaru);
cars.add(ford);
Person foo = new Person();
foo.setName("Foo");
foo.setId("1");
foo.setCar(cars);
Car car = new Car();
car.setName("Saturn");
car.setModel("Imprezza");
Person bar = new Person();
bar.setId("2");
bar.setName("Bar");
bar.setCar(Collections.singletonList(car));
List<IndexQuery> indexQueries = new ArrayList<>();
IndexQuery indexQuery1 = new IndexQuery();
indexQuery1.setId(foo.getId());
indexQuery1.setObject(foo);
IndexQuery indexQuery2 = new IndexQuery();
indexQuery2.setId(bar.getId());
indexQuery2.setObject(bar);
indexQueries.add(indexQuery1);
indexQueries.add(indexQuery2);
IndexCoordinates index = IndexCoordinates.of("test-index-person");
operations.bulkIndex(indexQueries, index);
operations.indexOps(Person.class).refresh();
QueryBuilder builder = nestedQuery("car", boolQuery().must(termQuery("car.name", "saturn")).must(termQuery("car.model", "imprezza")), ScoreMode.None);
Query searchQuery = new NativeSearchQueryBuilder().withQuery(builder).build();
SearchHits<Person> persons = operations.search(searchQuery, Person.class, index);
assertThat(persons).hasSize(1);
}
use of org.springframework.data.elasticsearch.core.query.Query in project spring-data-elasticsearch by spring-projects.
the class SimpleElasticsearchRepository method findAllById.
@Override
public Iterable<T> findAllById(Iterable<ID> ids) {
Assert.notNull(ids, "ids can't be null.");
List<T> result = new ArrayList<>();
Query idQuery = getIdQuery(ids);
if (isEmpty(idQuery.getIds())) {
return result;
}
List<MultiGetItem<T>> multiGetItems = execute(operations -> operations.multiGet(idQuery, entityClass, getIndexCoordinates()));
if (multiGetItems != null) {
multiGetItems.forEach(multiGetItem -> {
if (multiGetItem.hasItem()) {
result.add(multiGetItem.getItem());
}
});
}
return result;
}
use of org.springframework.data.elasticsearch.core.query.Query in project tbbtalentv2 by talentbeyondboundaries.
the class CandidateEsRepositoryTest method givenPersistedArticles_whenUseRegexQuery_thenRightArticlesFound.
// @AfterEach
// public void after() {
// candidateEsRepository.deleteAll();
// }
// @Transactional
// @Test
public void givenPersistedArticles_whenUseRegexQuery_thenRightArticlesFound() {
final Query searchQuery = new NativeSearchQueryBuilder().withQuery(fuzzyQuery("candidateAttachments", "Condell")).build();
final SearchHits<CandidateEs> cands = elasticsearchTemplate.search(searchQuery, CandidateEs.class, IndexCoordinates.of("jobs2"));
assertEquals(1, cands.getTotalHits());
}
use of org.springframework.data.elasticsearch.core.query.Query in project java-spring-boot-2021 by hocyadav.
the class ElasticSearchSpringBootApplication method createClientObject.
/* working */
public void createClientObject() throws IOException {
System.err.println("ElasticSearchSpringBootApplication.createClientObject");
/* create clinet object to call ES database : working - check http://localhost:9200/people/_search */
Query searchQuery = new NativeSearchQueryBuilder().withFilter(regexpQuery("title", ".*data.*")).build();
ClientConfiguration clientConfiguration = ClientConfiguration.builder().connectedTo("localhost:9200").build();
client = RestClients.create(clientConfiguration).rest();
/* create new index if not present & add 1 data : working - check ES url for new data */
String jsonObject = "{\"age\":20,\"dateOfBirth\":1471466076564,\"fullName\":\"John Doe\"}";
IndexRequest request = new IndexRequest("people");
request.source(jsonObject, XContentType.JSON);
IndexResponse response = client.index(request, RequestOptions.DEFAULT);
String index = response.getIndex();
long version = response.getVersion();
System.out.println("index = " + index);
System.out.println("version = " + version);
System.out.println("response = " + response.getResult().toString());
}
Aggregations