今天就跟大家聊聊有關(guān)elasticsearch7.9 中怎么實(shí)現(xiàn)全文檢索,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、網(wǎng)站設(shè)計(jì)、雞冠網(wǎng)絡(luò)推廣、微信平臺(tái)小程序開(kāi)發(fā)、雞冠網(wǎng)絡(luò)營(yíng)銷、雞冠企業(yè)策劃、雞冠品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供雞冠建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
1、bool should查詢
//should條件 類似于or //1、全文檢索 key // bool的Should方式查詢 BoolQueryBuilder boolShouldQueryBuilder=new BoolQueryBuilder(); if(StringUtils.isNotBlank(key)){ boolShouldQueryBuilder.should(new MatchQueryBuilder("name", key).boost(3f)); boolShouldQueryBuilder.should(new MatchQueryBuilder("keyword", key).boost(2f)); boolShouldQueryBuilder.should(new MatchQueryBuilder("cnames", key).boost(0.5f)); boolShouldQueryBuilder.should(new MatchQueryBuilder("ckeywords", key).boost(0.5f)); boolShouldQueryBuilder.should(new MatchQueryBuilder("ccontents", key).boost(0.5f)); }else{ boolShouldQueryBuilder.should(new MatchAllQueryBuilder()); } boolQueryBuilder.must(boolShouldQueryBuilder);
2、multiMatchQueryBuilder
//1、全文檢索 key // MultiMatch方式查詢 if(StringUtils.isNotBlank(key)){ //設(shè)置字段權(quán)重 Mapfields = new HashMap (); fields.put("name", 5f); fields.put("keyword", 4f); fields.put("cnames", 2f); fields.put("ckeywords", 1f); fields.put("ccontents", 1f); //查詢 MultiMatchQueryBuilder multiMatchQueryBuilder = new MultiMatchQueryBuilder(key,"name", "keyword", "cnames", "ckeywords", "ccontents").fields(fields); boolQueryBuilder.must(multiMatchQueryBuilder); }else{ boolQueryBuilder.must(new MatchAllQueryBuilder()); }
看完上述內(nèi)容,你們對(duì)elasticsearch7.9 中怎么實(shí)現(xiàn)全文檢索有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。