elasticsearch,Java,elasticsearch" /> elasticsearch,Java,elasticsearch" />

如何使用Elasticsearch Java API执行以下查询?

如何使用Elasticsearch Java API执行以下查询?,java,elasticsearch,Java,elasticsearch,我使用的是spring data elasticsearch,我希望能够对我的“水果”类型的索引“水果”执行以下搜索查询: { '排序':{'FROUTID':'desc'}, “查询”:{ “查询字符串”:{ “query”:u'Banana AND(开始:>=1492270000)AND(结束:下面的Java代码向您展示了如何为水果颜色和重量创建两个术语facetRequest,以及如何通过调用withFacet()将它们添加到查询中。它还向您展示了如何使用QueryBuilders.que

我使用的是spring data elasticsearch,我希望能够对我的“水果”类型的索引“水果”执行以下搜索查询:

{
'排序':{'FROUTID':'desc'},
“查询”:{
“查询字符串”:{

“query”:u'Banana AND(开始:>=1492270000)AND(结束:下面的Java代码向您展示了如何为水果颜色和重量创建两个
术语facetRequest
,以及如何通过调用
withFacet()
将它们添加到查询中。它还向您展示了如何使用
QueryBuilders.queryStringQuery>添加
查询字符串()
方法调用

// create the fruit color facet
TermFacetRequest fruitColor = new TermFacetRequest("fruit_color");
fruitColor.setFields("fruit_color");
fruitColor.setSize(5);

// create the fruit weight facet
TermFacetRequest fruitWeight = new TermFacetRequest("fruit_weight");
fruitWeight.setFields("fruit_weight");
fruitWeight.setSize(5);

SearchQuery searchQuery = new NativeSearchQueryBuilder()
    .withPageable(new PageRequest(0, 10))
    .withQuery(QueryBuilders.queryStringQuery("Banana AND (start:>=1492274000000) AND (end:<=1386842400000)"))                
    .withSort(SortBuilders.fieldSort("fruitId").order(SortOrder.DESC))                
    .withIndices("fruit").withTypes("fruit")
    .withFacet(fruitColor)            <--- add the fruit color facet
    .withFacet(fruitWeight);          <--- add the fruit weight facet
//创建水果颜色方面
TermFacetRequest水果色=新的TermFacetRequest(“水果色”);
设置域(“果色”);
果色。设置大小(5);
//创建水果重量方面
TermFacetRequest果重=新的TermFacetRequest(“果重”);
果重:设定值(“果重”);
果重:设定尺寸(5);
SearchQuery SearchQuery=new NativeSearchQueryBuilder()
.withPageable(新页面请求(0,10))
.withQuery(QueryBuilders.queryStringQuery(“香蕉和”(开始:>=14922700000)和(结束:我想是聚合替换了方面?
// create the fruit color facet
TermFacetRequest fruitColor = new TermFacetRequest("fruit_color");
fruitColor.setFields("fruit_color");
fruitColor.setSize(5);

// create the fruit weight facet
TermFacetRequest fruitWeight = new TermFacetRequest("fruit_weight");
fruitWeight.setFields("fruit_weight");
fruitWeight.setSize(5);

SearchQuery searchQuery = new NativeSearchQueryBuilder()
    .withPageable(new PageRequest(0, 10))
    .withQuery(QueryBuilders.queryStringQuery("Banana AND (start:>=1492274000000) AND (end:<=1386842400000)"))                
    .withSort(SortBuilders.fieldSort("fruitId").order(SortOrder.DESC))                
    .withIndices("fruit").withTypes("fruit")
    .withFacet(fruitColor)            <--- add the fruit color facet
    .withFacet(fruitWeight);          <--- add the fruit weight facet