[解决方案]基于Elasticsearch 为电商提供商品数据大数据查询

这篇具有很好参考价值的文章主要介绍了[解决方案]基于Elasticsearch 为电商提供商品数据大数据查询。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基于Elasticsearch 为电商提供商品数据大数据查询

前言

对于现代电商的产品,维度的多员花,与一套强大的搜索引擎,那是非常必要的。今天我们主要是描述我们在从事电商搜索引擎过程中的遇到的一些问题和经验分享。

过程

数据准备

1、我们准备为我们需要做查找的数据做好一张视图,方便我们分析数据查找维度,与查找场景需求。附加代码,对于Mysql 创建视图不清楚的,可以自行查找具体的文档了解,在我们完成视图创建后,我们就已经有了一张视图表,供我们数据使用。


select `g`.`goods_id` AS `goods_id`,`g`.`publisher_sn` AS `publisher_sn`,`g`.`add_time` AS `add_time`,`g`.`last_update` AS `last_update`,`g`.`goods_name` AS `goods_name`,`g`.`fineness` AS `fineness`,`g`.`look` AS `look`,`g`.`cat_path` AS `cat_path`,`g`.`goods_number` AS `goods_number`,`g`.`shop_price` AS `shop_price`,`g`.`goods_weight` AS `weight`,`g`.`keywords` AS `keywords`,`g`.`goods_desc` AS `goods_desc`,`g`.`isbn` AS `isbn`,`a`.`attr_value` AS `author`,`b`.`attr_value` AS `publisher`,`c`.`attr_value` AS `yiname`,`m`.`age` AS `age`,`m`.`press_intro` AS `press_intro`,`m`.`author_info` AS `author_info`,`m`.`media_intro` AS `media_intro`,`m`.`catalog` AS `catalog`,`m`.`prologue` AS `prologue`,`m`.`selling_point_1` AS `selling_point_1`,`m`.`selling_point_2` AS `selling_point_2`,`m`.`selling_point_3` AS `selling_point_3`,`m`.`detail_intro_1` AS `detail_intro_1`,`m`.`detail_intro_2` AS `detail_intro_2`,`m`.`detail_intro_3` AS `detail_intro_3`,`m`.`wtao_intro` AS `wtao_intro`,`m`.`video_intro` AS `video_intro`,`co`.`positive` AS `positive`,`co`.`negative` AS `negative`,`s`.`name` AS `series_name`,`s`.`name_cn` AS `series_name_cn`,`v`.`title` AS `v_title`,`v`.`article` AS `v_article`,`k`.`bunch_no` AS `bunch_no` from ((((((((`sd_goods` `g` left join `sd_goods_attr` `c` on((`g`.`goods_id` = `c`.`goods_id`))) left join `sd_goods_attr` `a` on((`g`.`goods_id` = `a`.`goods_id`))) left join `sd_goods_attr` `b` on((`g`.`goods_id` = `b`.`goods_id`))) left join `sd_goods_more` `m` on((`g`.`goods_id` = `m`.`goods_id`))) left join `sd_cover_text` `co` on((`g`.`isbn` = `co`.`isbn`))) left join `sd_series_name` `s` on((`g`.`isbn` = `s`.`isbn`))) left join `nosql`.`video_words_result` `v` on((`g`.`isbn` = `v`.`isbn`))) left join `sd_bunch` `k` on((`g`.`isbn` = `k`.`isbn`))) where ((`c`.`attr_id` = 1) and (`a`.`attr_id` = 2) and (`b`.`attr_id` = 3))

[解决方案]基于Elasticsearch 为电商提供商品数据大数据查询

2、创建查询索引,在创建这块的时候,需要主要创建过程中的类型的选择,方便您在查询过程中可以应用的更准确与方便。

PUT /products
{
 "settings": {
   "number_of_shards": 5,
   "number_of_replicas": 1
 },
 "mappings": {
     "properties": {
       "goods_id":{
         "type": "text"
       },
       "publisher_sn":{
           "type": "text"
       },
       "goods_name": {
           "type": "text",
           "analyzer": "ik_smart"
       },
       "keywords": {
           "type": "text",
           "analyzer": "ik_smart"
       },
       "weight":{
           "type":"keyword"
       },
       "goods_desc": {
           "type": "text",
           "analyzer": "ik_smart"
       },
       "author": {
           "type": "text",
           "analyzer": "ik_smart"
       },
       "publisher": {
           "type": "text",
           "analyzer": "ik_smart"
       },
       "yiname": {
           "type": "text",
           "analyzer": "ik_smart"
       },
       "fineness":{
           "type": "text"
       },
       "look":{
           "type": "text"
       },
       "isbn":{
           "type": "text"
       },
       "age":{
           "type": "text"
       },
       "press_intro": {
           "type": "text",
           "analyzer": "ik_smart"
       },
       "author_info": {
           "type": "text",
           "analyzer": "ik_smart"
       },
       "media_intro": {
           "type": "text",
           "analyzer": "ik_smart"
       },
       "positive": {
           "type": "text",
           "analyzer": "ik_smart"
       },
       "negative": {
           "type": "text",
           "analyzer": "ik_smart"
       },
       "series_name": {
           "type": "text",
           "analyzer": "ik_smart"
       },
       "series_name_cn": {
           "type": "text",
           "analyzer": "ik_smart"
       },
       "v_title":{
           "type": "text",
           "analyzer": "ik_smart"
       },
       "v_article":{
           "type": "text",
           "analyzer": "ik_smart"
       }
     }
 }
}

3、索引数据的添加,数据的添加方式更多的看具体的团队的情况,我们这边主要是使用Canal 来帮助我们完成数据的添加与新增数据的添加,在使用Canal的时候,需要有JAVA经验,会更好的解决一些同步过程中的问题。

4、对于未使用现成数据同步工具的,自己也是可以根据具体场景写Hook 来完成数据的添加,对于有不清楚的地方,可以联系我们了解。

5、对于 Elasticsearch 的部署搭建不熟悉的同步,可以参考我们的 Docker-composer 快速部署方式。

数据使用

数据查找应用,基于 SDK 查找, 对于 Query DSL 不熟悉的同步可以基于我们前面的 How to build a OR condition in Elasticsearch Query DSL 了解更多

[解决方案]基于Elasticsearch 为电商提供商品数据大数据查询

[解决方案]基于Elasticsearch 为电商提供商品数据大数据查询文章来源地址https://www.toymoban.com/news/detail-484440.html

到了这里,关于[解决方案]基于Elasticsearch 为电商提供商品数据大数据查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 解决`SQLyog Trial`试用到期的问题(提供一个脚本解决方案)

    解决`SQLyog Trial`试用到期的问题(提供一个脚本解决方案)

    本文将总结 SQLyog Trial 试用到期的问题。 其实解决起来很简单,就是将SQLyog相关注册表删掉即可 Win+R 打开运行,输入 regedit 回车,打开注册表 在 HKEY_CURRENT_USERSOFTWARE 路径下,找到 {d58cb4b1-47f3-45cb-a209-f298d0c3f756} 这个一串字符串的项 (不确定大家的是否都一样,自己找找,找

    2024年02月06日
    浏览(9)
  • 阿里云跨境电商企业出海最佳实践及数字化解决方案

    最近阿里云推出了全球云服务器精选特惠活动,并在活动内提供了跨境电商企业出海最佳实践及数字化解决方案,用户不仅在此可以购买到各种优惠的海外轻量应用服务器和云服务器,同时还能免费查看游戏、跨境文件传输、电商行业业务及数据库上云、电商网站等最佳实践

    2023年04月21日
    浏览(10)
  • 电信不提供公网IP怎么解决?快解析内网穿透解决方案

    电信不提供公网IP怎么解决?快解析内网穿透解决方案

    由于现在电信运营商的政策调整,加上受到网络服务架构的影响,一些用户在使用宽带连接时,往往会遇到电信不提供公网IP的情况。这种情况下,我们可能会受到一些限制,特别是对于需要对外提供服务或进行远程访问的场景而言,这个影响会更加大。 1.公网IP是什么 在互

    2024年02月12日
    浏览(6)
  • 神码论文修改助手,为学者提供智能写作解决方案

    神码论文修改助手,为学者提供智能写作解决方案

    大家好,今天来聊聊神码论文修改助手,为学者提供智能写作解决方案,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: 神码论文修改助手:为学者提供智能写作解决方案 在学术界,论文的写作和修改是一项重

    2024年01月21日
    浏览(14)
  • 亿发连锁商超新零售解决方案提供商,提供定制新零售管理系统

    亿发连锁商超新零售解决方案提供商,提供定制新零售管理系统

    时代的发展带动了经济环境的变化,为迎合市场经济的发展需求,数字化收银逐渐融入到大中生活中,中小型商铺都倾向于使用智慧收银系统取代传统收银模式。新零售系统成为了商家在竞争激烈的市场中立足的关键。但随之也带来了数不尽的竞争压力,下面将详细探讨新零

    2024年02月07日
    浏览(7)
  • “高速数据线缆”自动化测试系统,提供完整解决方案

    “高速数据线缆”自动化测试系统,提供完整解决方案

    一、概述        高速线缆自动化测试系统针对高速线缆测试需求提供完整解决方案,支持多种线缆规格全自动化测试,支持多种测试标准,系统提供一键测试方案,快速帮助用户解决研发、生产阶段各种线缆测试问题。         系统基于多端口矢量网络分析仪,利用多端口

    2023年04月08日
    浏览(7)
  • ADAMoracle预言机提供安全且极致便利的整体解决方案

    ADAMoracle预言机提供安全且极致便利的整体解决方案。 预言机是链外数据的提供平台,也是智能合约的参数输入源,它能真实、准确地将链外数据输入链内,从而保证链内数据的真实性,实现智能合约可信的与外部世界进行交互。ADAMoracle生态及其去中心化预言机网络能够大幅

    2024年02月12日
    浏览(9)
  • VMWARE 服务器整合为战提供的解决方案

    虚拟构架提供前所未有的负载隔离,为所有系统运算和 I/O 设计的微型 资源控制。虚拟构架完美地结合现有的管理软件并在共享存储( SAN )上改 进投资回报率。通过把物理系统整合到有 VMWARE 虚拟构架的数据中心上 去,企业体验到:  更少的硬件和维护费用  空闲系统资

    2024年02月09日
    浏览(13)
  • 《Spring》--使用application.yml特性提供多环境开发解决方案/开发/测试/线上--方案2

    《Spring》--使用application.yml特性提供多环境开发解决方案/开发/测试/线上--方案2

            第二种多环境的配置选择解决方案,这个更加的灵活没在配置方面都选择了一种yml的书写方式。 在Spring Boot中, spring.profiles.active  属性用于指定当前应用程序应激活哪个环境配置。当Spring Boot应用启动时,它会读取应用的配置文件(通常是application.properties或applica

    2024年01月16日
    浏览(15)
  • 《Spring》--使用application.yml特性提供多环境开发解决方案/开发/测试/线上--方案1

    《Spring》--使用application.yml特性提供多环境开发解决方案/开发/测试/线上--方案1

            有不少同志有疑问说我正常开发的时候,需要自己搭建项目的时候。总是出现配置文件环境切换出现问题。多环境系列会出两个文章解决给搭建重点解决一下这个问题。给与两种解决的方案。正确让大家只需要按照步骤操作就可以完成。         通过pom文件maven指示

    2024年01月22日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包