`

搜索场景和策略

 
阅读更多

最近一直在思考搜索是什么? 可以总结不同的场景搜索的策略不同

 

场景一: 数据不经常变化 关键词有规律  

可以考虑采用缓存进行处理(mc redis ...) 如果数据量大的话需要考虑分布式处理,可能采取的方式hash 

 

场景二:一次请求需要查询多张表

     这时候我们需要考虑跨表查询改成单表查询,还要增加上索引的优化,

     之前遇到的机票搜索就在应用层面做了优化,一次报价搜索来源不同的代理商报价数据,我们发现用户的搜索只是北京-上海-日期这种格式,所以只要保证数据在一张表就可以了,我们增加了搜索库,保证搜索和代理商后台管理是隔离的,之后采用路由的方式同步到搜索库,数据同步方式基于canal实现,同时需要考虑冷热数据,路由表维护了这个关系(通过统计数据进行确定)。

 

场景三:典型的电商搜索 关键词搜索

 如果是数据库必须使用like 用了like  索引无效那么索引的优势 数据库的查询的性能就不能发挥到极致 那么通过数据库搜索就行不通  

 之前接触过lucence(全文检索利器 基于倒排索引),可以很好的完成全文检索,但是当时仅限单机使用;

后来接触了elasticsearch,发现可以用于分布式环境下的全文检索,继续思考没有elasticsearch的时候,电商平台怎么做的搜索?或者说这背后需要什么支撑?

最近看到1号店的双11的技术分享,仔细阅读完,自己认为的核心点:索引的存储、shard(分片)、route(路由)  

先解释分片和路由:

      不可能把所有商品信息存储在一个索引文件,想到的处理方式就是分片(大问题转化为小问题),分片之后需要考虑的路由,为什么这么说?你查询关键词 “苹果”  可能会出现在手机分类下,也可能出现在水果分类下,怎么分的就怎么合并。这就是路由的目的,路由策略需要减少查询分片的数量,这样才能提高查询性能。如何才能减少查询的分片数目?如果用户在指定分类下进行搜索,对应的分片数目也就减少和确定了;用户可能更习惯简单在搜索框中输入关键词,分类减少分片数目这种方式不可取(你不确定用户需要手机还是水果),这种情况我们就必须查询所有的分片,如果这样查询性能就出现了瓶颈,或者不可用,如何解决?我们可以通过搜索结果和用户习惯进行分析,用户会翻阅10页之后的结果吗?答案是基本不会  那么我们可以基于返回的数据只取前5页的内容统计分片来源,之后将该关键词和分片进行绑定,并维护起来,下个用户再搜索的时候就直接走这个路由规则。关键词和分片的关系设计成缓存,商品信息变化,失效之后需要重新维护关键词和分片的关系。

解释一下索引的存储:

      存储需要考虑扩展性和稳定性,分布式存储系统比较合适(eg:Hadoop)

 

有新的想法到时候再补充

 

 

分享到:
评论

相关推荐

    电商直播场景构建及其营销策略研究LW

    提供了搜索技巧和参考文献管理工具的使用方法。 数据资源:说明如何获取和处理研究所需的数据,包括公共数据集、调查问卷、实验数据等。介绍数据采集、清洗和分析的方法,并提供常用的数据分析工具和软件的使用指南...

    论文研究-基于投资者关注的股价走势预测与交易策略设计——股票间交叉模式视角.pdf

    论文研究-基于投资者关注的股价走势预测与交易策略...同时,本文以我国A股市场股票为研究样本,针对特定场景检验了个股层面交易策略的效果.实验结果表明:利用相关股票搜索量与目标股票价格的关系,可以获得显著的超额收益.

    汽车新媒体:结合场景设计好传播模式并降低成本.pptx

    运营者需要设计促销策略,并用海报、文章等内容形式触达用户,以期获得更好的销售反馈。;帮助企业增加互联网话题内容,企业的新媒体传播能力会随着产品交付而升级。;现阶段对于铺天盖地的互联网广告“轰炸”,网民更...

    一种基于递归的搜索策略的旅行商问题回溯法

    旅行商问题(Traveling Salesman Problem,TSP)是一个著名的组合优化问题,涉及寻找一条经过所有给定城市并且回到起始城市的最短路径。...因此,处理TSP问题往往需要结合具体应用场景和问题规模,选择适当的算法来求解

    论文研究-认知无线网络中频谱预测的协作策略设计.pdf

    将频谱预测的协作策略设计问题归纳为一个优化问题,以整个CRN的吞吐率最大为优化目标,对参与协作的SU数量和数据融合门限进行优化,并提出一种搜索算法求解此优化问题,这是首次对协作频谱预测中的协作策略进行研究...

    深度学习在美团搜索广告排序的应用实践.pdf

    本文将结合广告特殊的业务场景,介绍美 团搜索广告场景下深度学习的应用和探索。主要包括以下两大部分: · CTR/CVR预估由机器学习向深度学习迁移的模型探索 · CTR/CVR预估基于深度学习模型的线下训练/线上预估的...

    通用爬虫策略.zip

    爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL...

    一个股票数据(沪深)爬虫和选股策略测试框架.zip

    爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL...

    一种带权重的改进跳点搜索路径规划算法

    为解决非结构化复杂场景下基于搜索的寻路算法中存在的计算时间长、路径非最优等问题,在跳点搜索( Jump pointsearch,JPS)算法的基础上,提岀一种带权重的跳点搜索( weighted jump point search,wJPS)算法。...

    利用精确定时信息增强大型强子对撞机的长寿命粒子搜索

    这种搜索策略可用于多种模型。 除了概述此一般方法外,我们还通过在两个基准场景下的预期范围来证明其有效性:希格斯玻色子衰减成一对LLP,以及在量表介导的超对称破坏模型中成对产生长寿命的中性基。 与传统的LLP...

    BaiduSpider,一个爬取百度搜索结果的爬虫.zip

    目前支持百度网页搜索,百度图片搜索,百度知道搜索,百度视频搜索,百度资讯搜索,百度文库搜索,百度经验搜索和百度百科搜索。 爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问...

    强化学习在阿里的技术演进与业务创新

    第一章 基于强化学习的实时搜索排序策略调控 ...第十章 策略优化方法在搜索广告排序和竞价机制中的应用 第十一章 TaskBot-阿里小蜜的任务型问答技术 第十二章 DRL导购-阿里小蜜的多轮标签推荐技术

    希格西诺暗物质与否:大型强子对撞机和未来对撞机上轨道搜索消失的作用

    我们在大型强子对撞机和希格西诺暗物质情景的未来对撞机上研究了这种搜索策略的前景。 结果发现,几乎纯净的希格西诺确实在未来的33个TeV对撞机实验的范围之内。 然后,我们讨论了对撞机实验与非加速器实验之间的...

    强化学习 阿里

    第一章 基于强化学习的实时搜索排序策略调控 ...第十章 策略优化方法在搜索广告排序和竞价机制中的应用 第十一章 TaskBot-阿里小蜜的任务型问答技术 第十二章 DRL导购-阿里小蜜的多轮标签推荐技术

    基于场景动态度的两级配送路径问题

    针对城市配送过程中出现的交通限行和需求不...最后,通过仿真算例验证模型和算法的有效性,实验结果表明,所提出的设计策略能够有效降低动态客户对低动态度应用场景初始路径的干扰,并简化高动态度场景下的路径优化复杂度.

    概率论在SEO中的应用提升网站排名的数学原理(文档加Matlab源码)

    本文深入探讨了概率论在搜索引擎优化(SEO)...使用场景包括网站内容创作、关键词策略规划和SEO效果分析。目标是帮助读者理解SEO与概率论之间的联系,并应用这些知识来提高网站的在线可见性和用户流量。 关键词 SEO

    阿里强化学习资料

    第一章 基于强化学习的实时搜索排序策略调控 ;...第十章 策略优化方法在搜索广告排序和竞价机制中的应用;第十一章 TaskBot -阿里小蜜的任务型问答技术;第十二章 DRL 导购-阿里小蜜的多轮标签推荐技术

    企查查高级搜索和批量查询爬虫.zip

    爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL...

Global site tag (gtag.js) - Google Analytics