【Open Search产品评测】-- 淘点点:基于OpenSearch,轻松实现一整套O2O类
2019独角兽企业重金招聘Python工程师标准>>>
【Open Search产品评测】--
淘点点:基于OpenSearch,轻松实现一整套O2O类搜索解决方案
[使用背景]
我们淘点点团队应该可以算是内网首批使用opensearch来搭建应用的团队了,在此之前,一直使用集团内一个基于lucene的引擎平台。对于淘点点特定的排序需求,都需要该团队配合升级,运维上共同维护。年初,集团推出Isearch5,然后又看到opensearch,一个基于Isearch5之上的搜索开放平台。听下来最令我们开心的就是:排序支持formula, 这样以后我们就可以自己写排序表达式,同时也可以动态调整排序参数,排序简简单单的一句“sort=RANK”就能让定制排序生效,就是方便。
[使用过程]
事实上,opensearch上手的确很快。看一下官网的帮助文档,创建出应用,定义好索引结构,调用其提供的sdk就能快速搭建搜索服务。当然,期间也会有很多细节问题和需求,这些通过opensearch团队的兄弟姐妹,都能快速解决。同时opensearch提供多种排序和过滤策略,完全自定义,能让我们在产品上进行多个维度上展现,底层只需要稍微修改下查询语句即可,非常方便。
[使用技巧]
如外卖场景,需要根据商家的配送范围进行外卖能力的筛选和判断,opensearch团队也推出了in_polygon插件,只需要商家将配送范围在地图上进行打标,转化为opensearch的多值double字段area_values,查询时调用in_polygon(lat,lon,area_values),其中lat\lon为当前用户坐标,即可实现界面上只展现能配送到用户指定位置的商家列表。
按距离排序或者过滤应该是O2O类搜索不可避免的需求,对此opensearch也提供了distinct的功能,能够用到filter、sort以及排序表达式中,对距离项进行过滤、排序或者算分加权。
还有一个疑难点,按照菜品、优惠券聚合功能,比如在店的维度有多个菜品、多张优惠券,展示时需要根据若干的条件优化到最优的一条,但又要展示出总条目,通过aggregate和distinct子句能够很好的实现这一条,不过在数据多表join的时候逻辑和数据比较冗余,会有些badcase出现,目前我们想办法优化这一点。
其他还有按配送时间段自动过滤、按配送费排序等等,opensearch目前也正在支持我们做商圈的过滤,相信淘点点也会功能越来越强大。
[意见及建议]
现在用下来,觉得opensearch有几点需要改进的:
1. 即时更新的速度:现在基本是在1分钟内可以完成doc的更新。这对于一些实时性要求较高的场合是不友好的。这点opensearch团队已经在推秒级的即时更新了,期望能快速用上;
Opensearch解答:秒级更新正在开发中,近期就会上线。
2. 更新的doc可以通过api推送,但是推送的doc没有时间戳的概念,这就必须要求我们自己保证推送的doc是有序的,这样推送doc就只能用单台机器来做,对于qps高的场合我们很希望能用多台机器来做,因为有了时间戳,引擎底层就可以把doc按序拼好;
Opensearch解答:该功能已经在规划中,敬请期待。
[总结]
总之,使用opensearch还是非常满意的,响应速度非常好,有些细节问题都能及时解决,对于O2O类搜索场景也已经提供了一整套的解决方案。还大大节省了我们的运维成本,搞个活动神马的QPS突增都不需要操心机器问题。至此,3月基于openseach的外卖搜索上线,此后代金券搜索,菜品搜索,吃货相册,公共搜索等已陆续上线。
希望 Opensearch 越做越好,给我们带来更多的便利。
淘点点:http://www.taobao.com/market/dd/index.php
转载于:https://my.oschina.net/u/1464083/blog/304733
【Open Search产品评测】-- 淘点点:基于OpenSearch,轻松实现一整套O2O类相关推荐
- 【Open Search产品评测】-- 淘点点:基于OpenSearch,轻松实现一整套O2O类搜索解决方案...
[Open Search产品评测]-- 淘点点:基于OpenSearch,轻松实现一整套O2O类搜索解决方案 [使用背景] 我们淘点点团队应该可以算是内网首批使用opensearch来搭建应用 ...
- 【Open Search产品评测】- 来往,7天轻松定制属于自己的搜索引擎
[Open Search产品评测]-- 来往,7天轻松定制属于自己的搜索引擎 [使用背景] 相信很多人都遇到过要给网站或者app做一个搜索功能的需求,很久之前自己折腾过lucene,搞了很久, ...
- 淘点点能否不孚众望扛起阿里O2O的大任?
一个叫淘点点的餐饮业APP,承载阿里所有移动互联的期望进军生活类平台.自去年6月17日诞生以来,已承受了太多的关注和压力.之所以吸引这么多的关注,是因为他继承了阿里的纯正血脉,同时也肩负着阿里由电商平 ...
- 腾讯的微生活、阿里淘点点、饿了吗相关前景分析
当你知道淘点点针对的这个市场的现金牛有多大,你就知道谁更有前途 前两天淘点点有来了四个负责人和我讨论了一些关于网络点餐的事情,淘点点负责人很多观点与我不谋而合,而且我相信淘点点也能做得很好. 先说一下 ...
- 饿了么 如何优雅地战胜 淘点点
[Chapter 0]意外 这篇文章的阅读转发量已经超出了我的预期,不得不改名.从传播上来讲,改了名之后效果肯定会差一些,小伙伴们可能会发现题目和内容的节奏不对.不要在意细节- -剩下的内容我再慢慢改 ...
- 阿里:为了不死 只能求生 淘点点肩负重任
昨天淘点点算是正式亮相了,以阿里的风格,淘点点又将被打造成一个生态系统.其实从淘点点的产品功能上来看,不过是嵌在手机淘宝里的具有"外卖"和"点餐"功能的软件,而 ...
- 订餐系统之自动确认淘点点订单
最近淘点点好像做了一个重大调整,一个企业帐号只能开10家店,个人帐号只能开5家店,这个对于第三方配送的就有些麻烦了,如果您开的店多了,您就得用多个帐号,如果您要把订单导入自己的平台,统一操作,这个又麻 ...
- 仿百度外卖、美团外卖、淘点点等左右联动ListView菜单展示
!!之前代码有问题,左边Listview项滚出屏幕后位置不对,没有联动,重新改了下,https://github.com/wpq2014/MyDemo 相关文章:http://www.jia ...
- 银行定期存款产品目标客户的确定——基于逻辑回归
本篇文章将会介绍用Python分析银行定期存款产品目标客户的确定详细建模细节,业务框架分析以及模型的选择与评估分析参见上一篇文章: 银行定期存款产品目标客户的确定--基于逻辑回归(建模前分析) 1.导 ...
最新文章
- 我是如何设计 Upload 上传组件的
- Atitit ftp原理与解决方案
- 面试必会系列 - 1.7 JVM 内存模型
- wordpress 评论ajax,WordPress教程 WordPress实现提交评论ajax翻页效果教程
- 管理员信息模块php,管理员模块功能代码
- SQL Server 连接字符串
- Java数组与容器类分析资料--数组、List和Set、Map-asp.net关注
- sourcetree向github推送代码提示密码错误
- Qt5下载安装及环境变量配置详解
- Flask + PostgreSQL部署在Heroku上的薅羊毛线报网站
- Springboot中使用Junit5(Jupiter)和Mockito
- 【C语言】乘法口诀表
- 丁向荣单片机pdf_《单片机原理与应用 --基于可在线仿真的STC15F2K60S2单片机》 丁向荣、陈崇辉 【正版电子纸书阅读_PDF下载】- 书问...
- 手机H5-调用百度地图导航
- SQL:with as用法
- 剪刀石头布 (上 下) 注意:合成图片,内容自理
- 蜗牛星际NAS,通过ssh修改mac和sn
- python实现简单图书管理系统
- JFS与JFS2的区别
- 【Word】Word技巧汇总