最近一直在思考搜索是什么? 可以总结不同的场景搜索的策略不同
场景一: 数据不经常变化 关键词有规律
可以考虑采用缓存进行处理(mc redis ...) 如果数据量大的话需要考虑分布式处理,可能采取的方式hash
场景二:一次请求需要查询多张表
这时候我们需要考虑跨表查询改成单表查询,还要增加上索引的优化,
之前遇到的机票搜索就在应用层面做了优化,一次报价搜索来源不同的代理商报价数据,我们发现用户的搜索只是北京-上海-日期这种格式,所以只要保证数据在一张表就可以了,我们增加了搜索库,保证搜索和代理商后台管理是隔离的,之后采用路由的方式同步到搜索库,数据同步方式基于canal实现,同时需要考虑冷热数据,路由表维护了这个关系(通过统计数据进行确定)。
场景三:典型的电商搜索 关键词搜索
如果是数据库必须使用like 用了like 索引无效那么索引的优势 数据库的查询的性能就不能发挥到极致 那么通过数据库搜索就行不通
之前接触过lucence(全文检索利器 基于倒排索引),可以很好的完成全文检索,但是当时仅限单机使用;
后来接触了elasticsearch,发现可以用于分布式环境下的全文检索,继续思考没有elasticsearch的时候,电商平台怎么做的搜索?或者说这背后需要什么支撑?
最近看到1号店的双11的技术分享,仔细阅读完,自己认为的核心点:索引的存储、shard(分片)、route(路由)
先解释分片和路由:
不可能把所有商品信息存储在一个索引文件,想到的处理方式就是分片(大问题转化为小问题),分片之后需要考虑的路由,为什么这么说?你查询关键词 “苹果” 可能会出现在手机分类下,也可能出现在水果分类下,怎么分的就怎么合并。这就是路由的目的,路由策略需要减少查询分片的数量,这样才能提高查询性能。如何才能减少查询的分片数目?如果用户在指定分类下进行搜索,对应的分片数目也就减少和确定了;用户可能更习惯简单在搜索框中输入关键词,分类减少分片数目这种方式不可取(你不确定用户需要手机还是水果),这种情况我们就必须查询所有的分片,如果这样查询性能就出现了瓶颈,或者不可用,如何解决?我们可以通过搜索结果和用户习惯进行分析,用户会翻阅10页之后的结果吗?答案是基本不会 那么我们可以基于返回的数据只取前5页的内容统计分片来源,之后将该关键词和分片进行绑定,并维护起来,下个用户再搜索的时候就直接走这个路由规则。关键词和分片的关系设计成缓存,商品信息变化,失效之后需要重新维护关键词和分片的关系。
解释一下索引的存储:
存储需要考虑扩展性和稳定性,分布式存储系统比较合适(eg:Hadoop)
有新的想法到时候再补充
相关推荐
人工智能搜索策略可以应用于各种搜索场景,例如网络搜索、数据库搜索、图像搜索等。 人工智能搜索策略的技术创新是指通过机器学习、深度学习、自然语言处理等技术来实现搜索策略的优化和改进。这种技术创新可以带来...
- **动态调整爬取策略**: 根据实时反馈调整搜索策略,例如根据用户行为调整爬取频率和深度。 - **分布式爬取**: 利用多台机器同时进行爬取工作,以提高爬取速度和效率。 #### 五、结论 网络爬虫是搜索引擎技术的...
它是一个深度神经网络,用来同时估计策略和价值函数。策略函数给出在当前状态下每个可能动作的概率,而价值函数则预测采取某个动作后未来获得奖励的期望值。在五子棋AI的背景下,PVN可以预测每一步棋的胜率和每种走...
鲸鱼优化算法(CWOA)是一种新型的全局优化算法,源自自然界中...通过深入理解CWOA和混沌搜索策略的原理,并结合Matlab提供的代码,研究者可以更好地掌握这种优化方法,并将其应用到实际问题中,解决复杂的优化挑战。
由于消费者在使用移动设备搜索产品时,获取的信息可能并不全面,营销人员需要利用移动互联网技术,通过场景数据对消费者进行精准营销。通过整合线上线下的消费场景信息,根据消费者所处的地点、活动内容和时间点,向...
标题“基于互信息与ML搜索策略的图像配准算法”涉及的是计算机视觉领域的一个关键问题——图像配准。图像配准是将两幅或多幅图像对齐,使其在同一个坐标系统下表示相同或相似的场景,这对于医学成像、遥感、三维重建...
此外,问题规约搜索和博弈也是搜索策略的重要应用场景。问题规约是指将复杂问题转换为已知的简单问题,以便于解决。而在博弈中,搜索策略用于预测对手的可能行动,制定最佳策略,如Minimax算法和Alpha-Beta剪枝就是...
Lucene非常适合处理这类场景,特别是对于大量静态数据的索引和搜索。 - **数据经常需要更新但数据量不大**:对于此类情况,可以采用增量更新的方式,即只对新增或修改的部分进行索引更新,而不是重建整个索引,...
总的来说,搜索场景下的智能实体推荐是一个复杂的系统工程,涉及到对用户查询的深度理解和解析,以及对海量数据的有效利用。通过结合多种技术手段,如知识图谱、自然语言处理、用户行为分析等,可以实现更加智能、...
状态空间搜索策略是人工智能领域中解决复杂问题的关键技术,它主要应用于问题求解和路径规划。本章聚焦于搜索的概念、种类以及不同搜索策略的详细分析。 5.1 搜索的概念及种类 搜索是通过尝试不同的解决问题的方法...
总结来说,搜索策略是人工智能中解决问题的基础,不同的搜索方法各有优势,适用于不同场景。状态空间表示法提供了一种有效的问题建模方式,而启发式搜索则通过引入额外的信息提升了搜索效率。理解并掌握这些搜索策略...
5. **实验与分析**:查看实验报告,了解算法在不同场景下的表现,学习如何对算法进行评估和调优。 通过对这个项目的研究,我们可以深化对人工智能决策算法的理解,尤其是零和博弈类游戏中的应用,为未来在相关领域...
同时,本文提出的微操方法也为数据驱动的人工智能应用提供了新的思路,通过结合深度学习和搜索技术,为实时策略游戏中的智能体提供了更加高效和智能化的决策支持。 文章不仅对微操方法进行了理论阐述,还通过实验...
在工作区域搜索任务中,尤其是存在障碍物的复杂环境中,机器人协同搜索避障巡检策略可以显著提高操作目标的搜索效率和安全性。这种策略可以应用于多种场景,比如工厂巡检、环境监测、灾害搜救等,其中不确定性和障碍...
总结,面对几十亿数据量级的场景,分布式搜索引擎通过分布式索引、缓存、负载均衡、索引优化、并行处理和水平扩展等策略来优化查询性能。Java作为后端开发的主要语言,提供了丰富的工具和框架支持这些优化实践。通过...
【搜索策略】是人工智能领域的重要组成部分,涉及到推理过程和问题解决效率。尼尔逊将其列为AI研究的核心问题之一。在这一主题中,我们主要探讨以下几个关键知识点: **1. 基本概念** - **搜索**:指的是在问题空间...
在本次技术分享中,我们聚焦于深度文本匹配在搜索场景中的应用,这是一项旨在提高搜索效率和准确性的关键技术。 文本匹配的演进历程是一个不断优化的过程,从早期基于规则的方法,如关键词匹配,到后来的统计模型,...
标题中的“电信设备-一种基于视频展示场景的信息搜索方法和系统”揭示了这个技术主题主要集中在电信设备领域,特别是关于信息搜索技术的应用。这一技术利用视频展示场景来提高信息检索的效率和准确性。在现代通信...
文中提到了几种ABC算法的变体,包括引入组合搜索策略、可变邻域搜索因子、洛伦兹混沌系统生成初始种群、精英群体知识引导搜索、以及蚁群算法与Powell算法的结合等,这些都旨在提升算法的性能和全局搜索效率。...