2017-09-26 19 views
0

マルチサーチAPIでリクエストする必要があります(Jest)。 私はこのような検索要求を構築しようとした:JestのMultiSearch APIでリクエストを実行する方法は?

Search search = new Search.Builder(query).addIndex(index).addType(type).build();

そして、私はこのような、MultiSearchを構築し、その結果を取得するには、コレクションにすべてのこれらの要求を追加します。

List<Search> ms = new ArrayList<Search>(); 
for (#iterate over#) { 
    ms.add(search()) 
    //Adding the searches queries to the List 
} 
MultiSearch multi = new MultiSearch.Builder(ms).build(); 
MultiSearchResult multir = client.execute(multi); 

しかし、これはelasticsearchからこのエラーを返します。

{ 
    "error": { 
     "caused_by": { 
      "reason": "Unexpected end-of-input: expected close marker for Object (start marker at [Source: [email protected]; line: 1, column: 1])\n at [Source: [email protected]; line: 2, column: 3]", 
      "type": "json_e_o_f_exception" 
     }, 
     "reason": "Exception when parsing search request", 
     "root_cause": [ 
      { 
       "reason": "Exception when parsing search request", 
       "type": "parse_exception" 
      } 
     ], 
     "type": "parse_exception" 
    }, 
    "status": 400 
} 

私の質問は、どのようにjeでマルチ検索要求を実行するかですセント?

答えて

1

まあ、テストの後、私は解決策を見つけた:

Search search = new Search.Builder(query.toString().replaceAll("\\n|\\r", "")).addIndex(es_index_data) 
       .addType(es_type_data).build(); 
関連する問題