org.elasticsearch.client.Client.search()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(11.7k)|赞(0)|评价(0)|浏览(140)

本文整理了Java中org.elasticsearch.client.Client.search()方法的一些代码示例,展示了Client.search()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Client.search()方法的具体详情如下:
包路径:org.elasticsearch.client.Client
类名称:Client
方法名:search

Client.search介绍

[英]Search across one or more indices and one or more types with a query.
[中]使用查询搜索一个或多个索引和一个或多个类型。

代码示例

代码示例来源:origin: NLPchina/elasticsearch-sql

/**
 * Execute the ActionRequest and returns the REST response using the channel.
 */
public void execute() throws Exception {
  ActionRequest request = requestBuilder.request();
  //todo: maby change to instanceof multi?
  if(requestBuilder instanceof JoinRequestBuilder){
    executeJoinRequestAndSendResponse();
  }
  else if (request instanceof SearchRequest) {
    client.search((SearchRequest) request, new RestStatusToXContentListener<SearchResponse>(channel));
  } else if (requestBuilder instanceof SqlElasticDeleteByQueryRequestBuilder) {
    throw new UnsupportedOperationException("currently not support delete on elastic 2.0.0");
  }
  else if(request instanceof GetIndexRequest) {
    this.requestBuilder.getBuilder().execute( new GetIndexRequestRestListener(channel, (GetIndexRequest) request));
  }
  else {
    throw new Exception(String.format("Unsupported ActionRequest provided: %s", request.getClass().getName()));
  }
}

代码示例来源:origin: NLPchina/elasticsearch-sql

client.search((SearchRequest) request, new RestStatusToXContentListener<>(channel));
} else if (request instanceof DeleteByQueryRequest) {

代码示例来源:origin: NLPchina/elasticsearch-sql

@Override
public String execute(Client client, Map<String, String> params, QueryAction queryAction) throws Exception {
  SqlElasticRequestBuilder requestBuilder = queryAction.explain();
  ActionRequest request = requestBuilder.request();
  if (requestBuilder instanceof JoinRequestBuilder) {
    ElasticJoinExecutor executor = ElasticJoinExecutor.createJoinExecutor(client, requestBuilder);
    executor.run();
    return ElasticUtils.hitsAsStringResult(executor.getHits(), new MetaSearchResult());
  } else if (requestBuilder instanceof MultiQueryRequestBuilder) {
    ElasticHitsExecutor executor = MultiRequestExecutorFactory.createExecutor(client, (MultiQueryRequestBuilder) requestBuilder);
    executor.run();
    return ElasticUtils.hitsAsStringResult(executor.getHits(), new MetaSearchResult());
  } else if (request instanceof SearchRequest) {
    ActionFuture<SearchResponse> future = client.search((SearchRequest) request);
    SearchResponse response = future.actionGet();
    return response.toString();
  } else if (request instanceof DeleteByQueryRequest) {
    return requestBuilder.get().toString();
  } else if (request instanceof GetIndexRequest) {
    return requestBuilder.getBuilder().execute().actionGet().toString();
  } else {
    throw new Exception(String.format("Unsupported ActionRequest provided: %s", request.getClass().getName()));
  }
}

代码示例来源:origin: komoot/photon

public long count() {
    return this.esClient.search(Requests.searchRequest(indexName).types(indexType).source(SearchSourceBuilder.searchSource().size(0))).actionGet().getHits()
        .getTotalHits();
  }
}

代码示例来源:origin: javanna/elasticshell

@Override
protected ActionFuture<SearchResponse> doExecute(SearchRequest request) {
  return client.search(request);
}

代码示例来源:origin: mbok/logsniffer

@Override
  public SearchResponse execute(final Client client) {
    return client.search(searchRequest).actionGet();
  }
});

代码示例来源:origin: org.nuxeo.elasticsearch/nuxeo-elasticsearch-core

@Override
public SearchResponse search(SearchRequest request) {
  return client.search(request).actionGet();
}

代码示例来源:origin: com.floragunn/search-guard

protected void doGet(final GetRequest request, final ActionListener listener, final Client client) {
  client.search(toSearchRequest(request), new DelegatingActionListener<SearchResponse, GetResponse>(listener) {
    @Override
    public GetResponse getDelegatedFromInstigator(final SearchResponse searchResponse) {
      if (searchResponse.getHits().getTotalHits() <= 0) {
        return new GetResponse(new GetResult(request.index(), request.type(), request.id(), request.version(), false, null,
            null));
      } else if (searchResponse.getHits().getTotalHits() > 1) {
        throw new RuntimeException("cannot happen");
      } else {
        final SearchHit sh = searchResponse.getHits().getHits()[0];
        return new GetResponse(new GetResult(sh.index(), sh.type(), sh.id(), sh.version(), true, sh.getSourceRef(), null));
      }
    }
  });
}

代码示例来源:origin: medcl/elasticsearch-carrot2

protected void doInnerExecute(ActionListener<SearchResponse> listener) {
  if (sourceBuilder != null) {
    request.source( sourceBuilder());
  }
  ((Client) client).search(request, listener);
}

代码示例来源:origin: SeaseLtd/rated-ranking-evaluator

@Override
public QueryOrSearchResponse executeQuery(final String indexName, final String query, final String[] fields, final int maxRows) {
  try {
    final SearchResponse qresponse = proxy.search(buildSearchRequest(indexName, query, fields, maxRows)).actionGet();
    return convertResponse(qresponse);
  } catch (final ElasticsearchException e) {
    LOGGER.error("Caught ElasticsearchException :: " + e.getMessage());
    return new QueryOrSearchResponse(0, Collections.emptyList());
  } catch (final IOException exception) {
    throw new RuntimeException(exception);
  }
}

代码示例来源:origin: harbby/presto-connectors

@Override
public void handleRequest(final RestRequest request, final RestChannel channel, final Client client) {
  SearchRequest searchRequest = new SearchRequest();
  RestSearchAction.parseSearchRequest(searchRequest, request, parseFieldMatcher, null);
  client.search(searchRequest, new RestStatusToXContentListener<SearchResponse>(channel));
}

代码示例来源:origin: org.nlpcn/elasticsearch-sql

/**
 * Execute the ActionRequest and returns the REST response using the channel.
 */
public void execute() throws Exception {
  ActionRequest request = requestBuilder.request();
  //todo: maby change to instanceof multi?
  if(requestBuilder instanceof JoinRequestBuilder){
    executeJoinRequestAndSendResponse();
  }
  else if (request instanceof SearchRequest) {
    client.search((SearchRequest) request, new RestStatusToXContentListener<SearchResponse>(channel));
  } else if (requestBuilder instanceof SqlElasticDeleteByQueryRequestBuilder) {
    throw new UnsupportedOperationException("currently not support delete on elastic 2.0.0");
  }
  else if(request instanceof GetIndexRequest) {
    this.requestBuilder.getBuilder().execute( new GetIndexRequestRestListener(channel, (GetIndexRequest) request));
  }
  else {
    throw new Exception(String.format("Unsupported ActionRequest provided: %s", request.getClass().getName()));
  }
}

代码示例来源:origin: org.codelibs/elasticsearch-dynarank

@Override
public void onResponse(final Response response) {
  try {
    searchResponseListener.onResponse(response);
  } catch (final RetrySearchException e) {
    threadPool.getThreadContext().putHeader(DYNARANK_RERANK_ENABLE, Boolean.FALSE.toString());
    source.size(size);
    source.from(from);
    source.toString();
    final SearchSourceBuilder newSource = e.rewrite(source);
    if (newSource == null) {
      throw new ElasticsearchException("Failed to rewrite source: " + source);
    }
    if (logger.isDebugEnabled()) {
      logger.debug("Original Query: \n{}\nRewrited Query: \n{}", source, newSource);
    }
    request.source(newSource);
    @SuppressWarnings("unchecked")
    final ActionListener<SearchResponse> actionListener = (ActionListener<SearchResponse>) listener;
    client.search(request, actionListener);
  }
}

代码示例来源:origin: ezbz/projectx

@Override
 public ActionFuture<SearchResponse> execute(final Client client) {
  final SearchRequest request = Requests.searchRequest().searchType(
    SearchType.DFS_QUERY_AND_FETCH);
  final SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
  sourceBuilder.query(query);
  sourceBuilder.size(maxResults);
  request.source(sourceBuilder);
  return client.search(request);
 }
});

代码示例来源:origin: org.dashbuilder/dashbuilder-dataset-elasticsearch

public static void testDocumentsCount( String index, String type, long count ) throws Exception {
    SearchRequest request = new SearchRequestBuilder( client, SearchAction.INSTANCE )
        .setIndices( index )
        .setTypes( type)
        .request();
    SearchResponse response = client.search( request ).actionGet();
    long c = response.getHits().totalHits();
    assert count == c;
}

代码示例来源:origin: harbby/presto-connectors

@Override
public void doRequest(final RestRequest request, final RestChannel channel, final Client client) {
  String[] indices = Strings.splitStringByCommaToArray(request.param("index"));
  CountRequest countRequest = new CountRequest(indices);
  String source = request.param("source");
  if (source != null) {
    countRequest.source(source);
  } else {
    QuerySourceBuilder querySourceBuilder = RestActions.parseQuerySource(request);
    if (querySourceBuilder != null) {
      countRequest.source(querySourceBuilder);
    }
  }
  client.search(countRequest.toSearchRequest(), new RestResponseListener<SearchResponse>(channel) {
    @Override
    public RestResponse buildResponse(SearchResponse countResponse) throws Exception {
      return RestTable.buildResponse(buildTable(request, countResponse), channel);
    }
  });
}

代码示例来源:origin: dstl/baleen

@SuppressWarnings("unchecked")
@Test
public void testMetadata() throws Exception {
 createMetadataDocument();
 ae.process(jCas);
 elasticsearch.flush(BALEEN_INDEX);
 assertEquals(new Long(1), getCount());
 SearchHit result =
   elasticsearch.client().search(new SearchRequest()).actionGet().getHits().getHits()[0];
 List<String> pids = (List<String>) result.getSource().get("publishedId");
 assertEquals("id_1", pids.get(0));
 assertEquals("id_2", pids.get(1));
 Map<String, Object> metadataMap = (Map<String, Object>) result.getSource().get("metadata");
 assertEquals("D3", metadataMap.get("sourceAndInformationGrading"));
 assertEquals("test_value", metadataMap.get("test_key"));
 assertEquals("Test Title", metadataMap.get("documentTitle"));
 assertEquals("ENG|WAL|SCO", metadataMap.get("countryInfo"));
}

代码示例来源:origin: dstl/baleen

@SuppressWarnings("unchecked")
@Test
public void testNoEntities() throws Exception {
 long timestamp = createNoEntitiesDocument();
 ae.process(jCas);
 elasticsearch.flush(BALEEN_INDEX);
 assertEquals(new Long(1), getCount());
 SearchHit result =
   elasticsearch.client().search(new SearchRequest()).actionGet().getHits().getHits()[0];
 assertEquals("Hello World", result.getSource().get("content"));
 assertEquals("en", result.getSource().get("language"));
 assertEquals(timestamp, result.getSource().get("dateAccessed"));
 assertEquals("test/no_entities", result.getSource().get("sourceUri"));
 assertEquals("test", result.getSource().get(DOC_TYPE));
 assertEquals("OFFICIAL", result.getSource().get("classification"));
 List<String> rels = (List<String>) result.getSource().get("releasability");
 assertEquals(3, rels.size());
 assertTrue(rels.contains("ENG"));
 List<String> cavs = (List<String>) result.getSource().get("caveats");
 assertEquals(2, cavs.size());
 assertTrue(cavs.contains("TEST_A"));
}

代码示例来源:origin: dstl/baleen

@Test
public void testReindexEntities() throws Exception {
 createEntitiesDocument();
 ae.process(jCas);
 ae.process(jCas);
 // Change the last document so we can check its been updated
 getDocumentAnnotation(jCas).setDocumentClassification("TEST");
 ae.process(jCas);
 elasticsearch.flush(BALEEN_INDEX);
 assertEquals(new Long(1), getCount());
 SearchHit result =
   elasticsearch.client().search(new SearchRequest()).actionGet().getHits().getHits()[0];
 // This checks the last document is tone we are getting
 assertEquals("TEST", result.getSource().get("classification"));
}

代码示例来源:origin: dstl/baleen

@Test
public void testNestedEntities() throws Exception {
 createEntitiesDocument();
 ae.process(jCas);
 createEntitiesDocument2();
 ae.process(jCas);
 elasticsearch.flush(BALEEN_INDEX);
 assertEquals(new Long(2), getCount());
 SearchRequestBuilder srb =
   elasticsearch
     .client()
     .prepareSearch(BALEEN_INDEX)
     .setQuery(
       QueryBuilders.nestedQuery(
         "entities",
         QueryBuilders.boolQuery()
           .must(QueryBuilders.matchQuery("entities.type", "Location"))
           .must(QueryBuilders.matchQuery("entities.value", "London")),
         ScoreMode.Avg));
 SearchHits results = elasticsearch.client().search(srb.request()).actionGet().getHits();
 assertEquals(1, results.getTotalHits());
}

相关文章