zoukankan      html  css  js  c++  java
  • 电商项目查询模块思路(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)索引库维护(初始化数据导入全量索引、增量索引、索引同步、定时索引(全量索引、增量索引),手动索引)

  • 相关阅读:
    Finalize,Dispose,SuppressFinalize
    防火防盗防微软,Firefox发布插件自动检测服务
    Nginx的Rewrite设置及示例
    Linux游戏开发包 ClanLib 2.1.0 发布
    HTTP协议详解(真的很经典)
    Linux on POWER:发行版迁移和二进制兼容性考虑事项
    映射网络驱动器VBS脚本
    [笔记] 使用 opcache 优化生产环境PHP
    2020最新版MySQL数据库面试题(三)
    请注意,面试中有这7个行为肯定会被拒绝!
  • 原文地址:https://www.cnblogs.com/zagwk/p/12688371.html
Copyright © 2011-2022 走看看