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

Java中Elasticsearch使用類似MySQL的OR和AND查詢

這篇具有很好參考價值的文章主要介紹了Java中Elasticsearch使用類似MySQL的OR和AND查詢。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本文用實例來介紹如何使用Spring Data?Elasticsearch的ElasticsearchRestTemplate來操作ES,在Java中Elasticsearch使用類似MySQL的OR和AND進行多條件查詢。

官網(wǎng)

Elasticsearch Operations

bool query:

一種復(fù)合查詢,把其余類型的查詢包裹進來,支持以下三種邏輯關(guān)系。

must: AND ??
must_not:NOT
should:OR

ES查詢實例如下:

{
    "bool" : {
        "must" : { "term" : { "component" : "comp_1" } },  // must = And
        "should" : [                                       // should = Or
            { "term" : { "userId" : "A1A1" } },    
            { "term" : { "customerId" : "C1" } },
            { "term" : { "currentRole" : "ADMIN" }}
        ],
        "minimum_should_match" : 1
    }
}

在Java中代碼示例:

@Autowired
private ElasticsearchRestTemplate elasticsearchRestTemplate;

org.elasticsearch.index.query.QueryBuilder qb = QueryBuilders
    .boolQuery()
    .must(termQuery("component", currentComponent))
    .should(termQuery("userId", currentUserId))
    .should(termQuery("customerId", currentCustomerId))
    .should(termQuery("currentRole", ADMIN))
    // .must(QueryBuilders.boolQuery().should(QueryBuilders.termsQuery("num", "6","8")))
    .minimumNumberShouldMatch(1);

該must部分是ANDS;

該should部分都或多或少ORS;

除了你可以指定的最小數(shù)量should(用s到比賽minimum_should_match),這個最低默認為1,我認為(但你可以將其設(shè)置為0,這意味著文件不匹配的should條件也將被返回)。

如果要進行涉及嵌套ANDs和ORs的更復(fù)雜的查詢,只需將其他布爾查詢嵌套在內(nèi)部must或should部分中。

另外,當(dāng)您尋找準確的值(id等)時,也許可以使用術(shù)語查詢代替匹配查詢,從而節(jié)省了分析階段的時間(如果對這些字段進行了分析,則不一定有意義)對于ID)。如果對它們進行了分析,則您仍然可以這樣做,但前提是您必須確切地知道術(shù)語的存儲方式(例如,標準分析器將它們存儲為小寫)。

匹配關(guān)鍵字示例:

// es 查詢滿足條件1 或滿足條件2 的結(jié)果合集
//主查詢
matchQuery.must(
        QueryBuilders.boolQuery()
        .should(QueryBuilders.matchQuery("xm","好的"))//分詞后匹配
            .should(QueryBuilders.matchParaseQuery("addr","錢江路"))//匹配完整詞
            .should(QueryBuilders.termQuery("status",0))//完全匹配
            .should(QueryBuilders.termsQuery("keyword",string[]))//多關(guān)鍵字匹配
            );

    SearchResponse response = client.prepareSearch("indexName")
            .setFrom(0)
            .setSize(10)
            .setQuery(matchQuery)
            .get();

    SearchHits hits = response.getHits();
    int count = (int) hits.getTotalHits();

    for(SearchHit one:hits)
    {
        //遍歷結(jié)果處理
    }

如果本篇文章對你有幫助的話,很高興能夠幫助上你。

當(dāng)然,如果你覺得文章有什么讓你覺得不合理、或者有更簡單的實現(xiàn)方法又或者有理解不來的地方,希望你在看到之后能夠在評論里指出來,我會在看到之后盡快的回復(fù)你。文章來源地址http://www.zghlxwxcb.cn/news/detail-431306.html

到了這里,關(guān)于Java中Elasticsearch使用類似MySQL的OR和AND查詢的文章就介紹完了。如果您還想了解更多內(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)文章

  • sql server 多行數(shù)據(jù)合并一行顯示

    在 SQL Server 中,可以使用 STUFF 和 FOR XML PATH 進行多行合并成一行。例如,假設(shè)有一個表名為 orders ,其中包含訂單號和產(chǎn)品名稱: order_id product_name 1 Product A 1 Product B 2 Product C 2 Product D 以下查詢將在 order_id 列上分組,將產(chǎn)品名稱合并成一行: 結(jié)果如下所示: order_id products 1

    2024年02月03日
    瀏覽(21)
  • 支付寶2023年收單外包服務(wù)機構(gòu)評級啟動,截止11月15日

    支付寶2023年收單外包服務(wù)機構(gòu)評級啟動,截止11月15日

    9 月22日消息,支付寶近日發(fā)布公告稱,已啟動2023年收單外包服務(wù)機構(gòu)評級工作。支付寶表示,收單外包服務(wù)機構(gòu)評級工作是金融監(jiān)管部門規(guī)范引導(dǎo)收單外包服務(wù)市場的重要舉措,其結(jié)果將會向社會公示,直接關(guān)系到外包機構(gòu)的業(yè)務(wù)開展,每個外包機構(gòu)都應(yīng)配合完成評級工作

    2024年02月07日
    瀏覽(28)
  • 常見類型的yaml文件如何編寫?--kind: Deployment

    Deployment 資源是 Kubernetes 重要的組成部分之一,通過指定 Deployment 中的 Pod 模板和副本數(shù)量,Kubernetes 可以自動地創(chuàng)建并管理一組具有相同配置的 Pod,這樣即使某些 Pod 發(fā)生故障或需要升級,也可以輕松地進行控制和管理。 因此,當(dāng)我們使用? kind: Deployment ?時,YAML 文件中應(yīng)該

    2024年01月24日
    瀏覽(19)
  • 繼續(xù)探索Roop(單張圖視頻換臉)的各方面:比如喜聞樂見的“加速”

    繼續(xù)探索Roop(單張圖視頻換臉)的各方面:比如喜聞樂見的“加速”

    前兩天寫了??《簡單介紹Roop(類似SimSwap)單張圖視頻換臉的項目》 ,介紹了基本安裝使用。 之后這個項目飛快的更新著,減少了很多問題更加實用了,所以準備多說幾句。 官方:??地址。 之前只覺得它很方便用,選一張圖,選一個視頻,點擊開始。 后來發(fā)現(xiàn)這個項目更

    2024年02月10日
    瀏覽(23)
  • 查看虛擬機CentOS7 的 IP 地址

    查看虛擬機CentOS7 的 IP 地址

    在CentOS7中我們不能輸入ifconfig命令查看,而是要輸入ip addr命令查看。 此命令會出現(xiàn)3個條目,centos的ip地址是ens33條目中的inet值,發(fā)現(xiàn) ens33 沒有 inet 這個屬性,那么就沒法通過IP地址連接虛擬機。 接下來我們查看ens33網(wǎng)卡的配置: 1.命令為: vi /etc/sysconfig/network-scripts/ifcfg-en

    2024年02月12日
    瀏覽(16)
  • 數(shù)據(jù)倉庫建設(shè)實踐——如何通過數(shù)據(jù)倉庫建設(shè)提升效率并確保數(shù)據(jù)質(zhì)量

    作者:禪與計算機程序設(shè)計藝術(shù) 隨著互聯(lián)網(wǎng)經(jīng)濟的快速發(fā)展,全球消費者對汽車的需求越來越旺盛。在全球范圍內(nèi),公共汽車運營商(PSA)正在競爭激烈,包括美國的Tesla、上海的東風(fēng)、中國的福特等。全球公共汽車市場規(guī)模每年呈現(xiàn)爆炸性增長態(tài)勢。其中,美國曾經(jīng)的領(lǐng)先地

    2024年02月11日
    瀏覽(31)
  • 【HTML+CSS+JS】登錄注冊頁面大合集

    【HTML+CSS+JS】登錄注冊頁面大合集

    學(xué)JS也學(xué)了一段時間,正巧碰上了人工智能要調(diào)用人臉識別接口進行真人人臉識別,于是便 萌生了用人臉來進行注冊和登錄的想法 ,這樣的話就需要開發(fā)一個登錄注冊頁面,然后用JS綁定注冊事件調(diào)用人臉識別接口進行登錄注冊 飯要一口一口吃,路要一步一步走,于是便在開

    2024年02月09日
    瀏覽(45)
  • Windows11+Opencv+Clion編譯源碼

    Windows11+Opencv+Clion編譯源碼

    參考:https://www.robotsfan.com/posts/69395e08.html 注意事項 編譯過程中使用的軟件,開源碼等所有工具的安裝路徑一定不要有中文和空格。 cmake過程會下載一些文件,如果是局域網(wǎng)的話可能下載不下來,可以事先下載好拷貝到相應(yīng)目錄。 OpenCV默認會編譯很多功能,有些功能需要先自

    2024年02月14日
    瀏覽(46)
  • 計算機視覺——手機目標檢測數(shù)據(jù)集

    計算機視覺——手機目標檢測數(shù)據(jù)集

    這是一個手機目標檢測的數(shù)據(jù)集,數(shù)據(jù)集的標注工具是labelimg,數(shù)據(jù)格式是voc格式,要訓(xùn)練yolo模型的話,可以使用腳本改成txt格式,數(shù)據(jù)集標注了手機,標簽名:telephone,數(shù)據(jù)集總共有1960張,有一部分是直實數(shù)據(jù),有一部分是是真實數(shù)據(jù)。 數(shù)據(jù)集地址:https://download.csdn.net/dow

    2024年04月15日
    瀏覽(26)
  • 學(xué)會使用Java Web實現(xiàn):用戶登錄功能(JSP+Servlet方式)

    學(xué)會使用Java Web實現(xiàn):用戶登錄功能(JSP+Servlet方式)

    登錄頁面 login.jsp ,輸入用戶名和密碼后,跳轉(zhuǎn)到登錄處理程序 LoginServlet 進行業(yè)務(wù)邏輯處理,登錄成功,跳轉(zhuǎn)到登錄成功頁面 success.jsp ,否則跳轉(zhuǎn)到登錄失敗頁面 failure.jsp 。 創(chuàng)建 Java Enterprise 項目,添加 Web Application 功能 設(shè)置項目名與保存位置 單擊【Finish】按鈕 在項目結(jié)

    2024年02月11日
    瀏覽(30)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包