第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在java elasticsearch中獲取價格范圍在最小值和最大值之間的數(shù)據(jù)

在java elasticsearch中獲取價格范圍在最小值和最大值之間的數(shù)據(jù)

狐的傳說 2021-06-21 09:25:11
我是彈性搜索的新手,到目前為止我正在閱讀文檔,它很好,但我無法編寫按范圍獲取的方法,下面是一種按 ID 獲取的方法,它運行良好,但我如何才能做到這一點以獲得與價格范圍匹配的數(shù)據(jù)列表。 public Map<String, Object> getTourById(String id){        GetRequest getRequest = new GetRequest(INDEXTOUR, TYPETOUR, id);        GetResponse getResponse = null;        try {            getResponse = restHighLevelClient.get(getRequest);        } catch (java.io.IOException e){            e.printStackTrace();            e.getLocalizedMessage();        }        Map<String, Object> sourceAsMap = getResponse.getSourceAsMap();        return sourceAsMap;    }上面的方法現(xiàn)在工作正常下面是按范圍獲取并返回與價格匹配的數(shù)據(jù)的方法 public Map<String, Object> getTourByPriceRange(int minPrice, int maxPrice) {        GetRequest getRequest = new GetRequest(INDEXTOUR, TYPETOUR, "requires an ID");        QueryBuilder qb = QueryBuilders                .rangeQuery("price")                .from(minPrice)                .to(maxPrice)                .includeLower(true)                .includeUpper(true);        GetResponse getResponse = null;        try {            getResponse = restHighLevelClient.get(getRequest);        } catch (java.io.IOException e) {            e.printStackTrace();            e.getLocalizedMessage();        }        Map<String, Object> sourceAsMap = getResponse.getSourceAsMap();        return sourceAsMap;    }在上述方法中,只有查詢構(gòu)建器是準確的,我想得到的結(jié)果是一組價格落在給定范圍內(nèi)的數(shù)據(jù)。{    "departure": {      "city": "\u0438\u043d\u0441\u043a",      "date": "2018-08-10"    },    "extras": [],    "hotel": {      "beach": {        "distance": 0,        "type": "\u041f\u0435\u0447\u0430\u043d\u044b\u0439"      },      "country": "\u0413\u0440\u0446\u0438\u044f",      "distanceToAirport": 0,      "facilities": [        "Standard Without Balcony"      ],
查看完整描述

1 回答

?
藍山帝景

TA貢獻1843條經(jīng)驗 獲得超7個贊

到目前為止做得很好!!為了發(fā)出搜索請求,您需要使用SearchRequest而不是GetRequest通過 ID 檢索單個文檔。


QueryBuilder qb = QueryBuilders

            .rangeQuery("price")

            .from(minPrice)

            .to(maxPrice)

            .includeLower(true)

            .includeUpper(true);


    SearchRequest searchRequest = new SearchRequest(INDEXTOUR); 

    SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); 

    searchSourceBuilder.query(qb); 

    searchRequest.types(TYPETOUR);

    searchRequest.source(searchSourceBuilder); 


    SearchResponse searchResponse = null;

    try {

        searchResponse = restHighLevelClient.search(searchRequest);

    } catch (java.io.IOException e) {

        e.printStackTrace();

        e.getLocalizedMessage();

    }


查看完整回答
反對 回復(fù) 2021-06-23
  • 1 回答
  • 0 關(guān)注
  • 365 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號