Package org.elasticsearch.action.search

Examples of org.elasticsearch.action.search.SearchRequestBuilder


        return collectObjects(srb.execute().actionGet());
    }

    public JTag findByTerm(String term) {
        term = JTag.toLowerCaseOnlyOnTerms(term);
        SearchRequestBuilder b = createSearchBuilder().setQuery(
                QueryBuilders.filteredQuery(QueryBuilders.matchAllQuery(),
                FilterBuilders.andFilter(FilterBuilders.termFilter(TERM, term),
                FilterBuilders.missingFilter(USER))));
        return getOne(b);
    }
View Full Code Here


        if (Helper.isEmpty(user))
            return findByTerm(term);

        term = JTag.toLowerCaseOnlyOnTerms(term);
        user = JTag.toLowerCaseOnlyOnTerms(user);
        SearchRequestBuilder b = createSearchBuilder().setQuery(
                QueryBuilders.filteredQuery(QueryBuilders.matchAllQuery(),
                FilterBuilders.andFilter(
                FilterBuilders.termFilter(USER, user),
                FilterBuilders.termFilter(TERM, term))));
        return getOne(b);
View Full Code Here

     * @param filter
     * @return
     */
    public IndexResults<T> fetch(IndexQueryPath indexQueryPath, FilterBuilder filter) {

        SearchRequestBuilder request = getSearchRequestBuilder(indexQueryPath, filter);

        return executeSearchRequest(request);
    }
View Full Code Here

     * @param indexQueryPath
     * @param filter
     * @return
     */
    public F.Promise<IndexResults<T>> fetchAsync(IndexQueryPath indexQueryPath, FilterBuilder filter) {
        SearchRequestBuilder request = getSearchRequestBuilder(indexQueryPath, filter);
        F.Promise<SearchResponse> searchResponsePromise = AsyncUtils.executeAsyncJava(request);
        return searchResponsePromise.map(new F.Function<SearchResponse, IndexResults<T>>() {
            @Override
            public IndexResults<T> apply(SearchResponse searchResponse) throws Throwable {
                return toSearchResults(searchResponse);
View Full Code Here

    }

    public SearchRequestBuilder getSearchRequestBuilder(IndexQueryPath indexQueryPath, FilterBuilder filter) {

        // Build request
        SearchRequestBuilder request = IndexClient.client
                .prepareSearch(indexQueryPath.index)
                .setTypes(indexQueryPath.type)
                .setSearchType(SearchType.QUERY_THEN_FETCH)
                .setPostFilter(filter);

        // set Query
        if (StringUtils.isNotBlank(query)) {
            request.setQuery(query);
        }
        else
        {
            request.setQuery(builder);
        }

        // set no Fields -> only return id and type
        if(noField) {
            request.setNoFields();
        }

        // Facets
        for (FacetBuilder facet : facets) {
            request.addFacet(facet);
        }

        // Sorting
        for (SortBuilder sort : sorts) {
            request.addSort(sort);
        }

        // Paging
        if (from > -1) {
            request.setFrom(from);
        }
        if (size > -1) {
            request.setSize(size);
        }

        // Explain
        if (explain) {
            request.setExplain(true);
        }

        if (preference != null) {
            request.setPreference(preference);
        }

        if (IndexClient.config.showRequest) {
            if (StringUtils.isNotBlank(query)) {
                Logger.debug("ElasticSearch : Query -> " + query);
View Full Code Here

    String indexName = documentIndexStructureBuilder.getDocumentSearchIndexName(spaceKey);
    esIntegrationComponent.refreshSearchIndex(indexName);

    logger.debug("go to delete indexed issues for space {} not updated after {}", spaceKey, boundDate);
    SearchRequestBuilder srb = esIntegrationComponent.prepareESScrollSearchRequestBuilder(indexName);
    documentIndexStructureBuilder.buildSearchForIndexedDocumentsNotUpdatedAfter(srb, spaceKey, boundDate);

    SearchResponse scrollResp = esIntegrationComponent.executeESSearchRequest(srb);

    if (scrollResp.getHits().getTotalHits() > 0) {
View Full Code Here

   * @return the search request builder
   */
  static <T extends Model> SearchRequestBuilder builder(final QueryBuilder query, final Class<T> clazz) {
    final ModelMapper<T> mapper = ElasticSearchPlugin.getMapper(clazz);
    final String index = mapper.getIndexName();
    final SearchRequestBuilder builder = client().prepareSearch(index).setSearchType(SearchType.QUERY_THEN_FETCH).setQuery(query);
    return builder;
  }
View Full Code Here

   *
   * @return the search results
   */
  public SearchResults<T> fetch() {
    // Build request
    SearchRequestBuilder request = ElasticSearch.builder(builder, clazz);

    // Facets
    for (AbstractFacetBuilder facet : facets) {
      request.addFacet(facet);
    }

    // Sorting
    for (SortBuilder sort : sorts) {
      request.addSort(sort);
    }

    // Paging
    if (from > -1) {
      request.setFrom(from);
    }
    if (size > -1) {
      request.setSize(size);
    }

    // Only load id field for hydrate
    if (hydrate) {
      request.addField("_id");
    }

    if (Logger.isDebugEnabled()) {
      Logger.debug("ES Query: %s", builder.toString());
    }

    SearchResponse searchResponse = request.execute().actionGet();
    SearchResults<T> searchResults = null;
    if (hydrate) {
      searchResults = new JPATransformer<T>().toSearchResults(searchResponse, clazz);
    } else if (useMapper) {
      searchResults = new MapperTransformer<T>().toSearchResults(searchResponse, clazz);
View Full Code Here

            for (int i = 0; i < indices.size(); i++) {
                list.add(indices.<String>get(i));
            }
        }

        SearchRequestBuilder builder = client.prepareSearch(list.toArray(new String[list.size()]));

        // Get types to be searched
        String type = body.getString(CONST_TYPE);
        JsonArray types = body.getArray("_types");
        list.clear();
        if (type != null) {
            list.add(type);
        }
        if (types != null) {
            for (int i = 0; i < types.size(); i++) {
                list.add(types.<String>get(i));
            }
        }
        if (!list.isEmpty()) {
            builder.setTypes(list.toArray(new String[list.size()]));
        }

        // Set the query
        JsonObject query = body.getObject("query");
        if (query != null) {
            builder.setQuery(query.encode());
        }

        // Set the filter
        JsonObject filter = body.getObject("filter");
        if (filter != null) {
            builder.setPostFilter(filter.encode());
        }

        // Set facets
        JsonObject facets = body.getObject("facets");
        if (facets != null) {
            builder.setFacets(facets.encode().getBytes(CHARSET_UTF8));
        }

        // Set search type
        String searchType = body.getString("search_type");
        if (searchType != null) {
            builder.setSearchType(searchType);
        }

        // Set scroll keep alive time
        String scroll = body.getString("scroll");
        if (scroll != null) {
            builder.setScroll(scroll);
        }

        // Set Size
        Integer size = body.getInteger("size");
        if (size != null) {
            builder.setSize(size);
        }

        // Set From
        Integer from = body.getInteger("from");
        if (from != null) {
            builder.setFrom(from);
        }

        //Set requested fields
        JsonArray fields = body.getArray("fields");
        if (fields != null) {
            for (int i = 0; i < fields.size(); i++) {
                builder.addField(fields.<String>get(i));
            }
        }

        //Set query timeout
        Long queryTimeout = body.getLong("timeout");
        if (queryTimeout != null) {
            builder.setTimeout(new TimeValue(queryTimeout));
        }

        builder.execute(new ActionListener<SearchResponse>() {
            @Override
            public void onResponse(SearchResponse searchResponse) {
                handleActionResponse(searchResponse, message);
            }
View Full Code Here

            for (int i = 0; i < indices.size(); i++) {
                list.add(indices.<String>get(i));
            }
        }

        SearchRequestBuilder builder = client.prepareSearch(list.toArray(new String[list.size()]));

        // Get types to be searched
        String type = body.getString(CONST_TYPE);
        JsonArray types = body.getArray("_types");
        list.clear();
        if (type != null) {
            list.add(type);
        }
        if (types != null) {
            for (int i = 0; i < types.size(); i++) {
                list.add(types.<String>get(i));
            }
        }
        if (!list.isEmpty()) {
            builder.setTypes(list.toArray(new String[list.size()]));
        }

        // Set the query
        JsonObject query = body.getObject("query");
        if (query != null) {
            builder.setQuery(query.encode());
        }

        // Set the filter
        JsonObject filter = body.getObject("filter");
        if (filter != null) {
            builder.setPostFilter(filter.encode());
        }

        // Set facets
        JsonObject facets = body.getObject("facets");
        if (facets != null) {
            builder.setFacets(facets.encode().getBytes(CHARSET_UTF8));
        }

        // Set search type
        String searchType = body.getString("search_type");
        if (searchType != null) {
            builder.setSearchType(searchType);
        }

        // Set scroll keep alive time
        String scroll = body.getString("scroll");
        if (scroll != null) {
            builder.setScroll(scroll);
        }

        builder.execute(new ActionListener<SearchResponse>() {
            @Override
            public void onResponse(SearchResponse searchResponse) {
                handleActionResponse(searchResponse, message);
            }
View Full Code Here

TOP

Related Classes of org.elasticsearch.action.search.SearchRequestBuilder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.