1
次のサンプルコードと送信するクエリの数は、SearchRequestBuilderをどれだけ構築するかによって異なり、MultiSearchResponseに追加します。N個のクエリ用のMultiSearch API
public static void requestBuilder(ArrayList<String> formulae) {
Client client = TransportClient.builder().build()
.addTransportAddress(new InetSocketTransportAddress(new InetSocketAddress("localhost",9300)));
SearchRequestBuilder srb1 = client
.prepareSearch(index)
.setSource(formulae.get(1));
SearchRequestBuilder srb2 = client
.prepareSearch(index)
.setSource(formulae.get(2));
MultiSearchResponse sr = client.prepareMultiSearch()
.add(srb1)
.add(srb2)
.execute()
.actionGet();
long nbHits = 0;
for (MultiSearchResponse.Item item : sr.getResponses()){
SearchResponse response = item.getResponse();
nbHits += response.getHits().getTotalHits();
System.out.println(response);
}
System.out.println(nbHits);
System.out.println(formulae.size());
client.close();
}
私は[式のサイズ]量のSearchRequestBuilderを生成できる方法はありますか?だから私は、私のArrayListの各要素を照会することができます。
これで運がいいですか? – Val
答えがありがとう、私は、1行目、すなわちエラーが発生します。タイプの不一致:MultiSearchRequestBuilderからMultiSearchResponseに変換できません – javid
私の答えが更新されました – Val