国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ES es Elasticsearch 十三 Java api 實現(xiàn)搜索 分頁查詢 復(fù)雜查詢 過濾查詢 ids查詢 等

這篇具有很好參考價值的文章主要介紹了ES es Elasticsearch 十三 Java api 實現(xiàn)搜索 分頁查詢 復(fù)雜查詢 過濾查詢 ids查詢 等。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

Java api 實現(xiàn)搜索

Pom.xml

建立鏈接

搜索全部記錄

增加規(guī)則值查某些字段

搜索分頁

全代碼

Ids 搜索

關(guān)鍵詞搜索Match搜索

multi_match 搜索 多字段搜索

復(fù)雜查詢 bool查詢

filter? bool 復(fù)雜查詢增加過濾器查詢

復(fù)雜擦好像加排序

日志


Java api 實現(xiàn)搜索

思路 參考 api 寫法 寫Java代碼 請求條件構(gòu)建層次思路

Pom.xml

<dependency>
??? <groupId>org.elasticsearch.client</groupId>
??? <artifactId>elasticsearch-rest-high-level-client</artifactId>
??? <version>7.3.0</version>
??? <exclusions>
??????? <exclusion>
??????????? <groupId>org.elasticsearch</groupId>
??????????? <artifactId>elasticsearch</artifactId>
??????? </exclusion>
??? </exclusions>
</dependency>
<dependency>
??? <groupId>org.elasticsearch</groupId>
??? <artifactId>elasticsearch</artifactId>
??? <version>7.3.0</version>
</dependency>

建立鏈接

private RestHighLevelClient client? = new RestHighLevelClient(RestClient.builder(HttpHost.create("http://localhost:9200")));

搜索全部記錄

private RestHighLevelClient client;



//搜索全部記錄
@Test
public void t1() throws IOException {
??? client? = new RestHighLevelClient(RestClient.builder(HttpHost.create("http://localhost:9200")));

??? //請求
??? SearchRequest searchRequest = new SearchRequest("myindex");
??? SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
??? searchSourceBuilder.query(QueryBuilders.matchAllQuery());
??? //日志? - 3ss this is the 19

??? //只獲取name字段
??? searchSourceBuilder.fetchSource(new String[]{"name"},new String[]{});
??? //日志?? - 3ss this is the null


??? searchRequest.source(searchSourceBuilder);

??? //執(zhí)行
??? SearchResponse searchResponse = client.search(searchRequest,RequestOptions.DEFAULT);

??? //看結(jié)果
??? SearchHits hits = searchResponse.getHits();
??? for(SearchHit key : hits.getHits()){
??????? log.info(key.getId()+key.getSourceAsMap().get("name")+key.getSourceAsMap().get("age"));
??? }
???
}

增加規(guī)則值查某些字段

//只獲取name字段
searchSourceBuilder.fetchSource(new String[]{"name"},new String[]{});
//日志?? - 3ss this is the null

搜索分頁

構(gòu)建請求的時候增加如下代碼即可

int page = 1;//幾頁
int size = 3;//幾條
searchSourceBuilder.from((page-1)*size);
searchSourceBuilder.size(size);

全代碼

//搜索全部記錄
@Test
public void t1() throws IOException {
??? client? = new RestHighLevelClient(RestClient.builder(HttpHost.create("http://localhost:9200")));

??? //請求
??? SearchRequest searchRequest = new SearchRequest("myindex");
??? SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();

??? //查詢?nèi)???? searchSourceBuilder.query(QueryBuilders.matchAllQuery());
??? //日志? - 3ss this is the 19

??? //只獲取name字段
??? searchSourceBuilder.fetchSource(new String[]{"name"},new String[]{});
??? //日志?? - 3ss this is the null

??? //分頁
??? int page = 1;
??? int size = 3;
??? searchSourceBuilder.from((page-1)*size);
??? searchSourceBuilder.size(size);


??? searchRequest.source(searchSourceBuilder);
??? //執(zhí)行
??? SearchResponse searchResponse = client.search(searchRequest,RequestOptions.DEFAULT);

??? //看結(jié)果
??? SearchHits hits = searchResponse.getHits();

??? for(SearchHit key : hits.getHits()){
??????? log.info(key.getId()+key.getSourceAsMap().get("name")+key.getSourceAsMap().get("age"));
??? }

}

Ids 搜索


//搜索id 搜索
@Test
public void t2() throws IOException {
??? //請求
? ??SearchRequest searchRequest = new SearchRequest("myindex");
??? SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
??? //查詢?nèi)???? searchSourceBuilder.query(QueryBuilders.idsQuery().addIds("1","3"));
??? searchRequest.source(searchSourceBuilder);

??? //執(zhí)行
??? SearchResponse searchResponse = client.search(searchRequest,RequestOptions.DEFAULT);

??? //看結(jié)果
??? SearchHits hits = searchResponse.getHits();
??? for(SearchHit key : hits.getHits()){
??????? log.info(key.getId()+key.getSourceAsMap().get("name")+key.getSourceAsMap().get("age"));
??? }

}

關(guān)鍵詞搜索Match搜索

//搜索match 搜索
@Test
public void t3() throws IOException {
??? //請求
??? SearchRequest searchRequest = new SearchRequest("myindex");
??? SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
??? //查詢?nèi)???? searchSourceBuilder.query(QueryBuilders.matchQuery("name","is"));
??? searchRequest.source(searchSourceBuilder);

??? //執(zhí)行
??? SearchResponse searchResponse = client.search(searchRequest,RequestOptions.DEFAULT);

??? //看結(jié)果
??? SearchHits hits = searchResponse.getHits();
??? for(SearchHit key : hits.getHits()){
??????? log.info(key.getId()+key.getSourceAsMap().get("name")+key.getSourceAsMap().get("age"));
??? }

}

multi_match 搜索 多字段搜索

//搜索multi_match 搜索 多字段搜索
@Test
public void t4() throws IOException {
??? //請求
??? SearchRequest searchRequest = new SearchRequest("myindex");
??? SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
??? searchSourceBuilder.query(QueryBuilders.multiMatchQuery("is","name","age"));
??? searchRequest.source(searchSourceBuilder);

??? //執(zhí)行
??? SearchResponse searchResponse = client.search(searchRequest,RequestOptions.DEFAULT);

??? //看結(jié)果
??? SearchHits hits = searchResponse.getHits();
??? for(SearchHit key : hits.getHits()){
??????? log.info(key.getId()+key.getSourceAsMap().get("name")+key.getSourceAsMap().get("age"));
??? }

}

復(fù)雜查詢 bool查詢

/**
 * 復(fù)雜查詢 bool 查詢  多字段查詢 加 可查到可不查到should
 *
 *  @author jianghaoyu
 *
 */
@Test
public void t5() throws IOException {
    //請求
    SearchRequest searchRequest = new SearchRequest("myindex");
    SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
    BoolQueryBuilder bqb = new BoolQueryBuilder();
    MultiMatchQueryBuilder mmqb = QueryBuilders.multiMatchQuery("is","name","age");
    bqb.must(mmqb);
    bqb.should(QueryBuilders.matchQuery("name","is"));

    searchSourceBuilder.query(QueryBuilders.multiMatchQuery("is","name","age"));

    searchRequest.source(searchSourceBuilder);

    //執(zhí)行
    SearchResponse searchResponse = client.search(searchRequest,RequestOptions.DEFAULT);

    //看結(jié)果
    SearchHits hits = searchResponse.getHits();
    for(SearchHit key : hits.getHits()){
        log.info(key.getId()+key.getSourceAsMap().get("name")+key.getSourceAsMap().get("age"));
    }

}

filter? bool 復(fù)雜查詢增加過濾器查詢

/**
 * filter  bool 復(fù)雜查詢增加過濾器查詢
 *
 *  @author jianghaoyu
 *
 */
@Test
public void t6() throws IOException {
    //請求
    SearchRequest searchRequest = new SearchRequest("myindex");
    SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
    BoolQueryBuilder bqb = new BoolQueryBuilder();
    MultiMatchQueryBuilder mmqb = QueryBuilders.multiMatchQuery("is","name","age");
    bqb.must(mmqb);
    bqb.should(QueryBuilders.matchQuery("name","is"));

    bqb.filter(QueryBuilders.rangeQuery("ages").gte(30).lte("90"));

    searchSourceBuilder.query(bqb);

    searchRequest.source(searchSourceBuilder);

    //執(zhí)行
    SearchResponse searchResponse = client.search(searchRequest,RequestOptions.DEFAULT);

    //看結(jié)果
    SearchHits hits = searchResponse.getHits();
    for(SearchHit key : hits.getHits()){
        log.info(key.getId()+" value="+key.getSourceAsMap().get("name")+key.getSourceAsMap().get("age"));
    }

}

復(fù)雜擦好像加排序

/**
 * filter  bool 復(fù)雜查詢增加過濾器查詢 加排序
 *
 *  @author jianghaoyu
 *
 */
@Test
public void t7() throws IOException {
    //請求
    SearchRequest searchRequest = new SearchRequest("myindex");
    SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
    BoolQueryBuilder bqb = new BoolQueryBuilder();
    MultiMatchQueryBuilder mmqb = QueryBuilders.multiMatchQuery("is","name","age");
    bqb.must(mmqb);
    bqb.should(QueryBuilders.matchQuery("name","is"));

    bqb.filter(QueryBuilders.rangeQuery("ages").gte(30).lte("90"));

    searchSourceBuilder.query(bqb);
    searchSourceBuilder.sort("ages");

    searchRequest.source(searchSourceBuilder);

    //執(zhí)行
    SearchResponse searchResponse = client.search(searchRequest,RequestOptions.DEFAULT);

    //看結(jié)果
    SearchHits hits = searchResponse.getHits();
    for(SearchHit key : hits.getHits()){
        log.info(key.getId()+" value="+key.getSourceAsMap().get("name")+key.getSourceAsMap().get("ages"));
    }

}
searchSourceBuilder.sort("ages", SortOrder.DESC);

日志

23-06-01.17:37:51.316 [main??????????? ] INFO? SpringBootEsApplicationTestsGj? - 6 value=ss this is the 55

23-06-01.17:37:51.316 [main??????????? ] INFO? SpringBootEsApplicationTestsGj? - 62 value=ss this is the 59

23-06-01.17:37:51.317 [main??????????? ] INFO? SpringBootEsApplicationTestsGj? - 66 value=ss this is the 66

23-06-01.17:37:51.317 [main??????????? ] INFO? SpringBootEsApplicationTestsGj? - 3 value=ss this is the 83

23-06-01.17:37:51.317 [main??????????? ] INFO? SpringBootEsApplicationTestsGj? - 4 value=ss this is the 83

ok

持續(xù)更新文章來源地址http://www.zghlxwxcb.cn/news/detail-764793.html

到了這里,關(guān)于ES es Elasticsearch 十三 Java api 實現(xiàn)搜索 分頁查詢 復(fù)雜查詢 過濾查詢 ids查詢 等的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • ES搜索引擎入門+最佳實踐(九):項目實戰(zhàn)(二)--elasticsearch java api 進行數(shù)據(jù)增刪改查

    ? ? ? ? 本篇是這個系列的最后一篇了,在這之前可以先看看前面的內(nèi)容: ES搜索引擎入門+最佳實踐(一)_flame.liu的博客-CSDN博客 ES搜索引擎入門+最佳實踐(二)_flame.liu的博客-CSDN博客 ES搜索引擎入門+最佳實踐(三)_flame.liu的博客-CSDN博客 ES搜索引擎入門+最佳實踐(四)_flame.liu的博客

    2024年02月12日
    瀏覽(28)
  • Es elasticsearch 二十 站內(nèi)搜索示例 高亮內(nèi)容 java springboot 實現(xiàn)

    目錄 實現(xiàn)思路 代碼 全依賴 參數(shù)對象 搜索實現(xiàn)代碼全代碼 日志 重點 權(quán)重 分頁 入?yún)⒏吡翑?shù)據(jù)處理 返回出參數(shù)據(jù)處理 構(gòu)建請求 請求體設(shè)置搜索字段 返回數(shù)據(jù)解析獲取高亮 高亮通過設(shè)置標(biāo)簽和class? 前端設(shè)置class字體顏色 也可直接寫在后端 ? 全依賴 參數(shù)對象 搜索實現(xiàn)代碼

    2024年02月02日
    瀏覽(29)
  • elastic search java api 向量搜索實踐 / java結(jié)合es實現(xiàn) 以圖搜圖
  • ES(Elasticsearch)+SpringBoot實現(xiàn)分頁查詢

    1.ES介紹 ??ES作為一個搜索工具,寄托于Lucene之上,提供了方便的數(shù)據(jù)存儲和搜索服務(wù),一般的用它來作為網(wǎng)頁數(shù)據(jù)索引以及存儲用戶畫像(即用戶標(biāo)簽)數(shù)據(jù),可以提供復(fù)具有復(fù)雜的查詢條件的服務(wù)。例如在網(wǎng)頁索引中,通過倒排的方式索引的方式,對文檔進行分詞存儲,

    2024年02月16日
    瀏覽(24)
  • es Elasticsearch 六 java api spirngboot 集成es

    es Elasticsearch 六 java api spirngboot 集成es

    目錄 Java restApi Springboot 集成es 新增-同步 新增-異步 增刪改查流程 _bulk 批量操作 新增-同步 新增-異步 增刪改查流程 創(chuàng)建請求、2.執(zhí)行、3.查看返回結(jié)果 ? ? _bulk 批量操作 ok 持續(xù)更新

    2024年02月10日
    瀏覽(25)
  • Elasticsearch ES實現(xiàn)GEO位置搜索

    ES實現(xiàn)GEO位置搜索 Elasticsearch-7.15.2 附近查詢,也叫做距離查詢(geo_distance):查詢到指定中心點小于某個距離值的所有文檔。 創(chuàng)建索引 (my_geo),直接設(shè)置mapping GEO字段的創(chuàng)建:添加一個字段location,類型為 geo_point。 GEO類型的字段是不能使用動態(tài)映射自動生成的,我們需要在創(chuàng)

    2024年01月16日
    瀏覽(25)
  • 黑馬旅游案例(包括搜索,分頁,廣告置頂)中使用 elasticsearch 7.17.9 Java API

    黑馬旅游案例(包括搜索,分頁,廣告置頂)中使用 elasticsearch 7.17.9 Java API

    引言 學(xué)習(xí)黑馬 SpringCloud 的 es 部分時發(fā)現(xiàn)老師用的是es的高級客戶端來操作es的,而高級客戶端已經(jīng)顯示棄用,上網(wǎng)搜索發(fā)現(xiàn)關(guān)于新的 Java client API 只有基礎(chǔ)的索引、文檔操作,沒有關(guān)于這種稍復(fù)雜案例的操作,于是自己琢磨整理了一份筆記,也為其他學(xué)習(xí)最新的 es 的小伙伴

    2024年02月11日
    瀏覽(26)
  • 【Elasticsearch】SpringBoot整合ES實現(xiàn)搜索功能 | 高亮顯示

    【Elasticsearch】SpringBoot整合ES實現(xiàn)搜索功能 | 高亮顯示

    先看代碼: controller: serviceImpl: 小結(jié) : 1、添加ES場景啟動器 2、yaml配置ES 3、準(zhǔn)備需要用到的變量 注:還有一個注入的RestHighLevelClient 結(jié)構(gòu)如下: 具體調(diào)用的方法以及設(shè)置頁碼等參看代碼。 加斷點查看對應(yīng)searchResponse數(shù)據(jù)結(jié)構(gòu): HighlightFields的數(shù)據(jù)結(jié)構(gòu): 對照kinaba結(jié)果: 3、根

    2024年02月11日
    瀏覽(25)
  • ES8 向量搜索(knn-search)java-api 實踐

    ES8 向量搜索(knn-search)java-api 實踐

    官方文檔-knn-search kNN搜索 k-nearest neighbor (kNN)搜索找到與查詢向量最近的k個向量,如通過相似度計算。 kNN的常見用例包括: 基于自然語言處理(NLP)算法的相關(guān)性排序 產(chǎn)品推薦和推薦引擎 圖像或視頻的相似性搜索 要運行kNN搜索,您必須能夠?qū)?shù)據(jù)轉(zhuǎn)換為有意義的向量值

    2024年02月12日
    瀏覽(20)
  • ElasticSearch(五)SpringBoot+ES+Jsoup實現(xiàn)JD(京東)搜索

    ElasticSearch(五)SpringBoot+ES+Jsoup實現(xiàn)JD(京東)搜索

    項目效果 ? 利用Jsoup爬蟲爬取JD商城的商品信息,并將商品信息存儲在ElasticSearch中,同時利用請求進行全文檢索,同時完成高亮顯示等功能。 Jsoup :jsoup 是一款Java 的HTML解析器,可直接解析某個URL地址、HTML文本內(nèi)容。它提供了一套非常省力的API,可通過DOM,CSS以及類似于

    2023年04月26日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包