電商項目查詢模塊思路(ElasticSearch)


 

 

前台搜索完成了哪些查詢?

  關鍵字 :boolQueryBuilder.must(QueryBuilders.match) (去除全部空格,分詞查詢)

  分類:boolQueryBuilder.filter(QueryBuilders.term) (term精確匹配)

  品牌:boolQueryBuilder.filter(QueryBuilders.term) (term精確匹配,支持多品牌查詢,對品牌進行聚合分組)

  規格:boolQueryBuilder.filter(QueryBuilders.term) (動態多值,使用“Object”對象類型存儲,精確匹配,對規格進行分組聚合)

  價格區間 :boolQueryBuilder.filter(QueryBuilders.range) (數值類型、數值大小、最大最小值位置)

  排序 :nativeSearchQueryBuilder.withSort (只有價格是兩種順序,其他都是一種)

  分組聚合:nativeSearchQueryBuilder.withHighlightFields (為了獲取搜索面板數據)

  高亮:nativeSearchQueryBuilder.addAggregation

  分頁:nativeSearchQueryBuilder.withPageable

 

封裝返回的結果:

搜索面板、結果列表(高亮)、分頁、搜索條件

 


 

前端搜索流程

1)用戶在網站首頁“搜索框searchBox”輸入關鍵字,點擊“搜索”按鈕,攜帶搜索“關鍵字”跳轉到搜索頁面
2)搜索頁面接收”關鍵字“
  2.1)關鍵字回顯
  2.2)根據關鍵字進行“搜索”,並獲取相應結果:搜索面板數據、當前頁結果集、分頁數據
3)根據自身需要,添加搜索條件“品牌、規格(多個)、價格區間、排序”
  3.1)搜索條件回顯
  3.2)根據“選則的搜索條件(多個條件)”進行“搜索”,並獲取相應結果:搜索面板數據、當前頁結果集、分頁數據

 


ES使用流程

1)搭建ES服務器(單機、集群)
2)創建映射,建立實體和索引庫的映射關系,使用spring-data-elasticsearch
  //ES提供的接口,可以對索引庫進行CRUD操作;T建立了和索引庫映射關系的對象、ID為T對象中的主鍵類型
  ElasticsearchRepository<T,ID>
  //操作索引庫
  ElasticSearchTemplate
3)索引庫維護(初始化數據導入全量索引、增量索引、索引同步、定時索引(全量索引、增量索引),手動索引)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM