ElasticSearch のクエリは機能していますが、ElasticSearch の Java API で同じクエリを実行するには問題があります。
以下のクエリを ElasticSearch の Java API で表現するにはどうすればよいですか?
---
size: 0
query:
match_all: []
facets:
age:
statistical:
field : timestamp
ElasticSearch のクエリは機能していますが、ElasticSearch の Java API で同じクエリを実行するには問題があります。
以下のクエリを ElasticSearch の Java API で表現するにはどうすればよいですか?
---
size: 0
query:
match_all: []
facets:
age:
statistical:
field : timestamp
次のようになります。
client.prepareSearch("yourindex")
.setTypes("yourtype")
.setQuery(QueryBuilders.matchAllQuery())
.addFacet(FacetBuilders.statisticalFacet("age").field("timestamp"))
.setSize(0)
.execute()
.actionGet();
クエリ DSL を JSON 文字列に変換し、それをQueryBuilders.wrapperQuery()
orでラップしてWrapperQueryBuilder()
、最後にこのように Java API でクエリを実行できます。
SearchResponse response = client.prepareSearch("yourIndex")
.setTypes("yourType")
.setQuery(dslQB)
.setFrom(currentItem)
.setSize(pageSize)
.execute()
.actionGet();
`