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

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

Introduction

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

Prototype

NativeSearchQueryBuilder

Source Link

Usage

From source file:io.curly.bloodhound.query.search.ElasticQueryBuilder.java

public QueryBuilder build(final String query) {
    final MultiValueMap<String, String> valueMap = transpiler.execute(query);
    NativeSearchQueryBuilder builder = new NativeSearchQueryBuilder();
    if (valueMap.containsKey("text")) {
        builder.withQuery(new MultiMatchQueryBuilder(valueMap.get("text").stream().collect(joining()),
                "description", CATEGORY, LANGUAGES, TAGS));
    } else {//from w  ww  .  j a  va2s  .c o  m
        if (valueMap.containsKey(CATEGORY)) {
            builder.withQuery(
                    new MultiMatchQueryBuilder(valueMap.get(CATEGORY).stream().collect(joining()), CATEGORY));
        } else if (valueMap.containsKey(LANGUAGES)) {
            builder.withQuery(
                    new MultiMatchQueryBuilder(valueMap.get(LANGUAGES).stream().collect(joining()), LANGUAGES));
        } else if (valueMap.containsKey(TAGS)) {
            builder.withQuery(new MultiMatchQueryBuilder(valueMap.get(TAGS).stream().collect(joining()), TAGS));
        }
    }
    return builder.build().getQuery();

}

From source file:edu.usc.lunchnlearn.elasticsearch.dao.es.MultiTypeSearchImpl.java

@Override
public Page<BaseItem> findAll(Pageable pageable) {
    SearchQuery searchQuery = new NativeSearchQueryBuilder().withPageable(pageable).withIndices(indexName)
            .withTypes(typeNames).build();

    return elasticsearchTemplate.queryForPage(searchQuery, BaseItem.class);
}

From source file:edu.usc.lunchnlearn.elasticsearch.dao.es.MultiTypeSearchImpl.java

@Override
public Page<BaseItem> findAll(String searchString, Pageable pageable) {
    SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(queryStringQuery(searchString))
            .withPageable(pageable).withIndices(indexName).withTypes(typeNames).build();

    return elasticsearchTemplate.queryForPage(searchQuery, BaseItem.class);
}

From source file:edu.usc.lunchnlearn.elasticsearch.dao.es.MultiTypeSearchImpl.java

@Override
public List<BaseItem> findByItemId(String itemId) {
    SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchQuery("id", itemId))
            .withIndices(indexName).withTypes(typeNames).build();
    return elasticsearchTemplate.queryForList(searchQuery, BaseItem.class);
}

From source file:org.ppollack.symphony.faqbot.elasticsearch.FaqbotQuestionDao.java

@Override
public IPage<FaqbotQuestion> search(String query) {
    SearchQuery searchQuery = new NativeSearchQueryBuilder()
            .withQuery(QueryBuilders.multiMatchQuery(query, "faqtext")).build();
    Page<FaqbotQuestionElasticsearch> page = elasticsearchTemplate.queryForPage(searchQuery,
            FaqbotQuestionElasticsearch.class);

    if (page == null) {
        LOG.warn("spring data elasticsearch returned a null page");
        return null;
    }//from w ww. ja v a 2s.  c om

    return new FaqbotQuestionSpringDataPage(page);
}

From source file:com.oneops.search.msg.processor.NotificationMessageProcessor.java

/**
 * Update ops notifications to CIs/*  ww  w .  j a  va 2  s  .  c o m*/
 *
 * @param notificationMsg notification message to process
 */
private void processNotificationMsg(CmsNotificationSearch notificationMsg) {
    String id = String.valueOf(notificationMsg.getCmsId());

    SearchQuery searchQuery = new NativeSearchQueryBuilder().withIndices(indexer.getIndexName()).withTypes("ci")
            .withQuery(queryStringQuery(id).field("ciId")).build();

    List<CmsCISearch> ciList = indexer.getTemplate().queryForList(searchQuery, CmsCISearch.class);

    if (!ciList.isEmpty()) {
        CmsCISearch ciSearch = ciList.get(0);
        if ("bom.Compute".equals(ciSearch.getCiClassName())) {
            String hypervisor = ciSearch.getCiAttributes().get("hypervisor");
            if (hypervisor != null) {
                notificationMsg.setHypervisor(hypervisor);
            }
        }
        ciSearch.setOps(notificationMsg);
        indexer.index(id, "ci", GSON_ES.toJson(ciSearch));
        logger.info("updated ops notification for ci id::" + id);
    } else {
        logger.warn("ci record not found for id::" + id);
    }
}

From source file:com.github.lothar.security.acl.elasticsearch.repository.AclElasticsearchRepository.java

@Override
public T findOne(ID id) {
    SearchQuery query = new NativeSearchQueryBuilder() //
            .withQuery(and(idsQuery().ids(stringIdRepresentation(id)), aclFilter())) //
            .build();/* ww  w . ja  va 2s . c o  m*/
    List<T> list = elasticsearchOperations.queryForList(query, getEntityClass());
    return list.isEmpty() ? null : list.get(0);
}

From source file:example.springdata.elasticsearch.ElasticsearchOperationsTest.java

@Test
public void termFacet() {

    String termField = "keywords";
    String facetName = "all-keywords";

    FacetedPage<Conference> firstPage = operations.queryForPage(//
            new NativeSearchQueryBuilder().//
                    withQuery(matchAllQuery()).//
                    withFacet(new TermFacetRequestBuilder(facetName).//
                            allTerms().//
                            descCount().//
                            fields(termField).build())
                    .//
                    build(),// w  ww  . j a  va2 s .c o m
            Conference.class);

    TermResult facet = (TermResult) firstPage.getFacet(facetName);

    assertThat(facet.getTerms(), hasSize(8));

    facet.getTerms().forEach(term -> {
        assertThat(term.getTerm(),
                isOneOf("java", "spring", "scala", "play", "elasticsearch", "kibana", "cloud", "aws"));
    });
}

From source file:com.github.lothar.security.acl.elasticsearch.repository.AclElasticsearchRepository.java

@Override
public Page<T> findAll(Pageable pageable) {
    SearchQuery query = new NativeSearchQueryBuilder() //
            .withQuery(and(matchAllQuery(), aclFilter())) //
            .withPageable(pageable) //
            .build();//www.  ja  v a 2  s. c  o  m
    return elasticsearchOperations.queryForPage(query, getEntityClass());
}

From source file:com.company.project.data.elasticsearch.service.UserESService.java

public void crud() {
    //elasticsearchTemplate.deleteIndex("xxx");
    //elasticsearchTemplate.createIndex("xxx");
    elasticsearchTemplate.deleteIndex(User.class);
    elasticsearchTemplate.createIndex(User.class);
    elasticsearchTemplate.putMapping(User.class);
    elasticsearchTemplate.refresh(User.class, true);

    IndexQuery userIndex = new IndexQuery();
    User user = new User();
    user.setId("1");
    user.setName("user1");
    userIndex.setId("1");
    userIndex.setObject(user);/*from   w  ww .  j  a  v  a 2  s .  c  om*/
    //elasticsearchTemplate.index(userIndex);
    //elasticsearchTemplate.index(new IndexQueryBuilder().withObject(user).build());
    IndexQuery indexQuery2 = new IndexQueryBuilder().withId(user.getId()).withIndexName("xuseridx")
            .withObject(user).build();
    elasticsearchTemplate.bulkIndex(Arrays.asList(indexQuery2));

    //        userIndex = new IndexQuery();
    //        user = new User();
    //        user.setId("2");
    //        user.setName("user2");
    //        userIndex.setId("2");
    //        userIndex.setObject(user);
    //        elasticsearchTemplate.index(userIndex);
    //        
    //        userIndex = new IndexQuery();
    //        user = new User();
    //        user.setId("3");
    //        user.setName("user3");
    //        userIndex.setId("3");
    //        userIndex.setObject(user);
    //        elasticsearchTemplate.index(userIndex);

    elasticsearchTemplate.refresh(User.class, true);

    //QueryBuilder builder = nestedQuery("xuseridx", boolQuery().must(termQuery("xusertype.name", "user2")).must(termQuery("xusertype.name", "user3")));
    //QueryBuilder builder = nestedQuery("xuseridx", boolQuery().must(fieldQuery("name", "user2")).must(fieldQuery("name", "user3")));
    QueryBuilder builder = nestedQuery("xuseridx",
            boolQuery().must(termQuery("xusertype.name", "user2")).must(termQuery("xusertype.name", "user3")));

    //SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(builder).build();
    SearchQuery searchQuery = new NativeSearchQueryBuilder().withQuery(matchAllQuery()).withIndices("xuseridx")
            .build();
    List persons = elasticsearchTemplate.queryForList(searchQuery, User.class);
    System.out.println("People size:" + (persons != null ? persons.size() : null));
}