-1
私はElasticsearchバージョン1.4.2から2.xに移行しています。弾性検索2.0の移行: "inFilter"相当
2.xに大きな変更があり、一部のAPIが削除されているため、現在のコードが壊れています。
バージョン2.xではinFilter
のフィルタを検索しています。
Client client = CerridSearchClientFactory.getInstance().getClient();
SearchRequestBuilder requestBuilder1 = client.prepareSearch(<index name>);
Double[] notNan = new Double[1];
notNan[0] = Double.NaN;
FilterAggregationBuilder filter = AggregationBuilders.filter(<filter name>).filter(FilterBuilders.notFilter(FilterBuilders.inFilter(<field name> , notNan)));
filter = filter.subAggregation(AggregationBuilders.stats(<field name>)
.field(<field name>));
SearchResponse sr = requestBuilder.addAggregation(filter).execute().actionGet();
私はそれをフィルターで統計集計を実行します。私は同じようなクエリではなく、フィルタ集約と合計、最小、最大の集約をやっている。
あなたが持っている1.4のクエリの具体例を含めて、それを2.xに変換しようとしたものを含めると助けになります。多くのことが(または少なくとも)具体的に依存することになります。 – Jeroen
私はフィルタ集約を実行しています。 FilterBuilders.notFilter(FilterBuilders.inFilter(、notNan))));私はいくつかの値を含めるか除外しようとしているところです。 –
しかし、私は以前のコメントを繰り返すだけです。あなたのポストに具体的な例を追加すると、より良い結果が得られます。 – Jeroen