org.elasticsearch.action.search.SearchScrollRequest

Here are the examples of the java api class org.elasticsearch.action.search.SearchScrollRequest taken from open source projects.

1. RestSearchScrollAction#handleRequest()

Project: elasticsearch
File: RestSearchScrollAction.java
@Override
public void handleRequest(final RestRequest request, final RestChannel channel, final NodeClient client) {
    String scrollId = request.param("scroll_id");
    SearchScrollRequest searchScrollRequest = new SearchScrollRequest();
    searchScrollRequest.scrollId(scrollId);
    String scroll = request.param("scroll");
    if (scroll != null) {
        searchScrollRequest.scroll(new Scroll(parseTimeValue(scroll, null, "scroll")));
    }
    if (RestActions.hasBodyContent(request)) {
        XContentType type = XContentFactory.xContentType(RestActions.getRestContent(request));
        if (type == null) {
            if (scrollId == null) {
                scrollId = RestActions.getRestContent(request).toUtf8();
                searchScrollRequest.scrollId(scrollId);
            }
        } else {
            // NOTE: if rest request with xcontent body has request parameters, these parameters override xcontent values
            buildFromContent(RestActions.getRestContent(request), searchScrollRequest);
        }
    }
    client.searchScroll(searchScrollRequest, new RestStatusToXContentListener<SearchResponse>(channel));
}

2. RestSearchScrollAction#handleRequest()

Project: elassandra
File: RestSearchScrollAction.java
@Override
public void handleRequest(final RestRequest request, final RestChannel channel, final Client client) {
    String scrollId = request.param("scroll_id");
    SearchScrollRequest searchScrollRequest = new SearchScrollRequest();
    searchScrollRequest.scrollId(scrollId);
    String scroll = request.param("scroll");
    if (scroll != null) {
        searchScrollRequest.scroll(new Scroll(parseTimeValue(scroll, null, "scroll")));
    }
    if (RestActions.hasBodyContent(request)) {
        XContentType type = XContentFactory.xContentType(RestActions.getRestContent(request));
        if (type == null) {
            if (scrollId == null) {
                scrollId = RestActions.getRestContent(request).toUtf8();
                searchScrollRequest.scrollId(scrollId);
            }
        } else {
            // NOTE: if rest request with xcontent body has request parameters, these parameters override xcontent values
            buildFromContent(RestActions.getRestContent(request), searchScrollRequest);
        }
    }
    client.searchScroll(searchScrollRequest, new RestStatusToXContentListener<SearchResponse>(channel));
}

3. AbstractAsyncBulkByScrollAction#startNextScroll()

Project: elasticsearch
File: AbstractAsyncBulkByScrollAction.java
/**
     * Start the next scroll request.
     *
     * @param lastBatchSize the number of requests sent in the last batch. This is used to calculate the throttling values which are applied
     *        when the scroll returns
     */
void startNextScroll(TimeValue lastBatchStartTime, int lastBatchSize) {
    if (task.isCancelled()) {
        finishHim(null);
        return;
    }
    SearchScrollRequest request = new SearchScrollRequest();
    // Add the wait time into the scroll timeout so it won't timeout while we wait for throttling
    request.scrollId(scroll.get()).scroll(timeValueNanos(firstSearchRequest.scroll().keepAlive().nanos() + task.throttleWaitTime(lastBatchStartTime, lastBatchSize).nanos()));
    searchWithRetry( listener -> client.searchScroll(request, listener), (SearchResponse response) -> {
        onScrollResponse(lastBatchStartTime, lastBatchSize, response);
    });
}

4. SearchScrollIT#testParseSearchScrollRequestWithUnknownParamThrowsException()

Project: elasticsearch
File: SearchScrollIT.java
public void testParseSearchScrollRequestWithUnknownParamThrowsException() throws Exception {
    SearchScrollRequest searchScrollRequest = new SearchScrollRequest();
    BytesReference invalidContent = XContentFactory.jsonBuilder().startObject().field("scroll_id", "value_2").field("unknown", "keyword").endObject().bytes();
    try {
        RestSearchScrollAction.buildFromContent(invalidContent, searchScrollRequest);
        fail("expected parseContent failure");
    } catch (Exception e) {
        assertThat(e, instanceOf(IllegalArgumentException.class));
        assertThat(e.getMessage(), startsWith("Unknown parameter [unknown]"));
    }
}

5. SearchScrollIT#testParseSearchScrollRequest()

Project: elasticsearch
File: SearchScrollIT.java
public void testParseSearchScrollRequest() throws Exception {
    BytesReference content = XContentFactory.jsonBuilder().startObject().field("scroll_id", "SCROLL_ID").field("scroll", "1m").endObject().bytes();
    SearchScrollRequest searchScrollRequest = new SearchScrollRequest();
    RestSearchScrollAction.buildFromContent(content, searchScrollRequest);
    assertThat(searchScrollRequest.scrollId(), equalTo("SCROLL_ID"));
    assertThat(searchScrollRequest.scroll().keepAlive(), equalTo(TimeValue.parseTimeValue("1m", null, "scroll")));
}

6. SearchScrollIT#testParseSearchScrollRequestWithInvalidJsonThrowsException()

Project: elasticsearch
File: SearchScrollIT.java
public void testParseSearchScrollRequestWithInvalidJsonThrowsException() throws Exception {
    SearchScrollRequest searchScrollRequest = new SearchScrollRequest();
    try {
        RestSearchScrollAction.buildFromContent(new BytesArray("{invalid_json}"), searchScrollRequest);
        fail("expected parseContent failure");
    } catch (Exception e) {
        assertThat(e, instanceOf(IllegalArgumentException.class));
        assertThat(e.getMessage(), equalTo("Failed to parse request body"));
    }
}