相关疑难解决方法(0)

为ElasticSearch测试用例创建虚拟SearchResponse实例

我正在尝试通过手动将值传递给构造函数来创建一个虚拟的SearchResponse对象.我有一个JUnit测试类,我正在使用这个虚拟值来模拟实际的方法调用.尝试使用以下方法

public SearchResponse actionGet() throws ElasticsearchException {
    ShardSearchFailure[] shardFailures = new ShardSearchFailure[0];
    int docId = 0;
    String id = "5YmRf-6OTvelt29V5dphmw";
    Map<String, SearchHitField> fields = null;

    InternalSearchHit internalSearchHit = new InternalSearchHit(docId, id,
            null, fields);
    InternalSearchHit[] internalSearchHit1 = { internalSearchHit };

    InternalSearchResponse EMPTY = new InternalSearchResponse(
            new InternalSearchHits(internalSearchHit1, 0, 0), null, null,
            null, false);
    SearchResponse searchResponse = new SearchResponse(EMPTY, "scrollId",
            1, 1, 1000, shardFailures);
    return searchResponse;
}
Run Code Online (Sandbox Code Playgroud)

这是我直接查询elasticsearch时json的实际值.

{
  "took": 3,
  "timed_out": false,
  "_shards": {
    "total": 3,
    "successful": 3,
    "failed": 0
  }, …
Run Code Online (Sandbox Code Playgroud)

java junit json elasticsearch elasticsearch-java-api

7
推荐指数
1
解决办法
5372
查看次数