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

Elasticsearch的關(guān)鍵詞搜索

這篇具有很好參考價值的文章主要介紹了Elasticsearch的關(guān)鍵詞搜索。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

返回給前端的實體類

@Data
@AllArgsConstructor
@NoArgsConstructor
public class PageResult {

    private Long total;
    private List<RequestParamDoc> tkyb;

}
/*
* 前端的集合類
* */
@Data
@NoArgsConstructor
public class RequestParamDoc {
    private  float score;
    private String gsbh;
    private String gsmc;
    private String zcd;
    private String gljg;
    private String gxxl;
    private String sss;
    private String ssj;
    private String gsjc;



    public RequestParamDoc(RequestParam requestParam) {

        this.score = requestParam.getScore();
        this.gsbh = requestParam.getGsbh();
        this.gsmc = requestParam.getGsmc();
        this.zcd=requestParam.getZcd();
        this.gljg = requestParam.getGljg();
        this.gxxl = requestParam.getGxxl();
        this.sss = requestParam.getSss();
        this.ssj = requestParam.getSsj();
        this.gsjc = requestParam.getGsjc();

    }
}

es對應(yīng)的實體類

/**
 *es對應(yīng)的實體類
 */
@Data
public class RequestParam {

    private String gsbh;
    private String gsmc;
    private String zcd;
    private String gljg;
    private String gxxl;
    private String sss;
    private String gsjc;
    private String ssj;
    private float score;


}

前端傳遞的搜索參數(shù)實體類

@Data
public class RequestParams {

    private String key; //可以里面包含的是分詞的所有字段
    private Integer page;
    private Integer size;



}

controller層

@RestController
public class WayController {

    @Autowired
    private IWayService wayService;

    /**
     * 關(guān)鍵詞搜索
     * @param params
     * @return
     */
    @PostMapping("/way/list")
    public PageResult search(@RequestBody RequestParams params){

        return wayService.search(params);

    }
}

service層接口

public interface IWayService{
    /**
     * 關(guān)鍵詞分頁查詢
     *
     */
    PageResult search(RequestParams params);
}

service實現(xiàn)類

@Slf4j
@Service
public class WayService implements IWayService  {



    @Autowired
    private RestHighLevelClient client;

    /**
     * 關(guān)鍵詞分頁查詢
     *
     * @param params
     * @return
     */
    @Override
    public PageResult search(RequestParams params) {

        //獲取關(guān)鍵詞
        String key = params.getKey();

        //創(chuàng)建索引庫的鏈接
        SearchRequest searchRequest = new SearchRequest("hzgs_fgb_gsxx");

        //創(chuàng)建查詢條件
        SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();

        //創(chuàng)建bool查詢
        BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();

        //用公司名稱跟路線名稱
        if (StringUtils.isBlank(key)) {

            boolQueryBuilder.must(QueryBuilders.matchAllQuery());

        } else {

            boolQueryBuilder.must(QueryBuilders.multiMatchQuery("gsmc", key, "gxxl", key));

        }

        // 設(shè)置搜索條件
        searchSourceBuilder.query(boolQueryBuilder);

        //進行分頁設(shè)置
        searchSourceBuilder.from(params.getPage());
        searchSourceBuilder.size(params.getSize());


        searchRequest.source(searchSourceBuilder);


        // 增加高亮查詢
        HighlightBuilder highlightBuilder = new HighlightBuilder();

        // 設(shè)置高亮條件
        highlightBuilder.preTags("<span>");
        highlightBuilder.field("gsmc");
        highlightBuilder.postTags("</span>");
        searchSourceBuilder.highlighter(highlightBuilder);

        List<RequestParamDoc> list = new ArrayList<>();

        long total = 0L;

        try {

            //在索引庫中進行查詢
            SearchResponse response = client.search(searchRequest, RequestOptions.DEFAULT);
            SearchHits hits = response.getHits();

            //獲取總條數(shù)
            total = response.getHits().getTotalHits().value;

            for (SearchHit hit : hits) {

                String jsonStr = hit.getSourceAsString();

                //json轉(zhuǎn)化為對象
                RequestParamDoc requestParamDoc = JSON.parseObject(jsonStr, RequestParamDoc.class);

                list.add(requestParamDoc);

            }

        } catch (IOException e) {
            log.error("Es搜索異常!");
            e.printStackTrace();

        }

        return new PageResult(total, list);

    }
}

Springboot啟動類文章來源地址http://www.zghlxwxcb.cn/news/detail-402138.html

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class WayApplication {

    public static void main(String[] args) {
        SpringApplication.run(WayApplication.class, args);
    }

    @Bean
    public RestHighLevelClient client(){

        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();

        //進行es的授權(quán)
        credentialsProvider.setCredentials(AuthScope.ANY,new UsernamePasswordCredentials("es111","123344555"));

        //es的鏈接庫
        return new RestHighLevelClient(RestClient.builder(HttpHost.create("http://127.0.0.1:9200")).setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
            @Override
            public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpAsyncClientBuilder) {
                httpAsyncClientBuilder.disableAuthCaching();
                return httpAsyncClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
            }
        }));
    }

}

到了這里,關(guān)于Elasticsearch的關(guān)鍵詞搜索的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 長尾關(guān)鍵詞挖掘軟件-免費的百度搜索關(guān)鍵詞挖掘

    長尾關(guān)鍵詞挖掘軟件-免費的百度搜索關(guān)鍵詞挖掘

    嗨,大家好!今天,我想和大家聊一聊長尾挖掘工具。作為一個在網(wǎng)絡(luò)世界里摸爬滾打多年的人,我對這個話題有著一些個人的感悟和見解,希望能與大家分享。 首先,讓我坦白一點,長尾挖掘工具對于我來說真是救命稻草。在我剛開始做網(wǎng)站優(yōu)化和內(nèi)容創(chuàng)作的

    2024年02月09日
    瀏覽(36)
  • VIM統(tǒng)計搜索關(guān)鍵詞命令

    :%s/.//gn ? ? ? ?統(tǒng)計字符數(shù) :%s/i+//gn ? ?統(tǒng)計單詞數(shù) :%s/^//n ? ? ? ? ? 統(tǒng)計行數(shù) :%s/keyword//g ? ? ?統(tǒng)計任何地方出現(xiàn)的 \\\"keyword\\\"?? :%s/keyword//gn ? ?統(tǒng)計任何地方出現(xiàn)的 \\\"keyword\\\" :%s/keyword/ :這部分是 Vim 的替換命令的開頭。:%s 表示在整個文件范圍內(nèi)進行替換操作。keyword 是要查

    2024年02月09日
    瀏覽(25)
  • X書關(guān)鍵詞協(xié)議搜索

    搜索接口中的其他java層加密,詳細見: https://codeooo.blog.csdn.net/article/details/122986633

    2024年02月16日
    瀏覽(23)
  • 網(wǎng)站優(yōu)化搜索引擎與關(guān)鍵詞

    網(wǎng)站優(yōu)化搜索引擎與 人們不應(yīng)該高估搜索引擎的智商。這不利于seo的研究,事實上,搜索引擎是非常愚蠢的,讓我們舉一個非常簡單的例子,你在搜索引擎中輸入“教師”這個詞,搜索引擎就會給出一個準確的搜索列表。我們不會給出“教師”一詞的檢索信息,但我們

    2024年02月09日
    瀏覽(118)
  • Vue實現(xiàn)搜索關(guān)鍵詞高亮顯示

    Vue實現(xiàn)搜索關(guān)鍵詞高亮顯示

    最近寫移動端項目的時候,遇到搜索高亮的需求,寫篇文章紀錄一下 先看效果: ? 以上為實現(xiàn)效果展示; 整體思路 : 對后臺返回的數(shù)據(jù)進行操作,(我這里是模擬數(shù)據(jù)),使用正則去匹配搜索后,使用replace進行字符串的替換; 渲染數(shù)據(jù)部分使用v-html進行動態(tài)展示即可

    2024年02月15日
    瀏覽(22)
  • 抖音關(guān)鍵詞搜索小程序排名怎么做

    抖音關(guān)鍵詞搜索小程序排名怎么做

    抖音搜索小程序排名怎么做 1 分鐘教你制作一個抖音小程序。 抖音小程序就是我的視頻,左下方這個藍色的鏈接,點進去就是抖音小程序。 如果你有了這個小程序,發(fā)布視頻的時候可以掛載這個小程序,直播的時候也可以掛載這個小程序進行帶貨。 ? 制作小程序一共

    2024年02月13日
    瀏覽(37)
  • highlight.js 實現(xiàn)搜索關(guān)鍵詞高亮效果

    highlight.js 實現(xiàn)搜索關(guān)鍵詞高亮效果

    先看效果: 更新:增加切換顯示 折騰了老半天,記錄一下 注意事項都寫注釋了 代碼: 更新后代碼:

    2024年02月02日
    瀏覽(18)
  • Python獲取高德POI(關(guān)鍵詞搜索法)

    Python獲取高德POI(關(guān)鍵詞搜索法)

    該篇文章是搜索法獲取高德poi,但鑒于無法突破900條記錄的上限,因此重寫了 矩形搜索法 的文章,具體可參考以下文章: 高德poi獲取之矩形搜索法(沖出900條限制) (建議沒有python基礎(chǔ)的朋友先閱讀該篇再看矩形搜索法!) 首先我們需要明白一些常識 poi是興趣點,它

    2024年02月06日
    瀏覽(21)
  • 搜索引擎都有哪些關(guān)鍵詞匹配方式

    ?1. 完全匹配 這個應(yīng)該是很多SEO最熟悉的一種匹配方式了,什么是完全匹配呢?比如說我的是“SEO培訓”,如果網(wǎng)站中完整的出現(xiàn)了這個詞,并且的位置也匹配,這樣就是完全匹配。這里需要特別明確說的一點就是,完全匹配一定是一個單獨的才是,什么是

    2024年02月13日
    瀏覽(21)
  • 【爬蟲】根據(jù)關(guān)鍵詞自動搜索并爬取結(jié)果

    根據(jù)自動搜索并爬取網(wǎng)頁的信息 網(wǎng)頁有兩種情況:可以直接獲取頁數(shù)的和不可以直接獲取頁數(shù)的; 兩種情況可以采取不同的方法: 情況一:先爬取頁數(shù),再爬取每頁的數(shù)據(jù) 情況二:無法爬取到頁碼數(shù),只能換頁爬取的

    2024年02月12日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包