Algolia-博客中文翻译-二-
Algolia 博客中文翻译(二)
原文:Algolia Blog
我们正在将我们的基础设施扩展到英国
原文:https://www.algolia.com/blog/algolia/expanding-our-infrastructure-to-the-uk/
随着企业的消费化,用户希望在任何地方都能获得类似亚马逊、网飞和谷歌的体验。为了支持这种搜索和发现体验,我们构建了一个强大的分布式架构,为全球各地的 8000 多家客户提供前所未有的速度和高达 99.99%的 SLA,其中包括一些世界顶级品牌。为了保持如此高的标准,我们一直在寻找机会加强我们基础设施的可用性。
本周,我们在英国开设了两个新的数据中心,从而为我们全球 DSN(分布式搜索网络)的 70 多个中心网络增加了第 17 个区域。
全球足迹
速度、可靠性和安全性是 Algolia 在全球取得成功的标志。今天,Algolia 在全球 17 个地区提供超过 1 万亿次用户生成的查询,每月有 700 亿次以上的搜索和 200 亿次以上的 API 调用。
随着英国地区的扩张,我们的 6 大洲覆盖范围如下:
- 北美:美国(东、西、中)、加拿大
- 南美:巴西
- 欧洲:法国、德国、荷兰、俄罗斯、英国
- 亚洲:香港、印度、日本、新加坡、阿联酋
- 大洋洲:澳大利亚
- 非洲:南非
这对我们的英国客户意味着什么?
由于搜索查询会自动定向到最近的数据中心,英国地区的延迟将减少 5-10 毫秒。
数据局部性为我们的英国客户提供了额外的保险。通过我们的安全性、数据恢复和透明度承诺,确保客户的业务连续性仍然是 Algolia 的首要任务。
“Algolia 将基础设施扩展到英国的决定再次增强了我们对 Algolia 安全性、可靠性和企业就绪性的信心。我们期待共同努力,为我们的客户提供一流的搜索和发现体验。”
Dunelm Digital 数字工程总监 James Hoare
开始使用我们的新数据中心
如果你已经在使用 Algolia,并想迁移到英国地区,请发送电子邮件给我们:support@algolia.com。
还没有机会试用我们吗?现在就注册一个免费账户,或者与我们的产品专家预约一个时间。
阿尔戈利亚的面孔:遇见玛丽-劳雷·辛
原文:https://www.algolia.com/blog/algolia/faces-algolia-meet-marie-laure-sin/
介绍 Algolia 的面孔:我们全新的系列将您与创造奇迹的人联系起来。随着我们跨越多个 大洲、五个城市以及无数文化和背景来组建我们的团队,我们很高兴能让您一窥我们世界的幕后。
【今日特写】 玛丽-劳雷·辛 ,我们情报组的一名软件工程师,在纽约开始了她的市场营销生涯,并向工程界迈出了一大步。听听她的故事!
Marie-Laure Sin, Engineer at Algolia
像我们许多人一样,我是那种从来不知道自己想做什么的人。当然,我知道我喜欢成为一个有趣的项目的一部分,组织事情,最好是在一个具有挑战性的环境中,但它不像我的一些朋友那样是一种召唤。所以我不断尝试:在一家奢侈品牌做了几个月的新闻专员,在一家法国大公司的国际市场部实习。后来,当我毕业时,我有机会加入了纽约的一家科技创业公司。
我负责活动的策略协调。作为一家科技初创公司,参加演示产品的活动是销售团队的主要线索来源之一。最初的几个月很紧张:在一个新的国家安顿下来,与非常不同和聪明的人一起工作。我刚刚离开的那家大银行的变化非常残酷:我不再等待几轮审批,而是负责半打活动,处理从谈判到营销宣传材料的各种事务,以及展位和所有供应商的最后问题,还有我们展位周围的所有后勤工作。在旅行的大部分时间里,我不得不时刻关注一切。我喜欢这样一个事实:这是一份非常实际的工作,很有影响力,与银行舒适的环境相比,这是一个很好的改变。
为什么会这样决定?
然而,几个月后,肾上腺素开始消退:初创公司做得很好,我们承诺赞助许多活动。它开始有点重复,我开始有点厌倦:所有的活动都是一样的,我没有希望做别的事情。
我仍然喜欢和工程师在一起。工程师激起了我的兴趣;虽然我不明白他们在说什么,但他们似乎都很兴奋,并为自己的工作感到自豪。他们总是非常热情地谈论一项新技术,然后他们会讨论如何使用它,或者互相帮助,引用他们读过或喜欢的文章。
他们似乎对自己的工作充满热情,我真正喜欢的是他们在遇到问题时如何互相帮助。当然,他们有时会被某件事卡住,但其中一人曾告诉我:“有时,我不知道答案,我可以花几个小时甚至几天的时间研究某件事,但这就像警察调查,你试图找到罪犯,在一天结束时,我总是会学到新的东西”。他们中的一些人真的很鼓舞人心,告诉我任何人都可以通过一些动机和大量的努力工作成为一名开发人员。
我真的想做一些挑战我智力的事情,所以,在我的空闲时间,我参加了一个关于计算机科学的训练营:哈佛大学的 CS50(我强烈推荐!).这个训练营是一个游戏改变者:它设法让计算机科学变得有趣,并教你从算法到数据结构、安全、web 开发等概念!我开始以不同的方式看待事情,甚至发现自己在问某些事情在幕后是如何工作的:这真的打开了一个全新的视角!
【跃进】
在那个时候,我知道我想走这条路,所以我辞掉了工作,在巴黎参加了一个为期 5 个月的全职编码训练营。重新开始并不容易:有太多我从未听说过的概念,其中每一个都暗示了许多其他(也是未知的)概念,但是当你已经工作了几个小时的东西终于开始工作时,你所体验的感觉是不可思议的!
有时候,一路上可以迷路,也可以感到孤独。我决定加入一个名为“铁路上的女人”的训练营,在那里我们每周都会见面,并与一名导师合作。他们会不时地就某个特定的主题进行讨论(例如“Git 基础”),否则,我们可以跟踪他们,或者做我们自己的项目。导师们非常支持和友好,这对我帮助很大!能够与同处一地的人分享我的经历,也能与经历过这种经历的人分享,总是能给我动力。
于是求职开始了…
我非常清楚自己在寻找什么
- 我想在创业公司工作,因为在经历过之后,感受到了创业的氛围,就再也没有回头路了。一个会说英语的人是一个巨大的优势
- 一个我能感同身受的产品:来自市场营销,我的“产品”一面并没有在这个过程中消失,我知道我需要真正喜欢这个产品,并且能够谈论它
- 一个支持性的环境,人们愿意分享他们的知识和真正的团队精神!
在几场令人失望的面试中,Women On Rails 的一位导师告诉我们,一家初创公司提供了一份初级开发人员的工作,“似乎真的致力于寻找真正的初级开发人员”。那时,我已经读了数百份工作邀请,我不确定他是什么意思。但当我读到它的时候,我明白了。其他人都列出了我需要掌握的所有技术,我发布优秀代码的频率,而这份招聘启事关注的是激励,让彼此成长。
当然,在这一点上,这可能只是一个好的广告,但这已经是一个好的开始。有趣的是,几周之后,Algolia 举办了一个女性在 Rails 上的聚会,所以我可以亲眼看看这个聚会是怎样的!我没有失望:我一走进去,就有人欢迎我,和我坐在一起,问我在做什么,并告诉我她对这次特别的聚会有多高兴。我可以看到人们开诚布公地交谈,以一种非常开放和建设性的方式交换意见。有一种难以描述的特殊感觉,但类似于真正的友好,我立即感到轻松。那时我就知道我必须申请!
加入团队和入职流程
经过多次面试,我终于得到了我想要的答案:我将成为 Algolia 即时搜索团队的一员!
我记得我对入职过程印象深刻:一切都是为了让你感到舒适(我记不清有多少次人们检查我以确保一切顺利)。在最初的几个星期里,我和公司每个团队的成员一起制定了一个概览计划!虽然看起来很多,但这绝对是一个学习 Algolia 如何工作的好方法,并且真的有助于了解每个人。
即时搜索与玛丽一起登机
我开始和 Marie 一起工作,她是一名经验丰富的开发人员,当时负责 React InstantSearch 库。因为是渐进的,所以入职过程很顺利:首先,我们对项目是如何构建的做了一个概述(简单到:在哪里找到这个或那个)。然后我做了我的第一个项目,包括用 React InstantSearch 库中几乎所有的小部件做一个演示。
然后我们开始开发我的第一个功能:面包屑。我首先和玛丽坐下来,我们定义了流程的不同步骤。从一个时间到另一个时间,我会确切地知道我必须做什么(也就是说,就产出/结果而言,我应该实现什么),我总是有一些时间来研究它,有时会有点迷失。
如果我有任何问题,玛丽会一直陪着我,甚至定期检查我。 每隔一天,我们都会开会定义新的目标。有时,我们甚至会在一个更难的部分一起工作一整个下午。
就动机而言,这很棒,但也很有趣,因为我会学到很多东西(调试技巧,如何找到信息)等等。
武士形
与此同时,Marie 建议每周做两次形(这是一个帮助程序员通过练习和重复来磨练技能的简短练习)。我们通常会选择一个主题(操作数组,学习正则表达式)。我的想法是从一个大项目中分离出一个概念,证明它是有用的,因为这样我会在“现实生活”中更舒服,因为我已经做过了。一旦发现这个练习(通常伴随着方便的事情,比如你需要通过的测试),目标是完成工作,不管任何风格/优化。然后我们会看到哪些地方可以改进。在下一次会议中,我们将再次这样做,直到它变得自然。
我真的很喜欢这些练习,因为了解一个项目是如何被表达的复杂的一面消失了。在一个小时的时间里,我可以集中注意力,我总是能学到新的东西…这也是一个很好的交流和团队建设的方式!
那现在呢?
回顾过去,我首先想到的一件事是,在短短一年多的时间里,我已经走了很长的路!如果有人告诉我,我会为我们的即时搜索库做出贡献,不仅仅是小小的改进,还有更多功能,并为公司提供支持,我不会相信的!
几个月后,我得到了换队的机会。我现在是内部工具团队的一员。我们的使命是帮助公司内部的人更有效率。这项工作与我在 InstantSearch 团队所做的非常不同:我们专注于从各种来源收集数据,但也将事情自动化。例如,该团队开发了一个 Slack 机器人,当人们有面试时,它会提醒他们,然后他们会被 ping 发送他们的反馈,等等。能够帮助解决我们团队的日常问题,并立即获得他们的反馈以改进我们的工具,这是非常值得的!
该团队由资深和有才华的开发人员组成,因此我们必须学习如何一起工作,这可能需要时间来适应(我们仍在学习)。这并不总是容易的,但我很幸运能在一个支持的环境中学习,在那里不知道一些事情并说出你的担忧是可以的,其他人会关心并试图帮助你。
我不知道明天会发生什么:有时学习的过程会令人不知所措,令人沮丧。但是不管有多难,有一点我是肯定的:在一天结束的时候,我学到了一两件事…那种感觉是无价的!
阿尔戈利亚的面孔:见见萨沙·普罗霍罗娃
原文:https://www.algolia.com/blog/algolia/faces-algolia-meet-sasha-prokhorova/
【今日面孔】阿尔戈利亚的故事特点 萨沙·普罗霍洛娃 ,我们的产品设计团队领导,他们的热情和地理背景打开了一些非常规的产品和用户体验(UX)设计的大门。从旧金山到巴黎;新父母设计训练营;以及两者之间的一切——听听她的故事吧!
Sasha Prokhorova, Product Design Team Lead, Algolia
你在 Algolia 的职责是什么?
我是我们产品设计实践的团队领导。这意味着我在照看团队的同时仍然为项目做贡献。我们是一个小团队,所以要全力以赴。
在团队方面,我专注于帮助我们的团队扩大规模:招聘新的团队成员(我们正在招聘!),创建和定义流程以确保设计质量,辅导和指导,引导职业发展,为团队设定目标,确保我们关注用户,等等。我也花了很多时间在设计思维和它的价值上教育其他团队。我与其他团队合作,了解产品设计在哪些方面可以支持他们,反之亦然。
在项目方面,我试图将用户的声音带到我们的工作中。产品设计功能对 Algolia 来说是相当新的,这里的许多人以前从未与产品设计师合作过,所以我所做的很大一部分是通过设计思维过程展示和指导团队,以及倾听我们的用户如何带来价值。
你是怎么进入产品设计的?
像我所在领域的许多人一样,我偶然找到了去 UX 和产品设计的路。一个 受教育的地理学家 ,我一直对人类-文化-环境的相互作用很着迷。地理是一个非常多样化的学科,我最喜欢的部分是空间统计(地理信息科学),数据可视化和定性研究(与人交谈,人种学)。这三者平衡了我的分析和创造能力,满足了我对社会问题和人类如何工作的好奇心。这是 UX 设计的伟大基础,我当时并不知道它是一个领域。
在做设计之前,我从事咨询、客户管理和运营工作。当我在一家清洁技术初创公司担任客户经理时,我喜欢理解客户的需求,但我不喜欢做他们和解决方案制定者之间的中间人。我想成为解决方案的制定者。就在那时,我开始和公司的 UX 设计师谈论我需要获得哪些技能来实现飞跃。这些对话帮助我决定是去读硕士课程、参加设计训练营,还是尝试自学。最后,我选择了一个设计训练营,因为我觉得我的学术和专业经验给了我一个坚实的基础,训练营将帮助我获得视觉和界面设计的基础。
新的父母身份、设计训练营和新的职业生涯是人生的重大改变——是什么激励你做出这些巨大的飞跃?
我做出职业转型决定的唯一复杂之处是,我和丈夫同时决定组建一个家庭。 辞职的时候,我已经怀孕三个月了 。这是一种“机不可失,时不再来”的情况,我一点也不后悔冒这个险。我在对什么对我最重要,我想利用我的哪些优势,以及我想产生什么样的影响进行了认真思考后,做出了我的决定。我也问自己:“可能发生的最糟糕的情况是什么?”如果设计不成功,我可以回到我以前的道路。老公无条件的支持也让我感觉更舒服。怀孕在即,我知道我需要理清职业方面的事情,并在职业世界中找到自己的位置,这将有助于我成为一个更好的母亲。
为什么是巴黎,为什么是现在?
我总是莫名其妙地爱上法国。也许这只是因为,作为一个俄罗斯女孩,我总是了解法国对我的祖国的深刻文化影响。我家里没有人对法国感兴趣,我也从未去过巴黎。然而,出于某种原因,在我 13 岁的时候,我不得不学习法语。我自学了一年,因为我的中学不允许我晚一个季度入班,怕我落后太多。第二年在高中,我开始学习法语。我很快就被带到了克拉克夫人的庇护下,她是一个 70 多岁的身材矮小的法国女人,精力充沛。她把我转到她的高级法语班,对此我完全没有准备,我和她一起度过了整个高中 4 年。
我在大学继续学习法语,并在巴黎留学。住在灯光之城的寄宿家庭让我对法国文化和人民有了更深的了解。我不想离开。7 年后,我嫁给了一个法国男人,这对任何人来说都不奇怪。
我们搬到这里,因为我们想住得离我丈夫的家人以及我在俄罗斯和哈萨克斯坦的亲戚更近。我们也觉得法国以家庭为导向的政策和文化会更好地支持我们。一年过去了,我看到了这里生活的优点和缺点,但我仍然完全爱上了这个地方。
如今从事产品设计最令人兴奋的部分是什么?
就像科技领域的任何事物一样,产品设计也在不断变化。新技术正在颠覆我们做事的方式,所以我们永远不会感到舒适。我们必须不断学习,重新调整我们的流程和方法。远离接口就是一个很好的例子。你为纯语音产品设计的方式与你为界面设计体验的方式完全不同。我喜欢每天继续学习,这个领域挑战我,让我有一个以成长为导向的心态。
另一方面,在巴黎这样的市场,对产品设计的理解相对不成熟,这意味着我有机会教育别人它能带来的价值。当我看到一个怀疑论者变成一个倡导者时,这并不总是容易的,但却是非常有益的。
阿尔戈利亚的面孔:认识史蒂文·梅里诺
原文:https://www.algolia.com/blog/algolia/faces-algolia-meet-steven-merlino/
如今的阿戈利亚岗位特征 史蒂文·梅里诺 ,我们销售团队的业务拓展代表。在搬到旧金山并作为我们的第一批 SF 团队成员之一加入 Algolia 后,他投身于当地社区,并一直在为 LGBTQ 社区中受威胁生命的疾病(如艾滋病毒/艾滋病)影响的人筹集资金。T17**
听听他的故事!
Steven Merlino, Business Development
你在 Algolia 的角色是什么?
作为我们旧金山办事处的早期团队成员,我有机会身兼数职,但我现在的主要职责是业务拓展。当我于 2016 年 11 月加入该团队时,我被请来通过创建管理我们的集客销售线索计划的流程来启动我们的集客销售战略。一旦这个角色稳定下来,我就培训新人接管我们的入境业务。
随着我开始在公司内部寻找新的机会,我想挑战一下自己,尝试一些新的东西,所以我加入了我们新成立的对外团队。Algolia 的对外销售要求我们深入研究我们可以为企业解决的问题。这包括评估他们网站的性能,并在他们的搜索体验中可以改进的地方教育他们——通常是在速度、相关性、用户界面和 UX 方面。这个过程需要花很多时间来寻找合适的目标公司、合适的联系人,并自己进行评估。虽然这个角色很有挑战性,但我仍然想让自己更进一步,于是我开始参与工作之外的其他活动。
你为什么决定参与当地的社区活动?
与旧金山办公室的大多数团队成员不同,我是旧金山湾区的新人——我是从亚特兰大搬到这里的。虽然搬家令人兴奋,在一个新的城市感觉很棒,但我想感觉与我居住的城市有联系,就像我在家乡的感觉一样。就在那时,我决定从家乡重拾我的一项老活动——啦啦队。
我在谷歌上输入的第一个词是“欢呼旧金山”和“嘣”——有一个团队叫“欢呼旧金山”!我给球队发邮件说我想加入,所以他们邀请我参加他们的一次邀请赛,这时我才发现这不是一个普通的啦啦队。这些啦啦队员都是成年人,他们都志愿为海湾地区的慈善机构筹集资金,帮助 LGBTQ 社区。我真的被震撼了,从那一刻起,我知道我必须加入这个团队。
为什么这个组织对你有意义?
简单——我有机会遇到的人和我能影响的生活。在筹款活动中,无数有朋友、爱人甚至自己感染了艾滋病毒/艾滋病的人感谢我们让人们意识到影响 LGBTQ 群体的疾病。有了慈善捐款,人们很容易忘记,有些人直接从你的努力中受益——对我来说,我们影响的与社区的互动让我不断回来。
Cheer San Francisco 始于 1980 年,当时艾滋病流行严重影响了 LGBTQ 群体,作为一种振奋精神的方式。我们于 1993 年成立,是一个 501(c)(3)非营利组织,2004 年,我们成立了“为生命欢呼”基金会,帮助全国其他城市效仿我们在湾区的做法。自 2004 年以来,我们已经筹集了超过 35 万美元!
我们怎样才能参与进来?
这实际上是一个很好的问题。作为一个完全的志愿者组织,我们一直在寻求帮助😉如何参与的信息可以在 Cheer SF 脸书 页面和他们的 网站 找到。在这些页面上,您会找到我们支持的当地组织,如 善体项目 、我们的表演视频、下一步去哪里找我们,以及一个捐赠选项,如果您愿意支持我们的事业。
如果你有兴趣加入这个团队,我们将在 6 月 26 日、6 月 30 日和 7 月 1 日举办试听会,试听会将在 7 月 3 日举行。不管你是老是少,有没有拉拉队经验,或者根本没有经验,我们都希望见到你!你可以在我们的脸书页面上找到更多关于选拔赛的信息,如果你想申请,你可以在这里申请!
我希望你喜欢更多地了解我,并为旧金山加油🙂随着本周末(6 月 23 日和 24 日)旧金山骄傲日的到来,你可以来打声招呼,并与团队的其他成员见面!我们将参加周日的游行,并在周六下午 2:10 和周日下午 1:45 在市政厅前的主舞台上表演。希望在那里见到你!
——要骄傲。大声点。
Catch Cheer SF at Pride Weekend!
多方面影响您的网站转化率和客户满意度
原文:https://www.algolia.com/blog/ux/faceted-search-an-overview/
什么是刻面搜索?
Facets 也称为智能过滤器,是一种类型的 搜索过滤器 ,客户使用它来快速缩小搜索结果的范围。方面可以是静态的(为每个查询设置)或动态的(它们可以根据搜索查询的上下文而改变)。
例如,“品牌”可能会出现在所有搜索中,但是搜索“计算机”和“鞋子”会返回非常不同的方面:鞋子可能包含性别结果集(男式或女式),而计算机可能包含“内存”或“手机”的方面类别
Facets can change depending on the context of the search query.
这些方面能够影响您的整体站点转化率,并对客户认知和最终用户体验产生重大影响。
在这篇文章中,我们将带您了解什么时候使用过滤器或刻面进行 站点搜索 ,您可以创建的刻面的类型,以及一些刻面导航的最佳实践。
什么时候使用刻面、滤镜、排序?
过滤器**搜索 刻面 缩小到相关结果。 排序 帮助访问者按升序或降序重新组织结果。
An example of static and dynamic filters.
过滤器通常用于根据广泛定义的类别缩小结果范围。与方面不同,过滤器在搜索之间不会改变。例如,在服装店,主导航通常包括针对性别或诸如“服装、配饰、鞋子”等宽泛类别的过滤器。选择后,这些过滤器将应用于后续搜索的后台,以确保只显示所选性别的结果。
【what】搜索刻面的类型有哪些?
您可以从站点上的几乎任何属性创建一个方面。一些更受欢迎的方面包括:
- 类别
- 颜色
- 价格范围
- 尺寸
- 评级
- 年龄
让我们来看几个例子,看看它们是如何被格式化的。
类别
类别可以是任何东西。方面值通常可以使用站点的 URL 结构来生成。例如,您的站点可能有一个 URL 结构和类别层次结构,如:
- 索引>服装>礼服
- 指数>服装>鞋子
- 索引>珠宝>项链>吊坠
- 指数>珠宝>手镯>护身符
颜色
这个面列表不仅允许您按颜色过滤,还可以预览结果的数量。按颜色过滤在零售网站上非常有用,可以帮助客户根据颜色偏好缩小结果范围。如果在搜索索引中存储颜色元数据(属性),就可以创建面。
如果您没有现成的颜色数据,可以为您创建!我们已经使用 Google Vision API 在图像被索引时自动从图像中提取颜色和其他元数据,然后可以用来设计搜索过滤器和方面。现在,每当有新产品添加到网站时,API 都会自动提取颜色数据用于过滤器。
其他刻面类型
Product shape?!? There’s really no limit to the kinds of facets you can add to your site.
年龄、等级、大小、形状……你可以添加到一个网站的不同方面的类型真的没有限制。请记住,方面也可以采取多种形式——如复选框、选项卡、滑块、标签云等等。
分面搜索的最佳实践是什么?
Here’s an example of category filters (along the top) and using tags (along the right side) to filter results.
搜索方面可以大大提高网站的可用性和客户体验。有几个值得注意的设计技巧可以改善或损害刻面设计。
为客户设计
最好的经验是永远为你的顾客设计。它也适用于小平面。不仅仅是视觉效果,而是整个体验。
- 刻面命名 :您可以创建刻面,按品牌、类别、性别等进行过滤。,但是你可以随便给它们取什么名字。你的受众和你的品牌更前卫还是更成熟?“品牌”可以被命名为“品牌”,或者“类别”可以被称为“流派”——这取决于你想如何为客户定位它。
- 刻面数量 :太多的刻面可能会让买家不知所措;太少可能会令人沮丧。在你的系列中找到与观众需求完美匹配的平衡点。
Despite the trend to put different facets above results, two of the world’s largest online marketplaces, Amazon and eBay, have (mostly) kept facets along the left side of the page.
- 顶部或侧面:沿着搜索结果的左侧放置小平面是标准做法。将它们放在搜索结果之上是一种时尚。当然,这取决于你,但是花时间看看你喜欢访问或购物的网站,看看你喜欢或不喜欢这种体验是值得的。
- 另一件要记住的事情是,在列表顶部的方面将会得到最多的关注。根据尼尔森诺曼集团的研究,“作为一个很好的经验法则,考虑将最通用的高级过滤器类别放在列表的顶部,而将更具体的类别放在底部。”
- 测量结果 :你的滤镜和小平面被使用了吗?搜索和转化指标、热图和点击流数据可以帮助您衡量和优化搜索方面。
手机 vs 桌面设计
桌面和移动方面的设计和行为应该不同。在桌面上,当用户选择不同的过滤器时,结果可以立即刷新。然而,较小的屏幕尺寸和移动用户可用的较低带宽使得即时搜索不切实际,更不用说令人沮丧了。
一个网站在移动和桌面上的外观和行为应该是不同的。当用户在桌面上选择不同的过滤器时,结果可能会立即更新。由于较小的屏幕尺寸和较低的带宽,在移动设备上进行即时搜索是很困难的,更不用说令人恼火了。
对于移动用户来说,允许他们在提交和刷新搜索结果之前批量选择 facet 是更好的用户体验。
面包屑
用方面筛选结果后,搜索者可能想重新开始或尝试不同的选择。拥有某种面包屑跟踪和/或重置功能是一个智能用户界面元素。
在刻面内截断和搜索
有时,一个方面中的过滤选项太多,无法全部显示。您可能需要截断列表,如下所示。显然有更多的品牌可供选择,但在点击“查看更多”之前,它们是隐藏的。
Note that the subset selections are not in alphabetical order. This interface orders brands based on popularity — a smart user-centric and revenue-centric decision.
获得类似结果的另一种流行方法是在过滤器或方面中提供搜索。方面中的搜索框将被配置为在结果子集“跑鞋”中搜索品牌,如下例所示
It’s a search within a search! Catch.com.au includes a Brand search feature in the filter area to help visitors narrow results.
你的网站应该使用过滤器和分面搜索吗?
对于拥有大量内容的网站来说,过滤器和切面是特别有用的工具,否则很难一次浏览一部分内容。例如,许多新闻网站有成千上万的文章、博客、图片和评论,需要花费大量的时间来浏览。同样,许多电子商务和媒体网站有大量的内容,过滤器和分面搜索可以帮助用户导航。方面对于具有多种规格的产品或内容的目录也很有用,例如 B2B 产品目录。
由于刻面允许更复杂和更精细的搜索,当更广泛的过滤不足以快速帮助用户找到他们想要的内容时,应该使用刻面。而且,在搜索后体验中,动态分面是强制性的,可以快速帮助用户提炼结果。
例如,如果你的网站只提供几十页内容,几个宽泛的过滤器就足够了。但是,如果您的目录跨越了许多过滤器,并且拥有成百上千的页面,那么 facets 将对您的用户有很大的帮助。用户需要同时搜索多个维度的方法,以确保他们可以轻松找到产品、内容和服务,并且不会对搜索过程感到失望。
补充阅读
方面和过滤器是任何搜索和发现平台最重要的功能之一,可以极大地影响你的转化率。它们可以决定好的和坏的搜索体验。
为了让搜索和发现体验发挥作用,搜索需要无缝且直观。这就是刻面的作用。了解使用 Algolia 设置分面搜索有多简单。注册一个14 天免费试用 或 安排一个时间 与我们的搜索引擎专家交谈。
如何创建一个出色的多面搜索和导航体验
原文:https://www.algolia.com/blog/ux/faceted-search-and-navigation/
今天的网络用户比以往任何时候都有更高的期望。他们希望你的网站设计精良,导航基于可预测的设计模式。如果不是这样,他们可能会感到沮丧,并在几分钟内转到竞争对手的网站——如果不是几秒钟的话。分面搜索是一个不可或缺的功能,它使搜索体验更加无缝,对用户更有帮助。
什么是刻面搜索?
分面搜索是一种搜索和导航功能,允许用户通过选择一系列不同的属性来根据自己的兴趣调整搜索结果。这些属性通常被组合成预定义的方面,如下所示,这些方面是由企业选择的粒度。
分面搜索通常被视为一种过滤。过滤器的范围通常更广,通常可以帮助用户在不进行搜索的情况下对内容进行细分(例如,“女装”或“童鞋”可能是电子商务网站上的过滤器)。每个过滤器,如下图所示,可能会产生数百或数千个产品,这可能会让用户手动浏览感到沮丧。
然而,分面搜索允许用户更有意识地细化他们的搜索。搜索“女装”的人可能还想用面过滤器缩小搜索结果,比如颜色、尺寸、价格范围等等。分面搜索和导航工具为用户提供了快速搜索的能力。
为什么分面搜索对导航很重要?
在线消费者对网站性能有很高的期望,而 不会容忍缓慢或笨拙的界面 。
分面搜索和导航是优化搜索的重要组成部分。通过消除用户在看似无穷无尽的结果中滚动的需要,它减少了用户连接到他们想要的东西所需的时间。这促进了更好的用户体验,这对于屏幕空间有限且网络连接较慢的移动设备尤为重要。快速而直观的探索过程可以促进更多的用户参与和更高的转化率,以及其他好处。
以下是多面搜索为高效直观的用户体验提供动力的另外三种方式:
- 向用户展示有哪些产品和内容 。当用户浏览您的站点并选择面时,会向他们介绍您的目录的特性。刻面可以将用户的注意力吸引到品牌、风格、尺寸和其他他们可能会忽略的属性上。有了新的知识,他们就可以自信地浏览你的网站,搜索新的商品。
- 减少了多次搜索的需要。 使用分面搜索,如果客户没有立即找到符合其规格的产品,他们不需要仅仅为了找到产品而不断改变和试验他们的搜索查询。他们需要做的只是应用正确的方面来更接近他们的需求。根据所选择的项目或类别而变化的上下文方面对于用户来说特别有帮助。
- 使大型内容目录更易于管理 。在过去,产品和内容管理者不得不考虑缩减他们的产品,以允许客户浏览他们提供的一切。通过分面搜索,用户可以浏览更多的内容,为商家在网站上销售更多商品打开了大门。
刻面搜索和导航提示
良好的分面搜索和导航体验需要仔细的规划和迭代。这样做时有几个重要的注意事项:
考虑客户
你网站上的 facet 过滤器应该满足尽可能多的用户的需求和兴趣。为了打造最好的多面搜索,你需要了解你的用户在搜索什么以及如何搜索。 搜索分析 是另一种强大的方法。通过跟踪流行的搜索关键字和指标,如点击率,您可以看到用户如何参与您的内容,以及可以添加哪些类型的方面来更好地满足他们的需求。
不要忘记包括基于社会证据的方面,如评论和评级,这可以引导客户接触新事物,同时建立他们对你网站上的产品和服务的信心。
优化刻面数量
虽然满足客户需求是必须的,但不要有太多 选项也很重要。 选择正确的刻面数量 将取决于您的用例以及用户的熟练程度。大量的方面,特别是如果有几个不必要的或未使用的方面,会使用户不知所措。当分析你的搜索数据时,你应该意识到哪些方面没有被使用,并在持续的基础上对它们进行修整。还要注意的是,facet 选项应该随着用户输入的内容而改变,只包含相关的选项。例如,当用户搜索一件衬衫时,facet 选项应该包括颜色、价格和品牌,但不应该包括鞋号过滤器。
允许一次选择多个面
如果您的内容目录很大,很可能单个方面的选择不足以缩小结果范围,让大多数客户找到他们想要的内容。然而,有了多方面的选择,他们更有可能做到这一点。例如,在大型电子商务网站上搜索一件蓝色衬衫可能会产生数百个结果,而搜索一件 20-30 美元之间的蓝色女式小 t 恤会精确得多。
使用主题滤镜
主题过滤器是更主观的内容分组。例如,对于一个电子零售商来说,女装的主题过滤器可能包括“假日”、“工作”、“休闲”或“派对”等选项。虽然范围不像其他类型的过滤器和方面那样狭窄,但是主题过滤器将用户引导到特定类型的产品。通过捕捉特定的情绪或口味,它们有可能比传统方面更好地捕捉和匹配用户意图。它们还可以为更被动的浏览器提供一个很好的起点,开始他们的探索过程。一旦这些用户找到了与他们相关的主题,他们就可以通过其他方面进一步缩小范围。下面的体验不是由 Algolia 提供的,但它是主题过滤器的一个很好的例子。
显示与用户选择的方面相匹配的结果数量
显示结果的数量有助于向用户表明他们的搜索查询和方面选择有多有效。此外,通过在未选择的方面旁边提供这些计数,这些用户还可以看到哪些最有可能让他们最快地获得他们想要的内容。虽然用户的搜索通常会涉及到许多方面,但如果排序正确,用户只需使用其中的一个子集就可以充分缩小搜索范围。
通过精心制作的分面搜索和导航超越您用户的期望
为了向您的用户提供引人入胜的高性能搜索体验,您需要设置和监控一个设计良好的内容分面和过滤系统。这就要求搜索作为一个服务合作伙伴,能够提供所有必要的工具来满足用户期望的行业标准。查看我们的电子书“ 搜索超越盒子 ”,了解搜索如何帮助用户发现内容并推动业务成果。
分面搜索,每个 JSON 属性都很重要
原文:https://www.algolia.com/blog/engineering/facets-and-faceted-search-making-every-attribute-count/
什么是刻面?什么是分面搜索?什么样的数据最能代表方面?
快速定义:一个 面 是一个屏幕上的 过滤器允许终端用户缩小他们的搜索范围,给他们更多的控制他们的搜索结果的相关性。电子商务产品的典型方面是类似“品牌”或“价格”的属性,方面的 值 是各个品牌和价格 es。通过单击一个方面值,用户可以包括和排除整个产品类别。例如,通过在“品牌”类别中选择“苹果”,用户可以排除除苹果产品之外的所有产品。
这就是我们所说的 分面搜索体验 ,其中类别和常用术语就像搜索栏中的文本一样驱动着搜索。每一个伟大的在线搜索体验都提供了一个多方面的搜索。
刻面搜索背后的数据
在本文中,我们从头开始,从数据到 UI,来看方面。具体来说,我们描述了如何使用 JSON 来创建一个出色的多面搜索体验。精心设计的分面数据策略可确保有效过滤和高速性能。它还使得前端开发人员能够轻松编码,这在快节奏的编码环境中是一个关键的考虑因素。
刻面清理你的数据
好的搜索总是从 开始清理数据 。最好的搜索索引是结构良好的,写得很好的,不包含任何误导或无关的内容。Anindex是一组可搜索的数据,索引就是创建索引的过程。这些是搜索技术中描述搜索引擎如何构建数据的标准术语。尽管每个引擎的数据结构不同,但最终结果总是一个索引。我们使用数据和索引这些词,而不是数据集、数据库或任何其他类似的术语。
每个搜索索引都包括方面,因为它们组织数据并确保简单性和完整性。请考虑以下情况:第一个示例不包含任何方面;下一个包含方面。
没有刻面
标题:星球大战:第五集——帝国反击战
描述:70 年代的流行科幻电影,一部美国太空歌剧,卢克·天行者与汉·索洛、莱娅公主和丘巴卡一起,对抗达斯·维德和义军同盟,拯救银河帝国。这部电影由乔治·卢卡斯创作,卢卡斯影业制作,现在由华特·迪士尼电影公司拥有和发行。演员阵容包括马克·哈米尔、哈里森·福特、凯丽·费雪、比利·迪·威廉姆斯、安东尼·丹尼尔斯、大卫·鲍罗斯、肯尼·贝克、彼得·梅靥和弗兰克·奥兹。这部电影以 4.4 亿美元成为 1980 年票房最高的电影。
带刻面
标题:星球大战:第五集——帝国反击战
描述:一部美国太空歌剧。卢克·天行者与汉·索洛、莱娅公主和丘巴卡一起,抗击达斯·维德和义军同盟,拯救了银河帝国。
类型:科幻、太空歌剧
时代:70 后,80 后
故事:乔治·卢卡斯
传奇:星球大战
工作室:卢卡斯影业,华特·迪士尼工作室
制作事实:该片由卢卡斯影业制作,现归华特·迪士尼电影制片厂所有。
演员:马克·哈米尔、哈里森·福特、凯丽·费雪、比利·迪·威廉姆斯、安东尼·丹尼尔斯、大卫·鲍罗斯、肯尼·贝克、彼得·梅靥、弗兰克·奥兹。
角色:卢克·天行者、汉·索洛、莱娅公主、丘巴卡、达斯·维德、约迪、C-3PO、R2-D2
如你所见,我们大大缩短了“描述”,直接切入主题。我们把它的内容分成了几个不同的,像“制作事实”、“流派”、“演员”和“传奇”。其中一些属性将显示在搜索结果中。然而,大部分“描述”被分解成对搜索和分面有用的信息块。这一分析过程是为最终用户创建卓越的可搜索索引和多面搜索体验的关键一步。
以这种方式将你的数据分解成小块的信息,确保每个属性都有价值。这是使用刻面的一个好处
基本原理是:一个属性中的大量文本不如多个属性中的较小文本块适合搜索,其中许多可以作为刻面。有了这些面块,用户可以过滤他们的结果 。一些例子:
- 包括乔治·卢卡斯制作和编剧的所有电影。
- 排除除科幻片、次类型太空歌剧以外的所有电影。
- 看完所有《星球大战》电影,感谢“传奇”的一面。
大多数公司已经有了结构化数据,所以在构建可搜索索引时,只需要转移这种结构。另一方面,一些公司有多个数据源,所以他们必须在合并这些数据源的同时设计新的结构。
刻面搜索—刻面不仅用于过滤
用小块信息建立你的数据不仅能让你的搜索引擎过滤记录。它还将注意力集中在信息上,使得 未过滤的 搜索更加精确。这只有在您将 facet 属性定义为searchable的情况下才有可能,也就是说,您告诉您的搜索引擎在查看“标题”和“描述”之前先查看 facet 的“年份”和“类型”属性。现在,用户可以键入“70 年代的科幻电影”并找到 星球大战 ,而无需使用过滤器 。
让我们来看看技术——发动机级刻面& JSON
在索引中构建方面时,有很多技术上的考虑:
- 表示输入到索引中的方面。
- 将方面表示为搜索请求的输入。
- 响应于搜索请求接收方面。
- 用 AND、OR、NOT 组合刻面。
- 引擎如何表示刻面。
在本文中,我们只讨论第一项——如何将数据分解并表示为面,从而为面过滤和面搜索奠定基础。虽然我们触及了其他方面,但我们将把更详细的讨论留到以后的文章中。
表示输入到你的搜索索引中的面
最佳刻面数据格式允许:
- 一组完全可定制的方面,由您的应用/业务需求决定。
- 一个容易理解的数据结构。
- 灵活性,这样索引中的每条记录都可以有不同的属性集。
- 允许多个方面值和类别层次结构的可伸缩结构。
总之, JSON 。
什么是 JSON vs .关系数据库
这里有一段非常非常简短的历史: 关系数据库 建立了一个标准,使用了外键、原子数据和其他类似的对以前数据技术的改进。关系数据库允许人们通过将数据库中每一项的特征分布在一个小型的、定义明确的链接表系统中,来使他们的数据正常化。它创造了同质性,具有可靠且易于理解的一致结构。然而,这种同质性并不总能满足具有不同数据需求的每个应用程序的需求。因此,解决方案是创建具有不同结构的多个数据库,有时具有相同的底层信息—这是一个需要额外资源的难以维护的解决方案。
实体-属性-值 (EAV)模型为关系模型增加了灵活性:现在,在同一个数据库中,每一项都可以用不同的方式定义。EAV 完全是关于异构性的——允许单个数据库以有效的方式包含各种各样的信息,其中每个项目都可以有自己独特的完整的描述性标签集,称为 键/值。EAV 通过使用多种模式来保持数据不重复的原则,并且经常将其唯一值局限在一个表中。
JSON 既包含了 EAV 原则,又脱离了 EAV 的关系根源 ,最引人注目的是取消了表和行的模式,放宽了数据不重复的原则。JSON 不断重复信息,这就是它如此易于使用、如此强大和灵活的原因。不再有约束——每个记录项都存在于真空中,包含其自己独特的属性集。也没有实体必须遵循的预定义模式。现在,只有 JSON 对象(或记录)、键和值。
为什么 JSON 对于构建可搜索的索引如此之好?
搜索引擎需要原子地 对待其索引 中的每一条记录,而不依赖于与其他记录的关系。它需要de-规范化它的数据,而不是像关系数据库那样规范化它。
此外,引擎需要知道记录包含什么,因此能够搜索任何索引,无论是商业产品、电影还是专业服务。它只需要返回任何匹配搜索查询的记录。大多数搜索引擎不依赖语义;而是依靠 文本匹配 ,也就是说一个搜索引擎只需要将一个物品属性中的内容与搜索栏中的文本进行匹配即可。匹配可以是完全的或部分的。JSON 以其可读性将数据完全集中在文本内容上。
JSON 键/值易于阅读,易于搜索。
[
{
"objectID": 42,
"title": "Star Wars: Episode V - The Empire Strikes Back",
"type": “movie”,
"genre": ["science fiction", "space opera"],
"series": "star wars"
},
{
"objectID": 43,
"title": "LEGO: Star Wars Yoda",
"type": “toy”,
"brand": “Lego”,
"series": "star wars"
}
]
这里发生的事情很清楚。我们有两张唱片。一个是电影,另一个是玩具。它们有不同的属性:电影有“类型”,玩具有“品牌”。但是,它们都有“系列”,可以有选择地用来链接“星球大战”上的两个记录。
一些搜索引擎直接使用 JSON 格式作为搜索的基础,不需要转换。然而,大多数将这些数据转换成他们自己专有的索引格式。无论哪种情况,过程都是一样的:遍历每个记录和键,然后保存(或搜索)值。最好的算法除了关键字和值之外什么都不期望——尽管大多数引擎要求最少的必需属性。例如,“对象 ID”——每个记录的唯一标识符,用于在索引时查找和更新记录。但不要被误导。“objectID”的功能不像关系数据库中的主键。在搜索中,主键/外键关系几乎没有用处。有趣的是,搜索依赖于方面而不是键来链接记录。你可以在上面的例子中看到:玩具和电影通过“系列”方面联系在一起。
REST API 以及生成和可视化 JSON 的乐趣
和 JSON 一样,REST API 通过提供 SOAP API 的替代品简化了标准。它这样做的原因相似:用更少的形式增加更多的灵活性。SOAP 基于一个具有严格规范和规则的协议。REST API 消除了这一点。它提供了一个端点,并接受不同的数据格式,比如 CSV、XML 和 JSON。由端点和 REST API 开发人员与用户交流格式化数据中要发送的内容。最好的 API 不需要太多具体的数据。他们关注完成工作所需的信息。
例如,下面是如何搜索:
curl -X POST \
-H "API-Key: 123” \
-H "Application-Id: app_movies” \
--data-binary '{ "params": "query=star wars” }' \
"https://some-movie-api.com/indexes/movies/query"
“数据-二进制”字段包含全部信息:使用这些参数执行搜索。在这种情况下——毫不奇怪:这是对“星球大战”的搜索。
从 Curl 到 API 客户端
下面是如何 使用 API 客户端在名为“app-movies”的索引中创建 记录。 最好的搜索引擎都是把 Curl 繁琐的语法包装成不同编程语言的 API。例如,下面的代码使用了一个 JavaScript API 客户端:
index.search(“star wars”);
index.save('{
"ojectID": 42, "title":"Start Wars: Episode V - The Empire Strikes Back","Description":"An American space opera, Luke Skywalker, along with Han Solo, Princess Leia, and Chewbacca, fight Darth Vader and the Rebel Alliance to save the Galactic Empire.","Genre": ["science fiction, space opera"],"Era": ["70s, 80s"]","story":"George Lucas","Saga: Star Wars","Studio":["Lucasfilm, Walt Disney Studios"],"Production facts":"The film is produced by Lucasfilm, now owned by Walt Disney Studios films.","Actors":["Mark Hamill, Harrison Ford, Carrie Fisher, Billy Dee Williams, Anthony Daniels, David Prowse, Kenny Baker, Peter Mayhew, Frank Oz"],"Characters":["Luke Skywalker, Han Solo, Princess Leia, Chewbacca, Darth Vader, Yodi, C-3PO, R2-D2]"
}' );
无论您使用哪种格式,Curl 还是 JavaScript,您都可以看到在本文开头封装完整的“星球大战:第五集——帝国反击战”示例是多么容易。并以一种人类- 和 的机器可读格式发送。
临别赠言及更多关于刻面搜索的细节
重要的一点是,刻面不是可选的。他们在搜索体验的每一个方面都发挥着作用。在功能上,方面用于搜索数据、过滤记录和对结果进行排序。从技术上来说,他们组织你的数据并确保其质量和准确性,这是创造优质搜索体验的核心。
另一个要点是,如何在索引中构建方面决定了它们的功能有效性。现代搜索需要灵活性,以适应每个在线业务的快速变化。它还需要多样性来管理大量不断变化的用户口味和需求。JSON 实现了这种灵活性和多样性。开发人员需要一种像 JSON 格式这样的无模式数据结构,以尽可能好的方式表示方面和过滤的多样性。例如,嵌套属性。我们将在本系列的第 2 部分刻面搜索中看到这一点。
这是我们的 Facets & Data 系列的第一篇文章。本系列的重点是技术性的,概述了方面搜索的逻辑和方面数据模型。
- 第一篇文章定义了什么是分面,并解释了分面在结构化数据中的重要作用。它还说明了 JSON 是表示包括方面在内的索引数据的最灵活的方式。
- 在本文(第二篇)中,我们介绍了刻面最常见的数据结构:简单的刻面值、嵌套刻面、层次类别以及用户和人工智能标记,所有这些都用于刻面搜索的不同方面。
- 第三篇文章——用动态分面实现分面搜索——继续以数据为中心焦点,但是我们现在讨论访问数据背后的过程。我们看一下查询搜索过程,从查询到执行再到响应,并展示如何动态生成方面。
使用 JSON 的 facets 数据模型
原文:https://www.algolia.com/blog/engineering/facets-data-model-of-json-records/
什么是刻面搜索?一个重要的搜索 UI 功能,用户可以单击方面值来过滤他们的搜索结果。
这是描述刻面和刻面搜索的技术和数据方面的三篇系列博文的第二篇。在第 2 部分中,我们研究了应用于不同方面用例的各种数据结构。
像许多前端 UX 模式一样,刻面搜索需要精确且裁剪良好的刻面 JSON 数据集。幸运的是,在 JSON 记录中有许多表示方面的方法。大多数分面很简单,只需要一个单词过滤器来描述产品或服务——苹果是一种水果,苹果是一个品牌。我们可以用一个属性来表示“苹果”:
{
"name": "apple",
"type": "fruit",
"seasonal_categories": ["fruits->late-summer", "fruits->autumn"]
}
或者
{
"name": "iPhone 8 Gold Protection Screen",
"brand": "Apple",
"category": ["smartphone->protective-screens"]
}
方面“类型”和“品牌”是一维属性。但是方面可以变得更加复杂:您可以将它们设置为层次结构或嵌套属性。在本文中,我们将看到不同的方面数据模型如何实现不同的前端功能,所有这些都是方面搜索和导航的核心:
构建一个 facets 数据模型到 JSON 记录中
我们将讨论定义方面和过滤器的四种常见方法。每一种都有其用途和优点:
- 简单(“类型”:“果”)
- 嵌套(actors->((actor 1->name,actor1- > character_name),(actor2 …)))
- 等级制度(“类别:食物- >水果- >季节”)
- 标签(标签:“戏剧”、“和朋友一起看的乐趣”、“必须再看一遍”)
简单刻面
最简单的方面是最重要的。它们用最少的关键词传达了一个物体的本质。衬衫不是短袖就是长袖。一部电影只有一个平均评分。但是简单的方面也可以有多个值。t 恤可以只有一种颜色,也可以是红色和蓝色的混合。一部电影可以是“浪漫科幻喜剧恶搞”。简单而准确的标签有助于将最好的商品带回给用户,给他们他们想要的东西。在我们上一篇关于刻面搜索的文章中,我们谈到了刻面不仅用于过滤,也用于搜索。
使用 JSON,简单的方面很容易表示:
{
"name": "bold t-shirt",
"desc": “Be bold, wear a t-shirt with only one color”,
"color": “white”,
"sleeves": "short"
},
{
"name": "Hippie Vest with Fringes",
"desc": “Be hip: get back to where you belong, peace + love”,
"color": ["red", “orange”, “yellow”, “green”, "blue"],
"sleeves": "long"
}
嵌套刻面
更高级的方面包含嵌套信息。嵌套就是组织你的数据。数据结构讲述了一个项目的故事。让我们比较一个非嵌套的例子和不同种类的嵌套。
简单值:
{
"name": "Brad Pitt"
}
简单嵌套:
{
"first_name": "Brad",
"last_name": "Pitt"
}
嵌套有点复杂:
{
"actors": [
{
"first_name": "Brad",
"last_name": "Pitt"
},
{
"first_name": "Scarlett",
"last_name": "Johanson"
}
]
}
在本文中,我们使用 actors 来搜索作为方面的和*,以通过特定 actors 过滤结果。
何时使用嵌套面进行多面搜索
您并不总是需要结构化或嵌套您的数据。有了搜索,你主要关心的是找到记录,这都是关于内容,而不是结构。找到“布拉德·皮特”对简单或复杂的结构同样有效。
虽然构造 JSON 可以给给定的记录增加人类的清晰度,但是引擎可以处理简单或复杂的结构。结构化数据总是需要更多的思考和更多的时间来维护,所以在过度思考之前考虑它的价值和目的是很重要的。
但是,简单的嵌套使您能够预测搜索模式。例如,如果人们依靠姓氏来查找作者,那么创建“姓氏”属性是有意义的。
{
"last_name": "King",
"first_name": "Stephen"
},
{
"last_name": "Shakespeare",
"first_name": "William"
}
更复杂的嵌套可以用于显示目的,而不仅仅是用于过滤或搜索。一个例子是显示你的物品的详细信息。让我们比较两个用例,一个需要简单的属性,另一个需要更复杂的嵌套。一个卖 DVD 的公司不一定需要过度考虑结构。他们只需要确保记录包含足够的必要信息,以便用户找到电影。下面是一个只有两个属性的可能结构:
{
"title": "Avengers: Infinity War",
"cast": ["Robert Downey Jr", "Chris Hemsworth", "Mark Ruffalo", "Chris Evans", "Scarlett Johansson"]
}
另一方面,提供电影详细信息的网站,如 IMDB 或网飞,需要显示更多结构化信息:
{
"title": "Iron Man",
"cast": [
{
"first_name": "John",
"last_name": "Smith",
"birth_year": "1978",
"birth_place": "New York City, New York"
},
{
"first_name": "Robert",
"last_name": "Downey Jr",
"birth_year": "1965",
"birth_place": "New York City, New York"
}
]
}
后一条记录包含屏幕信息框的数据。唯一需要注意的是,当你的索引包含复杂的嵌套时,你需要指示引擎搜索结构的哪一部分。例如,您需要将“cast.first_name”和“cast.last_name”指定为可搜索,将“cast.birth_year”指定为可搜索和可过滤。
等级制度
许多多面搜索体验为用户提供了浏览类别和子类别层次的能力,帮助他们缩小或扩大搜索范围。您可以使用层次结构来创建基于类别的菜单系统。虽然设计和维护复杂的类别需要时间,但如果处理得当,层次结构可以创建一个很好的多面搜索和导航体验。看看超市如何对其数据进行分类,以帮助人们找到正确的在线通道:
[
{
"name": "lemon",
"categories.lvl0": "products",
"categories.lvl1": "products > fruits"
},
{
"name": "tomato",
"categories.level0": "products",
"categories.level1": "products > summer",
"categories.level2": "products > summer -> vegetables"
}
]
书商也会这样做,将每个作者分成不同的类别,有些有多个层次:
{
"name": "Ursula K. Le Guin",
"categories": [
"level0": "Books",
"level1": ["Books > Science Fiction", "Books > Literature & Fiction"],
"level2": ["Books > Science Fiction > Time Travel", "Books > Literature & Fiction > Literary"]
]
}
标记-用户创建或人工智能生成
并非所有方面都需要由你和你的公司来管理。对于如何定义和分类你的产品和服务,用户有他们自己的想法。比如,你可能会把《绝命毒师》归类为电视剧和犯罪剧。但是用户会有其他想法。在这里,我们将所有用户标签分组到属性“_tags”下:
{
"title": "Breaking Bad",
"_tags": ["drugs", “father figure”, “cancer”, “midlife crisis”, “violent”, “not for kids” ]
}
而且不仅仅是用户添加 facet 标签。越来越多的机器学习算法和其他形式的人工智能结合用户行为、产品描述、市场数据等,找到有助于标记商品的方法。例如,当用户搜索、点击和查看你的目录时, AI 自动标记可以通过添加令人惊讶的替代品来改善你的产品分类。你可以得到年龄组,目的,和其他你没有想到的产品特征。
一个流行的例子是图像自动标记,其中图像检测算法为图像生成一组公共标记。像 Pinterest 这样提供 gif 和图片的网站就利用了这种技术。
想象一下,用户总是在每个重大节日前购买某些商品。人工智能生成的标签可能会生成以下内容。
{
"name": "Scotch tape",
"_tags": ["Christmas", “Halloween”, “New Years”]
}
这些信息可以用来推销和管理你的内容,比如确保“透明胶带”在节日期间出现在搜索结果的前列。
此外,您可以将标记作为方面转换到记录中。这里,我们分析了标签并创建了一个新的方面“holiday_accessory”:
{
"name": "Scotch tape",
"holiday_accessory": true
}
利用您的多用途刻面数据模型
正如我们在本系列关于刻面搜索的上一篇文章中所描述的,刻面对于搜索内容非常有用。拥有与用户输入的关键字相匹配的方面可以显著改善您的搜索。在功能层面上,引擎实际上并不关心它是在搜索一个类别、一个简单的方面还是一个非方面。它看着它被告知要看的地方。因此,指导您的引擎查看所需的特定属性非常重要。
考虑到这一点,我们讨论了复杂的嵌套结构如何返回关于记录中某个项目的故事的结果。亚马逊返回的结果不仅包括产品名称、描述、价格和图片。其结果还包括评级,航运信息,受欢迎程度和类别。
这里的秘密是将所有额外的信息放入一个可搜索的索引中。您可以重新调整每个属性的用途,将其用于搜索、过滤和/或显示目的。这避免了再次访问数据库的另一部分来检索附加信息。
我们将在这个分面搜索系列的下一篇文章中对此进行更多的讨论。
临别赠言刻面数据模型
简单和复杂的方面创建了一个基于浏览的多方面搜索和导航体验——有或没有搜索。你可以以多种方式显示小平面——在屏幕的左侧、前方和中央,作为下拉菜单,菜单,以及许多其他创造性的方式,使用户只需单击鼠标就可以轻松浏览。
但是无论它们出现在屏幕上的什么地方,无论您在数据中如何设计它们,方面都使您的用户能够单击和浏览,并最终发现您的产品和服务的完整在线目录。这里的技术要点是,底层的 JSON 结构必须裁剪得很好,以支持您的前端需求。本文希望为任何部门或领域中的常见用例提供一个坚实的基础。
这是我们的 Facets & Data 系列的第二篇文章。本系列的重点是技术性的,概述了方面搜索的逻辑和方面数据模型。
- 第一篇文章是刻面和刻面搜索,每个 JSON 属性都很重要——我们在这里定义了什么是刻面,并解释了刻面在结构化数据中的关键作用。它还说明了 JSON 是表示包括方面在内的索引数据的最灵活的方式。
- 在本文(第二篇文章)中,我们介绍了刻面最常见的数据结构:简单的刻面值、嵌套刻面、层次类别以及用户和人工智能标记,所有这些都用于刻面搜索的不同方面。
- 第三篇文章— 用动态分面实现分面搜索 —数据仍然是我们关注的焦点,但我们也讨论过程。我们看一下查询搜索过程,从查询到执行再到响应,并展示如何动态生成方面。
Azure 级别的快速相关用户体验
原文:https://www.algolia.com/blog/algolia/fast-and-relevant-user-experiences-at-azure-scale/
消费者期望即时、有益的体验,无论这些体验所依赖的内容量有多大。毕竟,他们很快就能在谷歌、亚马逊或网飞上找到他们想要的东西。但并非所有公司都拥有谷歌、亚马逊和网飞的资源,而且建立超大规模的搜索和发现体验非常困难。
迄今为止,拥有全球最大网站或应用的公司被迫建立自己的搜索解决方案,并在全球范围内管理基础设施。
在 Azure 上介绍 Algolia
我们认为,在非常庞大的内容集合中,将用户意图与正确的内容相匹配甚至更加重要。这就是蓝色星球上的阿尔戈利亚。
Azure 上的 Algolia 结合了 Microsoft Azure 最高性能虚拟机的功能和可扩展性、Microsoft Azure 全球基础设施的可靠性以及 Algolia 的搜索和发现引擎速度和相关性,因此您可以为用户提供他们期望的超过 TB 级内容的体验。
可扩展、健壮不代表粗糙。Azure 上的 Algolia 具备 Algolia 的全部功能,即服务:
- 完全由 Algolia 管理:Algolia 可按需部署并在几分钟内准备就绪,我们负责从扩展到安全的一切,因此您可以专注于构建最佳体验和优化相关性,以服务于企业和最终用户。
- 前所未有的业务控制和洞察力:Azure 上的 Algolia 附带了我们广泛的业务工具套件,包括实验、销售、个性化和分析,以控制和优化数字用户体验
我们的一些客户已经在 Azure 上利用 Algolia 的可扩展性,包括 Depop。Depop 是一个开拓性的全球市场,将全球 1000 多万卖家和买家联系在一起,涵盖数千万件名牌服装、古董和艺术品。
“我们选择了 Microsoft Azure 上的 Algolia,因为它是唯一一个可扩展和灵活的搜索和发现解决方案,足以满足我们不断变化的业务和客户需求,并提供对我们 2560 万种产品的访问。我们知道 Azure 上的 Algolia 将与我们和我们不断增长的社区无缝增长,同时我们专注于不断创新我们的平台。”— 法里斯·阿齐兹,德普产品经理
微软和 Algolia:我们客户的强大联盟
Azure 上的 Algolia 是 Algolia 和微软广泛合作的核心元素。两个团队在联合营销和联合销售活动中密切合作,向依赖全球大量内容的组织提供 Azure 上的 Algolia 的优势,以构建创新的用户体验。
微软商业合作伙伴组织之一的企业副总裁 Gavriella Schuster 表示:“如今的消费者希望获得快速、相关和直观的数字体验,随时随地将他们与所需的信息、产品和服务联系起来。“为了帮助大型企业组织跟上消费者需求的步伐,我们很高兴与 Algolia 合作,为我们的客户提供端到端的搜索和发现解决方案,以优化用户体验。”
我们很高兴能与微软密切合作,共同定义未来的数字体验,并期待帮助更多的组织取悦他们的用户!
点击此处了解更多关于 Azure 上的 Algolia。
特色聚焦:Algolia 搜索的可选过滤器
原文:https://www.algolia.com/blog/engineering/feature-spotlight-optional-filters/
上周在回答 Algolia 论坛的帖子时,我对 Algolia 搜索的可选过滤器进行了深入研究。与过滤器和方面过滤器类似,可选过滤器在查询时应用,允许您使用各种上下文信息来改善结果。与其他过滤器不同,可选过滤器不会从结果集中删除记录。相反,它们允许您说,“如果记录匹配这个过滤器,然后将它们在排名中上移或下移”,而不改变返回的记录数。
一些有趣的使用案例:
- 将提及特定用户的帖子移动到结果集的顶部
- 客户当地商店提供的升级产品
- 对缺货的产品进行降级
- 基于外部推荐引擎将特定记录固定在列表的顶部
您可以使用过滤器和方面过滤器来减少查询时结果集中的记录数量,然后使用可选的过滤器来处理剩余记录的排名。您甚至可以应用过滤评分来进一步控制记录的顺序。
下面是一个将product_type
和price_range
的方面过滤器应用于来自 Shopify 商店的索引的例子。代码选择两个记录的objectID
进行提升,然后将它们作为可选过滤器注入查询。如果这些产品中的任何一个是与查询中的其他条件相匹配的结果集的一部分,那么这些产品将被推到排名的顶部。代码使用过滤评分来确保featuredProduct
总是出现在alternateProduct
的上方。
import algoliasearch from 'algoliasearch';
const featuredProduct = '41469303161004';
const alternateProduct = '41469346644140';
const client = algoliasearch('H2M6B61JEG', 'b1bdfc3258823bb4468815a664dce649');
// Standard replica
const index = client.initIndex('shopify_algolia_products_price_asc_standard');
// with params
index.search(query, {
facetFilters: [[
"product_type:HardGood",
"price_range:75:100"
]],
optionalFilters: [[
`objectID:${featuredProduct}<score=500>`,
`objectID:${alternateProduct}<score=200>`
]],
hitsPerPage: 50,
}).then(({ hits }) => {
console.log(hits.map(item => `- ${item.title} | ${item.product_type} | ${item.objectID} | ${item.price_range}`).join('\n'));
});
注意,这段代码使用了按价格排序的 Shopify 索引的标准副本。可选的过滤器不能很好地与虚拟副本索引一起使用,因为两者都在查询时重新排列记录,导致不可预知的结果。如果您计划使用可选的过滤器,您应该使用在索引时应用排序的标准副本。
您还可以使用否定的可选过滤器来降低记录的排名。例如,如果您想要将当前用户撰写的帖子在排名中推低,但不完全删除它们:
index.search('', {
filters: `date_timestamp > ${Math.floor(d.setDate(d.getDate() - 7) / 1000)}`,
optionalFilters: [
`author:-${user.name}`
],
hitsPerPage: 50,
}).then(({ hits }) => {
console.log(hits};
});
可选的过滤器是一个强大的工具,可以添加到您的排名工具带上,但是请记住,任何查询时间的计算都会影响搜索性能。例如,您不应该对可能返回超过 100,000 个结果的搜索使用过滤评分。尽可能将排名标准移至索引配置。仅当您需要在查询时使用更实时的上下文进一步优化结果时,才使用可选的过滤器。
如果你在你的搜索界面中找到了一个很好的(或不太好的)可选过滤器用例,请告诉我。
特色聚焦:推荐中的趋势模型
原文:https://www.algolia.com/blog/engineering/feature-spotlight-trends-models-in-recommend/
推荐依赖于数据——你知道的越多,你的推荐就越好。 Algolia 的推荐产品使用机器学习来建议您的客户感兴趣的产品或内容,从而让您的数据发挥作用。今天,我们把焦点放在推荐的新趋势模型上。您将了解它们如何工作,以及它们如何扩展您使用推荐的方式。
在推出时,推荐提供了两个初始的机器学习模型:相关产品和经常一起购买。两者都是协同过滤模型,也就是说,当用户与你的网站互动时,你可以用他们点击和购买的产品来训练他们(事件数据)。这些模型非常适合以产品为中心的推荐。给定目录中的特定产品,您可以使用模型来推荐您的客户发现类似或购买的其他产品。您可以将这些建议放在产品详情页面和结账流程上,以帮助您的客户发现他们可能感兴趣的其他产品。除了我们将在本文中讨论的内容之外,这些初始模型刚刚更新,您现在可以在没有事件数据的情况下立即开始使用它们—在此了解更多信息。
趋势模型同样由协同过滤驱动,但不同之处在于它们不局限于基于单一产品的推荐。相反,他们会在整个目录中寻找产品趋势,或者在目录的某个特定方面/类别中寻找产品趋势。
跳水成趋势
要使用推荐的型号,您需要将您的产品存储在 Algolia 索引中。然后,您可以跟踪索引中项或方面值的趋势。请记住,方面是一种属性,就像“颜色”一样,是您在索引中为过滤而配置的。索引中该属性的可能值称为方面值,如“红色”或“紫色”。
根据趋势的类型,您将培训两个新模型中的一个:
- 趋势项目–特定方面值或整个目录中最受欢迎的项目。
- 趋势面值–特定面的最流行值(例如,“毛衣”作为“类别”的值)。
这两个模型都是通过协同过滤来训练的,这意味着它们从事件数据中学习趋势——特别是从您的用户那里捕获的转换事件。转换事件可以是购买一件商品,将其添加到购物车,或者将其标记为收藏。
趋势项目模型查看过去几天每个项目的转换事件总数,以及转换事件数量随时间的变化,以了解索引中每个记录的“趋势”。然后,它为目录中的每个项目分配一个分数,可以是全局的,也可以是特定方面值内的。
对于趋势分面值,该模型对分面属性做同样的事情——对每个分面值的总转换数和几天内的转换变化进行评分。每个模型最多可以收集三个方面的趋势信息。
为了使用趋势,您将需要在至少三天内使用至少 500 个转换事件来训练模型。显然,您发送的信息越多,模型提供的推荐就越好。
哪里用趋势
趋势商品是对其他以产品为中心的模型的补充,它允许你在你的顾客选择一个产品之前,在你的主页上推荐一个特定类别中的流行商品或畅销商品。
趋势面非常适合在你的主页上添加当前相关的流行类别或产品属性——无论是春季的园艺用品还是秋季的大衣和帽子。
这两个模型一旦被训练,就可以提供多达 30 个建议,或者是全局的,或者是特定方面的。
训练你的趋势模型
在使用任何推荐的型号之前,你需要注册一个 Algolia 账户并将你的产品目录载入索引。你可以使用一个现有的搜索索引或者建立一个推荐的搜索索引。
一旦你的索引被产品记录填充,你需要开始发送用户事件信息给 Algolia 。您可以使用内置于 Algolia 即时搜索前端库、Algolia Insights API 的事件集成,或者与主要电子商务平台和分析后端的支持集成来收集这些数据。您甚至可以将您的活动上传为具有适当记录格式的 CSV 文件。
请记住,因为趋势模型关注的是随时间的变化,所以您需要发送跨越多天的转换事件。
最低活动要求是:
- 过去 30 天内 500 次转换
- 至少 3 天内的事件(因此不是一天 500 次转换)
- 索引中至少 10 个项目的事件
您可以在仪表板的数据源部分跟踪整个应用程序中的事件总数。本节还为您提供了对事件进行故障排除的调试工具。
要开始训练您的模型,请从推荐仪表板中选择趋势模型。选择您的产品指数,推荐会让您知道您是否有足够的所需转换事件来开始培训。如果您看到有关检索事件的错误,您可能需要禁用广告拦截软件。
接下来,可以选择训练模型时要考虑的任何方面。例如,您可以为面category_page_id
上的趋势面值训练模型。您现在可以点击训练模型开始训练过程。培训通常需要几个小时才能完成。
使用推荐界面将趋势添加到您的前端
一旦模型定型,就可以开始向应用程序中添加趋势建议了。最简单的方法是使用推荐普通 JavaScript 或 React 的前端 UI 库。
假设您想使用新训练的趋势方面值模型,将趋势类别添加到 Algolia 电子商务 UI 模板中。首先,您需要使用 npm(或 yarn)将recommend
和recommend-react
库添加到项目中:
npm install --save @algolia/recommend-react @algolia/recommend
一旦安装了库,您将需要编写一个新的FacetList
组件来检索和显示来自您的训练模型的方面推荐。您的组件需要使用包含您的训练模型的应用程序中的应用程序 ID 和 API 密钥来初始化推荐客户端。
const recommendClient = recommend(ALGOLIA_APP_ID, ALGOLIA_SEARCH_ONLY_API_KEY)
接下来,从推荐 React 库中添加TrendingFacets
小部件。由于您在电子商务 UI 中工作,您将使用抽象的Container
组件作为包装器,并以与库中其他组件相同的方式处理标题。这意味着您想要通过包含headerComponent={() => null}
来取消默认标题。通过使用maxRecommendations={3}
将 30 个推荐列表减少到前 3 个,你可以避免让你的访问者不知所措。
这是完整的FacetList
组件:
import algoliasearch from 'algoliasearch';
import recommend from '@algolia/recommend'
import { TrendingFacets } from '@algolia/recommend-react'
import classNames from 'classnames'
import { Container } from '@/components/container/container'
const recommendClient = recommend(ALGOLIA_APP_ID, ALGOLIA_SEARCH_ONLY_API_KEY)
export type FacetListProps = {
title?: string
indexName: string
facetName: string
className?: string
[index: string]: any
}
export function FacetList({
indexName,
facetName,
title,
className,
}: FacetListProps) {
return (
<section className={classNames('py-4 laptop:py-16', className)}>
<Container>
{title && (
<h2 className="text-sm font-semibold tracking-[2px] uppercase mb-3 laptop:mb-6 laptop:ml-3 laptop:heading-3">
{title}
</h2>
)}
<TrendingFacets
recommendClient={recommendClient}
indexName={indexName}
maxRecommendations={3}
itemComponent={({ item }) => <a href={item.facetValue}>{item.facetValue}</a>}
headerComponent={() => null}
facetName={facetName}
/>
</Container>
</section>
)
}
最后,将完成的组件添加到您的index.tsx
页面上的Banner
小部件之后:
<FacetList
title="Trending Categories"
indexName="prod_ECOM"
facetName="category_page_id"
/>
重新加载后,您现在应该会看到热门趋势类别,就在主页的横幅下方:
结论
趋势模型是对推荐中现有的(和最新更新的)产品模型的很好补充。您可以将这两种类型的模型结合起来,帮助您的客户在您网站的整个旅程中发现新的商品——主页上的 facet value trends 将他们引向类别页面上的趋势商品,产品详情页面上的相关产品,最后是结账时经常一起购买的商品。在每个阶段,顾客都被引导到他们通过传统搜索可能错过的商品。
您现在可以从 Algolia 推荐仪表板开始使用趋势项目和趋势方面值。或者,您可以阅读更多关于推荐必须提供的其他特性。
联合搜索的优势和挑战
原文:https://www.algolia.com/blog/product/federated-search-benefits-and-challenges/
当用户访问你的网站时,他们希望尽快找到相关内容。在投入大量资源来完善你的网站后,你希望确保访问者可以尽可能少的努力(和挫折)找到他们需要的东西。
联合搜索是一个强大的工具,可以改善你的网站搜索,并有利于你的整体业务。但是强大的力量带来了独特的挑战。有了足够的深谋远虑和清晰的计划,您的站点可以收获好处,并最大限度地减少与联合搜索相关的棘手问题。
什么是联邦搜索?
联合搜索是一种搜索技术,涉及一次索引多个数据源,然后在一个统一的界面上向用户呈现各种结果。
大多数传统的搜索方法一次只能索引一个数据源。例如,用户可能只能搜索站点上的所有 HTML 页面,或者只能搜索存储在数据库中的文件。但是使用联合搜索,通过包含更多的数据源,您可以提高用户在第一次尝试中找到所需内容的可能性。
构建联合搜索有多种可能的方法,底层架构也可能有所不同。然而,所有的联邦搜索解决方案都有一个相同的核心特性,即允许用户使用一个搜索过程和界面搜索许多数据源。
联邦搜索的好处
得益于整合和集中搜索过程的能力,联合搜索为网站和网站访问者带来了一系列好处。
联合搜索为你的网站提供了许多好处:
提高客户参与度
通过提供更简单、更高效的用户体验,联合搜索提高了客户参与度和满意度。联合搜索还提高了可发现性,它以直观的格式提供最相关的信息,有时甚至会显示用户甚至不知道他们需要的内容。
增加转化率
有了联合搜索界面,访问者只需更少的点击就能到达他们想要的目的地。结果呢?用户在你的网站上停留的时间更长,而不是因为不满意而离开。这最终增加了点击率和成功转化的机会。
增加搜索覆盖面和范围
借助联合搜索,您可以使用单一工具轻松搜索您的所有内容。它消除了为不同类型的内容设置和管理多个搜索工具的需要。您的单个工具可以比每个单独的工具更加健壮和全面。
增强安全性
少即是多 说到安全。换句话说,需要管理的应用程序和数据库越少,系统受损的机会就越少。因为联合搜索意味着您只需维护一个搜索引擎,所以需要担心的安全风险更少。
更好的搜索相关性
联合搜索界面允许您决定每种不同类型的内容如何出现在搜索结果中。对于几个搜索引擎,定义每种内容的相对重要性是不可能的。但是有了联合搜索,你可以动态地确定不同内容资产的重要性,例如,确定产品是否应该比博客文章在结果中显示得更靠前。
联合搜索还在几个重要方面让你的用户受益:
简化用户体验
对于一个网站访问者来说,浏览网站地图来浏览大量的产品目录可能是乏味且低效的。有了联合搜索,用户只需要知道搜索框在哪里就能找到任何东西,不管它在你网站的哪个位置。您可以跨任何在线属性(如博客帖子、常见问题解答、用户生成的内容和其他相关数据)提供单一的统一体验。
提供易于解读的结果
联合搜索引擎可以配置成使用高亮显示等方法来帮助用户解释不同类别的搜索结果。通过这种方式,联合搜索使用户更容易解释复杂的信息,即使信息包含多种类型的数据。
总的来说,联合搜索使用户和网站更容易、更高效地处理许多组织现在维护的各种数据源。
联合搜索的挑战
联合搜索提供了如此多的好处,因为它比传统的简单搜索更复杂。但是,伴随着这种复杂性和复杂性而来的是一些新的不同的挑战。这些问题是可以解决的,但是需要提前做一些规划。
对于您的公司来说,这些挑战可能包括:
实施挑战
虽然从长远来看,联合搜索解决方案比多个独立的搜索工具更容易维护,但它通常需要更多的前期工作来实现。实现联合搜索需要时间和资源的初始投资。使用第三方联合搜索合作伙伴来创建和实现联合搜索架构可能会消耗较少的内部时间,但仍然需要前期投资。
数据源不一致
您可以对几乎任何类型的数据源使用联合搜索。但是,如果您的数据源在类型和结构上差异很大,那么索引模式也是如此。因此,相关性配置需要根据数据源进行微调。
复制
如果您在多个数据源上运行相同的搜索,则会增加您搜索的某些数据出现重复的风险。例如,您可能有一个包含相同信息的 HTML 网页和一个 PDF 文件,并且您不想向您的用户显示重复的搜索结果。幸运的是,有一种简单的方法可以应对这一挑战: 重复数据删除 ,即识别和消除冗余数据。您可以在搜索工具中实施重复数据删除。
对于用户来说,常见的联邦搜索挑战包括:
太多结果
因为联合搜索利用了如此多的数据源,所以存在一个风险,那就是你的用户将会看到如此多的结果,以至于他们很难找到最相关的。然而,你可以通过采取措施 优化你的搜索结果 的相关性来解决这个风险。设计一个 用户界面 让结果更容易解释也是有帮助的。
滞后性能
联合搜索的执行速度可能不如只能处理一种类型数据源的搜索工具。这就是为什么 进行搜索性能测试 以确保您的联合搜索解决方案满足用户的期望非常重要。
如何选择联合搜索解决方案
选择合适的联合搜索工具需要考虑您公司的需求、您用户的需求、您现有的网站架构以及您的 IT 能力。在评估联合搜索选项时,请考虑以下方面:
经营目标
你的企业希望从联合搜索中获得什么?易于实现比性能或覆盖率更重要吗?还是最终产品的可用性和性能比实现过程更重要?如果你的业务依赖于搜索,比如电子商务网站, 可靠性和正常运行时间 有多重要?
最好的联合搜索网站搜索解决方案应该提供无障碍实施(通过亲自实施或专家指导)和无与伦比的性能。
客户需求
联合搜索会给你的客户带来哪些好处?你是在试图简化他们在你网站上的体验,提高参与度,帮助他们更有效地理解复杂的搜索结果,还是同时做到这一切?该平台提供了哪些功能来帮助客户浏览搜索结果,比如突出显示搜索结果或对搜索结果进行分类?
确保您的联合搜索提供商了解您的优先事项,并提供解决这些问题的功能。
搜索引擎功能
考虑您选择的联合搜索解决方案提供的具体功能,以及这些功能如何强化您的目标。例如,您的联邦搜索工具应该能够在同一个搜索框中显示不同类型的结果。它应该很容易索引(和结构,如果必要的话)不同类型的搜索内容,甚至从各种网站或 CMS 安装。
在你选择一个联合搜索提供商之前,先弄清楚他们提供了哪些功能来帮助你实现这些目标,以及你网站搜索的其他目标。
为你的站点找到联邦解决方案
对用户和公司来说,联合搜索提供了许多好处,从更简单方便到更安全。但是它也提出了一些特殊的挑战,为了实现最适合您的业务和客户需求的联合搜索解决方案,您需要考虑这些挑战。
在评估联邦搜索解决方案时,请考虑 Algolia。凭借闪电般的搜索结果、广泛的可定制性和对几乎任何类型数据源的支持,Algolia 可以轻松构建有效的联合搜索解决方案,而不管您的类型或范围如何。
亲眼看看 购买与建筑搜索 的显著区别,或者 观看一个演示 来看看阿哥利亚的行动。
4 种类型的联合搜索
原文:https://www.algolia.com/blog/product/federated-search-types/
所有的搜索方法并不都是平等的。在网站上搜索越容易(也越快),你的用户就越有动力留在网站上,浏览你的内容,成为回头客。
联合搜索是提高网站搜索可用性和性能的好方法。联合搜索是站点搜索的一种形式,它从多个数据源提取各种类型的信息,并将其呈现在一个公共界面上供用户浏览。
当联合搜索被很好地实现和设计时,它鼓励用户超越他们正在搜索的内容。他们可以浏览、发现和消费比以往更多的关于你的业务和产品的信息。此外,在网站上进行的搜索越多,公司就能收集越多关于流行产品的有价值的数据,并将其纳入关于产品路线图的决策中。
但是设计一个强大、直观的搜索功能需要选择 右 的方法来进行联合搜索。正确的方法取决于您的网站、当前数据的组织和存储方式,以及您的网站和业务的总体目标。
联合搜索的不同方法
联合搜索包括两个基本过程:索引和搜索。
首先,数据被索引。索引包括收集、解析和存储数据,以实现简化、高效的搜索。对于典型的站点搜索解决方案,索引需要以特定的时间间隔更新,这取决于添加新数据的频率以及新数据变得可搜索的速度。
接下来,搜索数据。搜索过程包括查询索引,以正确的顺序返回正确的信息。
每个联合搜索工具都是基于索引和搜索的。但是根据您的业务需求,有三种不同的索引和搜索方法可供选择:搜索时间合并、索引时间合并和混合联邦搜索。
1。搜索时间合并
搜索时间合并(有时也称为查询时间合并)包括为您想要包含在联邦搜索中的每个数据源维护一个单独的索引。然后,要执行搜索,需要针对给定的搜索词分别搜索每个索引。您可能还需要通过识别从冗余数据源提取的结果来删除重复数据。最后,搜索结果被聚集以产生最终结果的列表。
搜索时间合并的优缺点
搜索时间合并的主要优点是它是实现起来最简单的联邦搜索方法。因为它不要求您为所有数据源创建中央索引,所以您可以使用每个数据源中已有的索引快速设置搜索时间解决方案。
此外,搜索时间合并可以更简单地设置,因为不需要标准化您的索引。一个索引的数据结构可能不同于另一个索引的数据结构,但是搜索时间合并对两者都适用。
另一方面,使用搜索时间合并进行的搜索的性能速率往往比其他联合搜索方法慢。独立搜索多个索引效率较低的是。如果一个索引响应特别慢,整个搜索就会延迟。最后,为汇总结果列表建立一个令人满意的相关性可能非常具有挑战性,因为这涉及到比较苹果和橙子
2。索引时间合并
联合搜索的另一种方法是索引时间合并。使用这种方法,您可以为所有数据源创建一个中央索引,然后解析该索引以执行搜索。
指数时间合并的优缺点
因为你只需要搜索一个索引,索引时间合并通常会比搜索时间合并更快。这是索引时间合并的主要优点。索引时间合并还允许您包含没有自己的搜索功能的数据源,因此不能与搜索时间合并一起使用。
索引时间合并的主要缺点是需要更多的努力来实现。您不能解析索引集合,而是必须为所有数据源创建一个中央索引,并在数据源发生变化时更新该索引。另外,如果您的一些数据源的格式与其他数据源不同,您需要将所有数据标准化为相同的格式。类似于搜索时间合并,它仍然需要你为所有不同类型的内容决定一个独特的相关性策略,这不是最佳的。
3。混合联邦搜索
您还可以通过将搜索时间和索引时间合并中的一些方法结合起来,采用一种混合方法来进行联合搜索。
对于混合联邦搜索,您可以为尽可能多的数据源创建一个中央索引,就像索引时间合并一样。但是,如果您的数据源不容易用中央索引表示,那么您可以为它们维护单独的索引。当您执行搜索时,您会搜索所有的索引—您的中央索引,以及存在于中央索引中未出现的任何其他数据源的附加索引。基于所有索引的搜索结果被聚合以创建一个最终列表,就像搜索时间合并一样。
混合联邦搜索的优缺点
通过减少需要搜索的索引数量,混合联邦搜索提供了比搜索时间合并更好的性能。但是,与此同时,它并不要求您为所有数据源创建一个索引。
混合联邦搜索技术的主要缺点是,因为仍然有多个索引要搜索,所以性能通常比只有一个索引时要慢。
4。联邦搜索界面
这种方法与搜索时间合并方法类似,但它不是将结果聚集在一个结果列表中,而是在一个统一的界面中为每种类型的内容呈现一个结果列表。
联合搜索界面的优缺点
联合搜索界面不仅提供了卓越的性能,还允许网站所有者独立微调每种内容类型的相关性。然而,实现这些好处确实需要一些深谋远虑。最终界面的设计应该反映网站所有者希望访问者拥有的体验,因此需要一些战略规划。此外,并不是所有的搜索网站工具都能显示联合搜索界面。因此,网站所有者需要确保他们的网站搜索解决方案能够在不同的索引中索引不同类型的内容,并以最用户友好的方式呈现这些信息。
如何选择联合搜索方式
有四种不同的联合搜索技术可供选择,您如何决定哪一种最适合您的业务需求?有几个因素需要考虑。
数据环境
你应该考虑你拥有的数据类型,以及哪些工具可以用来操作、索引和搜索它们。如果您的数据源包含各种各样的格式,那么搜索时间方法通常最有意义。如果您的每个数据源都可以很容易地独立搜索,那么搜索时间也会更长,如果数据的结构一致,情况就是这样。另一方面,如果可以很容易地将所有数据标准化到一个数据库中,那么索引时间合并是一个更好的解决方案。但是,如果您有一系列不同的内容形式,并且您的搜索解决方案支持联合搜索界面,那么这应该是首选方法。
开发者需求
您的开发人员也是决定使用哪种联合搜索方法的一个重要因素。如果您有一个大型开发团队和构建中央索引所需的资源,索引时间合并可能非常适合您。但是对于较小的开发团队来说,搜索时间合并可能是一个更实际的选择,因为它需要较少的努力来实现。如果您的开发团队在构建搜索应用程序方面没有太多经验,第三方联合搜索解决方案可能也是一个有吸引力的选择。
用户需求和体验
归根结底,搜索的主要目的是将你的内容与用户的意图联系起来。在决定采用哪种联合搜索方法时,用户体验需求应该是优先考虑的。如果用户期望异构结果的单一列表(想想 Google Drive),搜索时间或索引时间合并是根据您的数据环境和资源做出选择的好解决方案。如果用户已经知道他们在寻找什么,但可以从额外的内容或结构化的结果布局中受益,那么联合搜索界面是正确的解决方案。
联邦搜索和阿果
无论您采用哪种方法,Algolia 都能帮助您加快联邦搜索的实施。凭借极快的搜索结果、对几乎任何类型数据源的支持以及定制搜索 ui 以帮助指导用户的能力,Algolia 可以轻松地将联合搜索功能添加到您的网站中。通过注册一个免费账户来亲眼看看吧。
为什么 Shopify 过滤器和 Shopify 分面搜索还不够
原文:https://www.algolia.com/blog/ux/filters-vs-facets-in-site-search/
一个优秀的网站搜索工具不仅能帮助网站访问者使用搜索词找到他们想要的东西,还能帮助他们发现产品,交叉销售或追加销售他们以前从未考虑过的想法。但为了让这种搜索和发现体验发挥作用,产品搜索过程必须无缝、直观,无论购物者是使用移动设备还是坐在台式电脑前。
使用 Shopify 的在线零售商可以改善客户搜索体验和产品发现的一个重要方法是在其用户界面中利用过滤器和分面搜索。
应用过滤器和方面可以让购物者细化他们的查询,发现你网站上更多的商品。通过使人们能够快速缩小选择范围并找到他们正在寻找的产品描述,您可以改善用户体验并潜在地增加您的转化率。
过滤器和刻面:缩小搜索选择的两种方式
对于拥有大量内容的电子商务网站来说,过滤器和方面都是有用的工具,否则很难导航。购物者选择过滤器和方面来减少搜索(并进一步细化他们生成的结果)到一个子集。
通常认为过滤器和方面是可互换的概念。但是,虽然它们都可以帮助用户改进他们的查询并快速获得他们想要的结果,但它们在功能上并不完全相同。事实上,它们在站点搜索中的显示方式和使用方式有很大的不同。
让我们来看看每一种搜索优化方法,以及正确使用这些方法如何提高用户参与度,从而促进销售。
滤镜和刻面的区别
滤镜
在搜索中,收集过滤器会排除不符合用户所选标准的结果。主题过滤器是广泛的,通常是固定的类别,如产品类型(它们在用户的搜索中不会改变),人们可以选择它来立即消除不相关的内容,并深入到可管理的数量的项目进行探索。
在电子商务中,过滤器通常是商店选择的高级产品系列。
因为产品过滤器的基础如此广泛,所以它通常是购物者在网站主页上看到的第一件东西。例如,购物者可以使用家得宝顶级过滤菜单上的过滤器,包括家居装饰、家具&厨具和 DIY 项目&创意:
一家销售服装的网上商店可以让购物者开始缩小服装类型的搜索范围,衬衫、裤子、鞋子和配饰都是可能的类别。当服装类型过滤器被应用时,比如说,只应用于衬衫,访问者会看到一个只显示衬衫的结果页面。
下面是 Lacoste 的高级店面过滤菜单的样子:
点击 Men 会显示服装、鞋子、配饰、包包&皮具和运动等过滤器,下面是较低级别的过滤器,如 t 恤过滤器。
较低级别的过滤选项也可以出现在搜索结果页面本身,因为一旦在搜索栏中输入搜索词,使用不同的方面来进一步指定它们的参数通常是快速将它们带到正确的产品详细信息页面的必要条件。
刻面
Facets 是在线购物者的主要工具,他们可以使用它来完善搜索结果,发现符合其特定购买需求的商品。分面搜索是一种以有针对性的方式聚焦于产品和搜索结果的方法,这在使用广泛的过滤器时是不可行或不可能的。
刻面反映产品特性
搜索者可以使用刻面,也称为刻面过滤器,通过同时指定多个 特定特征(选择多个刻面)来细化搜索。这使得他们的产品选项更加精细,以确保他们能够快速准确地找到他们需要的东西——而不仅仅是大致了解产品,并对过于耗时的搜索过程感到沮丧。
与过滤器不同,刻面经常在类别内变化,以反映它们所用于的产品类型。例如,当搜索一条牛仔裤时,你可能会看到尺寸、剪裁、洗涤和价格范围等方面的类型。但是如果你在 Lacoste 网站上搜索太阳镜,你会看到不同的搜索建议,比如性别和颜色。
或者,举例来说,如果你在 L.L.Bean 网站上寻找一件女式毛衣,你会在侧边栏中看到尺寸范围(如小号)和该范围内的尺寸的复选框:
以下是 facets 如何让顾客指定鞋子颜色(此处为蓝色和黑色)、尺码(6)和场合(休闲)。
总之,当谈到网站搜索时,过滤器和方面是引导潜在买家以最快的方式找到产品列表上最佳搜索结果的关键类型,确保了出色的购物体验和最大化收入的承诺。
以下是这两个搜索增强特性的主要区别:
| 过滤 | 面状 |
| 搜索工具自动从一个大的类别开始,排除所有其他类别 | 用户选择特定的属性进行搜索 |
| 涵盖广泛的属性(例如,服装类型) | 应用多个特定属性(例如,面料、颜色) |
| 有时在搜索过程中对用户可见 | 在搜索过程中始终对用户可见 |
| 不要随着查询和搜索结果的变化而变化 | 随着查询和搜索结果的变化而适当变化 |
现在你知道了过滤器和方面是如何工作的,你认为这个功能会有助于改善你的电子商务搜索体验吗?
如果你的网站只提供几十个页面的内容,那么数量有限的、适用于所有 SKU 的宽泛过滤器可能就足够了。
如果你的目录跨越了许多过滤器和成百上千的产品页面,那么 facets 会有很大的不同。方面也非常适合用于列出多个产品规格的产品目录,例如,在 B2B 网站上。
Shopify 默认搜索功能都是裸机
Shopify搜索优惠什么?
简而言之,Shopify 已经将高级搜索选项推迟到其庞大的应用生态系统中。其开箱即用的搜索体验很初级,仅通过 集合 和 标签 提供过滤可用性的基本支持。它默认返回基于搜索查询的精确结果。
例如,这里有一个查询“鞋”的默认 Shopify 商店搜索结果页面:
如你所见,结果过于简单:不支持过滤或刻面。你也得不到一些高级功能,如打字错误容忍、基于意图的查询和内嵌建议,而这些正是许多在线购物者现在完全期待的。
归结起来就是:为了创造无缝的用户搜索体验并提高您的 Shopify 转化率,您需要一个搜索解决方案,为您的业务用例提供正确的过滤和分面。通过 Algolia,一个新成立的 Shopify 加上认证合作伙伴 ,您可以大大改善您的搜索和导航。
这里有一个 Algolia 增强的“鞋子”搜索页面:
如您所见,已经根据商店的产品数据在左侧空白处生成了相关的过滤器和方面。供应商和类型是过滤器,而在它们下面,颜色、价格和大小作为面出现。
Shopify 和 Algolia 的集成意味着您可以跳过创建和维护结构来实现多面导航。
这些集成功能的一个例子是根据您商店的产品颜色属性数据生成颜色样本。
最初,您可能想要检查和配置搜索栏中的可用过滤器。需要加滤镜吗?如果适用,您可以添加一个颜色过滤器,并将其与其他属性一起按正确的顺序放置: 此外,作为商店所有者或支持团队成员,您可以访问一个搜索界面构建器,该构建器只需在 Shopify 网站上做很少或不需要编程更改。您可以基于某些查询设置 自定义过滤器 (例如,通过计算人们可以作为搜索词输入的同义词)。
做出更改后,您可以在商店收藏页面上看到导航界面的外观,例如:
下一步用滤镜和刻面
准备好 打造稳健的搜索体验 和 提高你的 Shopify 转化率 ?
为了打造从第一次接触搜索框到结账的无缝购物者搜索体验,你需要一款能够提供过滤和分类工具的搜索应用,这些工具非常适合你的商业案例。
Algolia 在此帮助您进行 Shopify 搜索&探索。通过使用我们强大的基于 API 的产品,超过 1,500 家 Shopify 商家已经创建了引人注目的搜索和发现体验,看到了搜索使用率的增加,并提高了他们的转化率和收入。
当您将 Algolia 连接到您的 Shopify 商店时,您也可以快速设置专业搜索过滤器和方面来优化您的电子商务网站搜索引擎功能,通过智能搜索功能增强您的客户体验。
开始研究你用滤镜和刻面的可能性。 联系我们 进行个性化演示。
或者继续操作 开始修改 你的过滤器和刻面
- 进入 Shopify 应用商店 。
- 搜索并选择 Algolia 搜索和发现 app。
- 点击 添加 app。
- 登录。
- 在您的 Shopify admin 中,点击 安装 app。 在设置过程中,Algolia 会将您的产品和元数据编入索引,以创建相关的模式、方面、过滤器和管道。
- 使用该应用程序创建项目集合并自定义过滤器。
了解更多信息
增强客户服务团队的能力
如今,似乎感觉良好的“赋权”一词正被用来口头上支持从奋斗的活动家到追求利润的全球公司的每一个人的福祉。
关于授权的有趣事实:没有人能授权给别人; 人必须授权 自己。你可以支持那些需要获得授权的人,让他们更容易获得项目的所有权,为他们所做的事情感到自豪,变得有效率,从而个人变得强大,等等,但你不能授权给他们。
好吧,所以这篇文章的标题是个语法问题,但是“赋权于人”听起来还是很妖娆。不管他们如何获得个人权力,不可否认的是,被授权的人可能会更有效率、更有动力、更快乐。当你获得了权力,你就掌握了成功的关键,可能还有竞争优势。
给员工授权
让我们深入探讨一下:就员工的效率和满意度而言,授权具体意味着什么?
美国质量协会称,工作场所授权是“组织在日常活动中为员工提供一定程度的自主权和控制权的方式”。这种授权可能如何体现的例子有:经理鼓励员工提出建议并参与实施流程改进,允许工蜂在引领公司倡议中发挥积极作用,以及让人们相对自主地工作而不必避开管理干预。
让我们面对现实吧,除了这些“官方”授权方法,还有很多其他“被证实”的方法让员工感到被授权,从简单地支付他们应得的报酬,到提供免费的冰淇淋,到给予他们定期的“健康日”,与他们的孩子一起出去玩或躺在沙滩上。作为一名有权力的员工,有什么不喜欢的呢?
赋能客服团队
就客户服务技能而言,什么是授权?
让我们来谈谈如何为客户服务团队的员工赋权。这涉及到一些细节,比如让每个客户支持代表根据客户的特定需求选择在电话中为客户做什么,以及该代表从自己过去解决问题的经验中了解到什么。
这种授权不包括需要经理批准你在支持过程中决定采取的每一个步骤,并让你在没有人监督的情况下工作。如果你在客户支持部门工作过,也许你已经体验过被微观管理是多么令人恼火。你可能会对你的经理失去信心,不再信任他们,也许会开始怨恨他们(并发誓要找一份新工作)。你并不觉得可以畅所欲言地提出良好的客户服务体验,而是试图蹲下来“做好你的工作”,因为害怕收到虚假的负面反馈或被不公正地解雇。
不幸的是,这种封闭的、以生存为中心的方法不仅会给你,也会给你焦虑的顾客带来负面体验。它可能会妨碍客户支持代理就他们的问题与人们进行公开而富有成效的沟通,并努力提供出色的客户满意度。
但是让我们回到如何授权给你的客户支持团队(哎呀,如何 帮助他们授权给他们自己 )…
下面是四个关键策略的简短列表,它们可以帮助我们建立一个充满力量的、伟大的客户支持团队、更好的客户体验、源源不断的充满感激和忠诚的客户,当然,还有所有这些必然会带来的更高收入。
1:减少客服来电数量
“说起来容易做起来难”,你可能在想。也许吧,但这值得一试,你可能会惊讶于自己对呼叫中心和客服人员生活的影响。作为一名支持主管或经理,不要试图给你的销售代表授权,而是做一些随意的事情,比如给他们送甜甜圈。相反,通过减少他们的工作量,努力让他们的工作生活更好。
对他们来说,这无疑意味着更少的压力和压力,更多的呼吸空间,更多的机会去专注于帮助那些不能或不想解决问题的可怜灵魂,而不去和一个懂得如何解决问题的有同情心的活生生的人交谈。
当然会。但是 如何 减少支持电话呢?
让我们细数一下方法:设计和制造高质量的产品,在发布前对它们进行上下两面的可用性测试,用通俗易懂的英语提供清晰明了的说明和帮助文档,让客户轻松而全面地在你的在线数据库中搜索他们需要的信息……嘿,让我们从最后一个开始吧。
实现联邦搜索
是的,通过为您的客户提供一流的、人工智能支持的联合搜索,可以直接引导他们找到解决问题所需的信息,您可以减少焦虑不安的客户询问流,这些询问可能正在轰炸您的支持代表。
联合搜索 是一种简单的搜索,让客户通过在一个简单易用的界面中搜索多个数据源来查询答案。例如,一个酒柜坏了的客户可能会找到附带的纸质说明手册的数字版本(他们后来归档保存并“丢失”),以及客户服务团队随后起草的技术问题和常见问题的故障排除提示。这些常见问题可能包含修理故障冰箱的秘密,以及在正确温度下喝冰镇葡萄酒而不必拿起电话的秘密。
实现语义搜索
另一个减少支持电话和提高客户成功率的工具是一个 语义搜索 引擎,它专门用于自助支持,并具有理解复杂支持查询的人工智能。
Algolia 客户支持解答 与帮助台集成就是一个例子。使用这款人工智能软件,当客户在与聊天机器人互动时提出问题时,搜索引擎会在您的支持文档中找到最佳答案,并首先显示给客户,从而节省时间。快速提供正确的信息就是提供良好的客户支持。
是的,有一些具体的方法可以帮你减轻支持代表的负担。当你的客户——甚至是他们中的一部分——能够在他们需要焦急地寻找你的 800 号码之前,通过成功地解决他们的问题来增强自己的能力时,你不仅可以让支持代表更开心,还可以降低客户支持成本。
2:确保你有一个良好的知识管理系统
假设客户无法通过联合搜索找到他们需要的信息,他们的下一步将是联系支持部门。该出发了。
在这一点上,您如何让您的客户支持团队脚踏实地?
可以说,没有什么比拥有一个运转良好的内部 知识管理系统 (KMS)更好的了。
一个有效的(“授权的”)?)实现有效客户支持体验的 KMS 将客户支持代表需要的信息放在他们面前。他们还可以利用 KMS 跟踪问题解决方案,以及商店和地面故障排除提示,帮助支持代理更快地关闭票证。
支持团队使用的知识库还可以通过帮助团队成员以积极主动的方式合作来改善客户服务。例如,如果对产品流程进行了更改,支持代理可以更新现有的文档,这样就可以立即帮助销售代表解决问题。
也许你的知识管理系统专门用于客户服务,或者更一般化,但它需要包含所有可用的客户支持文档,并提供与产品各方面相关的所有关键信息。当您选中该框时,当客户询问如何使用某项功能时,您的团队可以访问由熟悉问题和解决方案的技术人员创建的详细说明。
在知识库中拥有这些信息可以说是最能增强客户支持代表的能力,并有助于创造更好的客户服务。如果他们没有关键信息,除了主动提出研究问题,祈祷他们能找到正确的信息,并发誓尽快回复客户(下周?).这种拖拖拉拉的方法不仅对客户来说是过时的,还会让他们开始怀疑你的产品质量标准,最终影响你的整体客户忠诚度。
3:给你的支持团队最好的企业搜索工具
因此,我们认为拥有一个现代化的知识管理系统是改善客户服务的关键。然而,还有另一个关键的细节:如果没有优秀的 企业搜索 ,你的 KMS 可能只是另一个可能有用的信息的孤岛,但这些信息对于需要关注它们的服务代理来说是无法访问的。
即使您的支持代表对您的产品的工作原理有相当的了解,如果他们想要快速解决人们的问题并让他们感到温暖和模糊,他们仍然需要访问所有相关的技术支持材料。
因此,一流的知识管理系统必须便于支持代表搜索。当他们听到问题时,他们必须能够获取正确的信息来实时解决客户需求,并能够当场提供解决方案,而不是为他们的恐龙信息系统向客户道歉,并提出一旦他们采取行动后再联系。如果他们找不到他们需要的信息,他们就没有朝着一个被授权的方向前进。但是,当他们能够快速获得正确的材料来回答客户的问题,吸收知识,并把它传递下去,他们默认有助于提高客户满意度。提供卓越的客户服务会让他们感到高效和强大。
客户支持的成功和员工授权不仅仅影响一线的客户支持代表。成功的客户服务改进策略可以被证明是有感染力和广泛的。客户对支持团队的积极反馈,无论是向首席执行官征集还是发布在社交媒体上,都可能吸引新客户,这对任何公司来说都是一种胜利。这是显而易见的,但当销售代表感到被授权时,他们通常会更喜欢自己的工作,会提供对公司的正面口碑,并可能在自己的岗位上呆得更久。在企业层面,这可以带来更好的整体工作流程和 工作场所效率 。
还有什么?对于积极的客户互动,还有一个授权策略:
4:鼓励支持代理与客户建立个人关系
即使支持代表感到被赋予了权力,他们也可能会遇到不愉快的客户。对于企业主来说,这只是生活中的一个事实,要么是因为客户在亚马逊上购买的东西损坏了本不应该损坏的东西,要么是他们对迄今为止获得的支持感到沮丧,要么是他们在被迫聊天后不得不忍受很长的响应时间(咒骂?)一个电话系统机器人。一次糟糕的客户支持访问经历会毁了任何人的一天。
对于人们来说,可能没有办法消除不得不与支持代表争论的烦恼,但是他们的焦虑可以通过代表的“今天我能为您做些什么?”在我们这个自动化帮助不断增加的世界中,能够设法与不幸的客户建立个人联系的支持代表可以获得令人难以置信的高回报。这需要“人际技能”,但当涉及到提供最佳客户服务时,培养这些技能并竭尽全力确保客户满意并留住客户与赋权齐头并进。
为什么支持代表建立个人关系和关注客户关系如此重要?根据 麦肯锡&公司 的说法,个人接触有助于销售代表满足客户的期望。该公司建议,展望 2025 年,“公司必须达到一个新的标准:对一个人的关怀”,这是一种将所有决策集中于服务个人客户及其个性化需求的精神。
尽管机器人自动化的技术可能很有效,但再多的与机器人自动化的互动也不太可能改变人们经常渴望与其他活人交谈的事实。他们希望有人积极倾听他们的担忧,深刻理解他们想要什么,提出一些可行的方案。他们渴望以客户为中心的认可、同情和安慰。让一个机器人告诉你有美好的一天(他们这样做吗?)如果你想解决客户的问题并让客户满意,这并不合适。
因此,帮助你的客户服务代表获得授权的最后一个关键是始终让你的客户接近(如果可能的话,尽快)一个他们可以与之交谈的温暖的身体。即使只有几分钟,问题仍然没有完全解决,然后必须立即将它们推回到自动化系统中。当谈到客户支持时,就像生活中的大多数事情一样,服务代表的个人接触可以让客户和代表都受益匪浅。
更多信息
使用 Algolia 企业搜索 ,了解您如何帮助您的支持代表让您的客户更加满意,并提高您的利润。我们的团队 在 上有一个活生生的人,他期待着与您讨论如何让您的服务代表获得更好的 KPI 和更大的业务成功。
用推荐和搜索框定消费者的在线零售之旅
对于今天的零售消费者来说,搜索不仅仅是输入查询。它是关于点击产品,过滤类别,浏览多个产品视图,生动的布局,促销品和客户评论。
现在,也是关于推荐的问题。网上零售商已经了解到推荐 相关、 而不仅仅是 相关 产品的重要性。他们了解到,提供查询范围之外的相关产品仍然符合消费者的购买意图。
然而,要想推荐成功,它们必须是 有意义的——这只能来自基于模型的机器学习推荐系统。幸运的是,零售商不需要知道如何自己构建这些模型。模型和机器学习应该成为搜索引擎的标准。
入门
除了收集和分析正确的分析数据,并知道如何以最有效的方式展示建议,零售商应该不需要做太多工作来实施建议。
开始使用建议时,需要考虑四个因素:
- 旅途。 每一次网上零售之旅都应该包括推荐产品。
- 时机。 建议应该出现在 恰好 合适的时刻。
- 建议的质量。 机器学习推荐系统通过以下方式建立其模型:
- 收集用户行为事件,如点击和转化(添加到购物车,购买),以了解个人并汇总客户的口味
- 使用产品类别建立基于过滤器的关系
然后呢?
- 实现。 既然推荐是现成的,零售商只有两个任务:
- 通过分析收集数据,使用捕捉消费者活动的单行代码片段。这和实现 Google Analytics 是一样的。
- 构建显示建议的 web 和移动界面。
旅程——从搜索到销售再到推荐
如前所述,我们对搜索栏的期望很高。更准确地说,我们希望 速度——搜索结果需要即时出现,最好是在我们键入时出现。并且我们希望 相关——结果需要准确无误。
但是像 Spotify、Airbnb 和亚马逊这样的在线企业并没有止步于此。他们将搜索栏改造成了一个全面的浏览、内容管理和销售体验,巧妙地命名为searchandising。 搜索和使用 集合了大量组件,如方面、类别页面、多个产品视图、传送带、横幅等等,所有这些都为消费者增加了屏幕上的选项。
然而,在当今爆炸性的数字经济中,即使这样也是不够的。领先的在线零售商已经(机器)学会了如何融入一个强大的新维度——推荐 。 推荐 允许网上商家向其用户、订户和购物者展示 补充 和 提炼 他们当前选择的产品。一个 推荐引擎 是一个详尽、有益的搜索和发现体验的最后一笔。
没有回头路可走——任何有竞争力的在线搜索和发现平台现在都必须具备搜索和推荐的能力。我们在这里的重点是推荐。
推荐添加 相关 项到 相关 结果
推荐系统不仅仅是搜索的附加功能。这是对 搜索相关性 的自然扩展,变成了更为健壮意义上的。当人们在网上搜索和互动时,很自然地会向他们提供所有相关的信息,包括免费赠送的内容,尽管这些内容并不总是与他们的查询相匹配,但却与他们的购买意图有着深刻而有意义的联系。
有意义的推荐,当无缝呈现给消费者时,不仅以意想不到的方式增加收入,还能极大地影响购物者的购买选择。消费者希望有更多的选择,因此在他们搜索的时候,很乐意以一种深思熟虑的方式被引导到那些选项。
建议行动!
Gymshark无缝转换 一个 引人入胜的搜索体验 变成一个 完整的发现体验 带推荐。它以一个查询开始。在下面的 GIF 中,搜索结果随着用户输入查询而变化。那永远是第一准则, 速度 。第二个标准是 相关性 ,用户可以通过查看易于阅读的结果、图片、标题和价格以及流线型的屏幕布局来轻松确认。
下一步是让消费者选择一个或多个项目进行查看。在这种情况下,消费者点击蓝色推杆:
产品视图页面的设计鼓励消费者滚动,在那里他们可以看到更多的照片、视频和顾客评论。底部是建议。
请注意,Gymshark 已经考虑周到地将建议添加到这些页面的底部,以避免分散用户查看产品的注意力。毕竟,产品页面的目标是让消费者转化,而不仅仅是继续购物。然而,也许这不是消费者想要的产品。此时,他们可以使用搜索栏或后退按钮,或者选择推荐的项目。
消费者在页面底部看到两组推荐:
- “搭配使用”,显示用户可以搭配慢跑者购买的产品。在这种情况下,不同种类的衬衫-t 恤,背心,运动衫:
- “您可能喜欢”,显示用户可能喜欢的项目,因为他们正在查看该项目。在这种情况下,其他类型的慢跑者。
回忆:
- 时机很重要:当用户还没有决定的时候,推荐慢跑者是有意义的。
- 不一定非得是慢跑者。它可以是任何项目。每个企业选择自己的推荐模型。例如,如果用户决定购买慢跑者,下一组推荐可以基于“人们(像你一样)也购买了什么样的物品”。
在深入了解这一切的工作原理之前,让我们总结一下这段旅程:
- 查询的速度和相关性将消费者导向一个满是慢跑裤的屏幕
- 产品视图页面为消费者提供了关于慢跑裤的全面而生动的信息,不受商品或推荐的干扰
- 推荐会适时出现,仅在用户查看慢跑者后显示补充但仍然相关的产品
工作原理
为什么推荐效果这么好?有几种方法可以用来生成推荐:
利用基于事件的分析收集用户行为(一种" 基于用户的协同过滤" 模型)
最强大的推荐来自用户喜好。了解用户偏好有助于推荐系统将客户划分为不同的类别,从而为每个用户提供个性化的推荐。
消费者以几种方式表明他们的偏好,例如,通过点击搜索结果中的特定商品,将商品添加到购物车,当然,还包括购买商品。当系统收集这些偏好时,它开始辨别相关模式,例如,某些用户一起查看和购买哪些产品。简档来自于这些不同偏好信号的组合(点击、查看、转换)。
捕捉大量的点击、观看和转化活动可以帮助推荐器机器创建清晰定义的群组。例如,极限运动爱好者执行显著不同的活动(点击、转化等。)来自骑自行车的人。
之所以称之为 基于用户的协同过滤 ,是因为将之前的用户行为进行聚合,“协同”形成面向未来用户的简档。我们的期望是,下一个客户将会看到基于与他们采取的行动一致的简档的建议。
对产品进行分类(一种“基于内容的过滤”模式 )
标准的基于搜索的功能是过滤,用户点击类别和方面来过滤他们的搜索结果。例如,如果 Gymshark 客户只想查看蓝色慢跑者,他们可以通过“颜色=蓝色”和“类型=慢跑者”来过滤结果。或者他们可以根据价格或品牌进行过滤。
过滤器也可用于生成建议。推荐以类似的方式利用过滤器,通过创建一个相关产品和类别的网络。例如,“type=joggers”可以设置为与“type=sport t 恤”相关。
这叫做 基于内容的过滤 ,因为模型使用内容,而不是用户行为,来确定推荐。
杂交
值得一提的是,大多数系统结合了基于行为和基于内容的模型,以提供更有针对性、更可靠的推荐。
使用手动覆盖(“规则”)将商品推销插入他们的推荐中
随着机器学习,通过收集越来越多的数据,企业可能也希望对推荐有所控制。他们通常用在特定条件下推送特定产品的 规则 来做到这一点。下面是一些用例,手动覆盖自动推荐可能是有意义的:
- 确保相关产品包括与查看产品属于同一类别的产品
- 排除特定产品或缺货产品
- 通过将特定产品(如新推出的产品)固定在第一个位置来推荐该产品
现在就开始吧
有了 Algolia 的托管搜索和推荐 API,像 Gymshark 这样的公司就可以为他们的用户提供完整的搜索&发现之旅,这完全是他们的业务所独有的。Gymshark 选择添加“你可能会喜欢”和“搭配穿着”的建议,但其他公司可以提出适合他们的公式。你会想出什么?
从价值观到行动:当团队推动社会影响时
原文:https://www.algolia.com/blog/algolia/from-values-to-action-when-the-team-drives-social-impact/
就在我们雇佣了 接替我的 CEO 职位 两周后,乔治·弗洛伊德被谋杀,导致了大规模的民众骚乱和行动呼吁。接下来的几周对许多人来说都是情绪动荡。对我来说,这也是我与我们的新任首席执行官 Bernadette 建立更深层次联系的时候。
虽然我在面试过程中确信 Bernadette 是一个“文化契合者”,但除非你去战场或与他们一起面对创伤事件,否则不可能知道一个新人有多契合。当大多数公司和首席执行官都在考虑如何回应——以及是否应该回应——伯纳黛特向团队发送了一封脆弱、坦率的电子邮件,并随后发布了这篇 博客文章 。就在那时,我知道我们在这个问题上意见一致。我既被她的无畏和承诺所感动,也在更深的人类层面上感受到了联系。
谈论我们的努力
我还意识到,表达我们共同的价值观,并更多地谈论我们如何通过社会责任来践行这些价值观,这很重要。我们一直不愿意大声谈论我们的社会倡议,因为我们担心它们会被视为自私自利。我现在意识到我们的错误。为了吸引合适的团队成员,激励其他人行动起来,也许更重要的是,激励其他人不要保持沉默,我们必须大声说出我们的信念和我们为此所做的事情。
我希望人们加入 Algolia,因为他们认同我们的价值观,是的,如果他们不认同,我更希望他们自己选择。如果它能鼓励其他公司自己做得更多,那就更好了。
所以我今天超级自豪地把我们的 社会影响页 公之于众。它包含了我们多年来发起的所有倡议。让我告诉你其中的几个。
我们的第一个举措
2016 年,我们的团队从 35 人发展到 66 人,虽然我们有许多由团队成员推荐的候选人,但我们仍然没有合适的推荐计划。当然,现金推荐奖金是常见的……除了我们的招聘团队认为以这种方式激励是错误的。他们担心,如果有金钱上的激励,他们会失去告诉你的朋友你有多爱你的公司时带来的那种特殊的东西。因此,在 2017 年初,他们提出了一种不同的转诊计划。当我们由于现有团队成员而雇佣某人时,我们不会给推荐人钱。相反,我们会问他们把钱捐给什么非营利组织。
2017 年也是我们参加 Twilio 信号大会的第一年。加入我们的活动团队,他们不满意我们把钱花在昂贵但收效甚微的东西上。把这个预算项目换成有实际影响的项目怎么样?在那一年的 SIGNAL,他们决定为每枚扫描到 代码 的女性徽章捐赠 10 美元。它不仅在与会者中获得了成功,而且还帮助我们为一个令人敬畏的非营利组织筹集了 3000 美元!从那时起,捐赠而不是送出赃物成为我们活动手册的一部分,我们已经向许多非营利组织捐赠了。
价值观要紧
当我写下这些文字时,我意识到 2017 年对我们来说是关键的一年。这是唐纳德·特朗普(Donald Trump)担任美国总统的第一年。他首先采取的行动之一是制定穆斯林旅行禁令。这项政策真正考验了我们和我们的文化。我们过去和现在都不关心政治。但是面对明显违背我们价值观的事情,我们该如何反应?
我们决定,我们有责任帮助那些抵制违反我们价值观的政策的非营利组织,并对团队成员向其中一个组织提供的任何捐赠(最高 5000 美元/年/员工)进行匹配。那时,我们一开始就给美国公民自由联盟捐款开绿灯,支持他们反对禁令的斗争。
因此,我将用一个程序来结束我的例子,这个程序来自我们的工程团队,在那伟大的一年的末尾。像大多数公司一样,我们依靠开源工具和框架来更快更好地工作。该团队想表达他们的支持,但没有足够的时间做出贡献。因此,在 2017 年底,我们发起了一项倡议,我们的每个工程队都可以每月捐赠 100 美元来支持他们所依赖的项目。我们大多是依靠 开放集体 来做这些贡献。
我最引以为豪的是,所有这些社会责任举措都直接来自我们充满激情、直言不讳、充满爱心的团队成员。看一下完整列表 这里 。我们期待着对其进行补充—非常欢迎您的建议和反馈:
尼古拉斯
使用 Whisper-Algolia Blog Blog 为您的 YouTube 内容生成转录索引
原文:https://www.algolia.com/blog/engineering/generate-a-transcription-index-for-youtube-using-whisper/
我们 2022 年 Algolia 开发者大会的主题是“索引世界,让您的数据动起来”,所以很自然地,当最后一个视频上传到 YouTube 时,话题就转向了我们如何为我们的客户让所有这些伟大的新内容动起来。
我知道我希望这些视频可以通过标题和描述进行搜索,并且可以通过类别进行搜索,但是我还想做得更多。我希望能够帮助开发者在视频中找到与他们的搜索相匹配的确切位置。这意味着将视频的抄本编入索引。我们过去曾尝试过使用 YouTube 的字幕功能来实现这一点,结果是混合的。对我们来说幸运的是,几乎在同一时间,OpenAI 的团队发布了一种新的神经网络,称为耳语,用于自动语音识别。
在这篇文章的其余部分,我将描述我用来构建 A/VSearch CLI 的工具链,这是一个集成的命令行,用于从 YouTube 频道或播放列表生成和索引脚本。
您可以在我们的演示网站查看结果,点击这里!
机器学习——耳语
如上所述, OpenAI 最近发布了 Whisper 这是一款通用的语音识别模型。它可以识别许多不同的语言,甚至有能力在它们之间进行翻译。由于它是在 Python 中自然公开的,所以它是与 Algolia 的 Python API 客户端合作的最佳人选。总的来说,我对转录质量印象深刻。即使使用medium
模型,减去一些具体的技术名称,它转录视频没有一个错误。
我个人希望 Whisper 拥有的一个大功能是扬声器二进制化,该模型在整个录音中识别不同的扬声器,并确定那个人何时说话。现在,您必须手动清理并分配段给一个扬声器。可以将 Whisper 与另一个工具结合使用,比如 PyAnnote 来实现这一点,我希望在未来将它作为一个特性添加进来。我还认为,在同一音频文件中使用多种语言时,Whisper 有一定的局限性,但随着时间的推移,这种局限性会得到改善。
由于 Whisper 提供的片段有时非常短,因此很难确定片段的真实上下文。因此,我们添加了一个包含前一段和后一段的context
字段。通过这种方式,可以清楚地了解特定片段中正在讨论的内容,从而提高找到特定剪辑的成功率。
我是怎么造出来的
因为 Whisper 需要一个音频文件来运行转录,所以我需要一个方法来获取 YouTube 视频并将其转换为音频文件。 YouTube-DL 是我的选择,因为它在 Python 中得到很好的支持,我可以让它只下载视频的音频,这样我就不必在转录之前转换任何下载。由于一些用户想从命令行使用该程序,我添加了 Click 库来支持 CLI 界面。
有时有些单词(或公司名称)是 Whisper 无法检测到的,所以我创建了它,以便您可以提供模式来执行搜索/替换逻辑。我的同事 Chuck 想出了一个好主意,也添加了一个分类功能,您可以在转录过程中为 A/VSearch 提供关键字,并自动应用预定义的类别。要使用这些特性,您只需传递一个 JSON 文件,其中包含定义的模式,A/VSearch 将在这个过程中解析并使用它们。
怎么用
使用 A/VSearch 非常简单,你可以从 GitHub 下载一个版本并安装,或者只需使用pip
通过 GitHub URL 安装,它将加载最新版本。由于它有一个功能齐全的 CLI,您可以只导出您的 Algolia 凭据作为环境变量,并开始行动!CLI 接受播放列表、频道和单个视频的 URL,并将文字记录写入您提供的 Algolia 索引名称。
Whisper 的转录速度可以通过访问 GPU 来加快。使用 NVIDIA Tesla T4 GPU 转录一个三分钟的视频需要 25 秒,而在 32-vCPU 虚拟机上相同的视频需要 45 秒。这种增加对于较长的视频特别有帮助,因为它可能需要一小部分时间来处理。
# Create and activate a virtualenv
python3 -m venv av-search-test && cd av-search-test
source bin/activate
# Install via Pip or grab a release from GitHub
python3 -m pip install git+https://github.com/algolia-samples/avsearch
export ALGOLIA_APP_ID=AAAAA12345
export ALGOLIA_INDEX_NAME=transcriptions
export ALGOLIA_API_KEY=6c4dba625a960b4cc54b7b5312f9117d
# Transcribe a video, playlist, channel, etc.
av-search --targets "https://www.youtube.com/watch?v=epSVL87_sqA"
关于高级用法的更多信息可以在 GitHub 资源库中找到。
如何实现自动化
自动化 A/VSearch 的最佳方式是将其集成到 Python 应用程序中。这样,您可以优雅地处理任何错误,并轻松地集成任何其他可能需要的解决方案(例如事件通知)。)
from avsearch import AVSearch
import os
avs = AVSearch(app_id='AAAAA12345', api_key=os.environ.get('ALGOLIA_API_KEY'), ...)
result = avs.transcribe([
"https://www.youtube.com/watch?v=qSBm7d3McRI"
])
print(result)
# [
# {
# "objectID": "zOz-Sk4K-64-0",
# "videoID": "zOz-Sk4K-64",
# "videoTitle": "Welcome to Algolia DevCon! Keynote and product demos",
# "videoDescription": "...",
# "url": "https://youtu.be/zOz-Sk4K-64?t=0",
# "thumbnail": "https://i.ytimg.com/...",
# "text": "Hi everyone and welcome to DevCon 2022.",
# "start": 0,
# "end": 12,
# "categories": [],
# "context": {
# "before": {
# "start": 0,
# "text": ""
# },
# "after": {
# "start": 12,
# "text": "I'm thrilled to be here with you today at Algolia's first ever developer conference"
# }
# }
# },
# ...
# ]
配置
一旦索引中有了一些数据,就应该调整一些设置来提供最佳的搜索体验。我们可以通过 Algolia 仪表盘或我个人最喜欢的 Algolia CLI 来实现这一点!我们准备了一个配置文件,您可以直接上传到您新创建的索引中,以获得开箱即用的最佳设置:
# Download the settings file from the repository or fetch it manually
wget https://github.com/algolia-samples/avsearch/blob/main/examples/settings.json.example
# Transcription index name
export MY_INDEX_NAME=''
# Overwrite index settings
algolia settings settings set $MY_INDEX_NAME -F settings.json.example
如果您不熟悉我们的 CLI,您可以在这里找到更多相关信息。如果仪表板更适合您,您还可以通过导航到您的索引,单击“管理索引”,然后选择“导入配置”来上传配置。
建筑前端
我构建了一个自动完成搜索体验(包括 cmd-K 绑定)来简化与现有的 Algolia 开发者大会主页的整合。让搜索界面成为模态界面让我可以提供一个丰富的带有预览和缩略图空间的 UX,而不需要重新设计整个主页。Algolia 的 AutcompleteJS 库非常适合构建这种类型的自动完成体验。我使用我们自己的文档搜索作为灵感的模型。大预览窗格为用户提供了视频脚本的更多背景信息,帮助他们找到合适的剪辑。
我研究了 AutocompleteJS 的插件架构,包括用于查询建议和点击事件的官方插件。我还创建了一个自定义插件,将选定的视频加载到同一网页上的嵌入式 iFrame 中(createLoadVideoPlugin
)。
你可以在代码回购的examples
目录中看到这个例子前端或者尝试一下现场演示。
总结起来
如果您对 A/VSearch 有任何问题,如它如何工作、实施问题或功能要求,请随时在我们的论坛上留言!我们的团队很乐意听取您对/VSearch 的意见,或者您可能有任何其他与 Algolia 相关的问题。
想开始抄写自己的内容吗?前往 GitHub 库获取最新版本!
我们希望您喜欢对 A/VSearch 的深入了解,以及我们如何使用它来增强 DevCon 会话搜索功能。如果你是 Algolia 的新手,你可以注册一个免费等级账户来试试我们。
为了更好的学校项目,与 GitHub 合作
原文:https://www.algolia.com/blog/algolia/github-student-developer-pack/
你好 GitHubbers 和 Algolians 一样!我们有一些令人兴奋的消息想与你分享。Algolia 非常高兴地宣布,我们已经与 GitHub 的学生开发包合作,帮助学生自由、轻松地在他们的项目中构建搜索功能🎉。
🤔这对你意味着什么?如果你是一名学生,并且参加了 GitHub 的学生开发者包,你将获得为期一年的 Algolia,并享受专为你制定的特别计划!您将获得 10 万条记录和 100 万次操作——价值 150 美元/月,足以构建您梦想中的搜索项目——不需要特殊的搜索知识或经验!
众所周知,Algolia 的实现速度快、容易,而且注重开发者体验。我们维护所有主要编程语言和平台的 API 客户端,有一个很棒的在线社区,在那里你可以展示你的项目并获得帮助,通常我们会尽一切努力使构建搜索变得简单有趣。查看我们的文档和教程,了解伟大搜索的关键要素,并立即开始。
而且,还有更多!我们很荣幸能与那些让您的编程生活变得更轻松的公司并肩作战:Heroku、JetBrains 和 GitKraken Glo 是这一版 GitHub 学生开发者包更新的合作伙伴。
在这里阅读更多关于这一令人敬畏的合作的信息,不要犹豫,通过 Twitter 或电子邮件向我们提出任何问题。我们期待共同建设搜索!
Algolia 全球路演:从交易到灵感
原文:https://www.algolia.com/blog/algolia/global-roadshow-transactional-to-inspirational/
搜索和发现:从交易到灵感
我们从专家行业调查 以及我们最成功的客户 那里听说过:搜索和发现是推动数字化对话的关键。
这就是我们为您带来 2018 Algolia 全球路演的原因!我们上路了,来到世界上的六个城市,分享搜索和发现如何转变为鼓舞人心的体验,并为业务 KPI 带来有意义的结果。
Algolia 全球路演将是一个深入推进搜索和发现对话的下午。我们将关注的一些主题有:
- 领先的公司如何拓展搜索和发现的边界,以加速用户参与和提高 KPI
- 实施和成功案例
- 搜索和发现的未来:从过去的事务性体验转向预测性和启发性体验
如果你拥有自己网站的数字体验,并且对优化消费者寻找产品和内容的方式感兴趣,那么你一定不想错过我们的路演!
从首席技术官到产品负责人和顶级合作伙伴机构的演讲者将分享对 UX、个性化、语音搜索和相关性等主题的见解。您还可以在活动中与行业同行、Algolia 高管和产品专家建立联系。
**而且,你会想留下来享受快乐时光的!
注册您所在城市的活动,加入我们的全球路演活动。那里见!
2018 年 11 月 5 日 l 纽约
2018 年 11 月 8 日l阿姆斯特丹
2018 年 11 月 13 日l伦敦
2018 年 11 月 15 日lCologne
2018 年 11 月 29 日 l 三 藩
2018 年 12 月 4 日l洛杉矶**
谷歌核心网站和搜索引擎优化搜索栏优化
原文:https://www.algolia.com/blog/ux/google-core-web-vitals-seo-rankings-search-bar-optimization/
谷歌的搜索引擎优化和核心网络活力并不依赖秘密。正如我们多年来所了解的那样,好的 SEO 是关于 影响 谷歌,把它的有机流量送到你的网站。
但是引起谷歌的注意只是第一步。 下一步是问问题:
你希望自己网站上的哪些页面出现在谷歌的搜索结果中?
我们提出以下答案:
通过谷歌找到你的网站的客户应该登陆一个包含他们在谷歌搜索的确切项目的页面。因此,对许多在线公司来说,最好的登陆页面会显示一个搜索栏,其中包含谷歌的查询,以及一个只提供你的产品的相关结果列表。
这篇文章给出了 5 条 SEO 建议关于如何创造最有利于 SEO 的搜索体验——从你的搜索结果页面的内容到你的底层搜索技术。在我们将全部注意力转向搜索引擎优化最具技术性的部分谷歌核心网站生命指标之前,我们一路揭开了一些秘密。
什么是 Google 核心 Web 生命体征?
谷歌核心网站要害 关心你的内部搜索引擎的质量。最重要的是,他们检查你的网站运行的速度以及使用和导航的容易程度。随着对谷歌核心网站重要指标审查的增加,你的搜索引擎优化策略必须包括建立一个高质量的搜索解决方案。
本文中的 5 条建议旨在解决这些问题并改善您的搜索 UX,从而确保从单个 Google 查询到您自己的搜索栏中的多个查询的成功切换。
1。让谷歌的搜索引擎优化找到你公司的网站搜索功能
当客户使用您的内部搜索栏进行查询时,他们的结果会出现在您的 站点搜索的结果页面上。 我们将这个搜索页面称为 站点 SERP 。
为了理解一个站点 SERP 的重要性(在谷歌搜索引擎优化的背景下),让我们来分解两种最常见的网络搜索方式:
区别归结起来就是:你的搜索栏让用户直接搜索 你的 目录,而谷歌搜索 大家的 公开可用目录。
诚然,这种区别在维基百科等热门网站上可能会变得模糊(大多数人使用谷歌的搜索栏而不是维基百科的搜索栏来搜索维基百科的文章)。IMDb 和 WebMD 也是如此。
但是在电子商务中,互联网搜索和网站搜索的区别是很明显的。在线公司需要利用 T42 互联网和网站搜索引擎的优势。人们经常从谷歌开始货比三家,比较不同网站的产品。电子商务面临的挑战是吸引这些客户,鼓励他们留下来使用自己的搜索栏,也就是说,只浏览他们的目录。
因此,在线零售商需要知道如何抓住谷歌的搜索引擎优化注意力,这样他们的产品就能始终如一地出现在谷歌的第一个结果页面上。他们还需要知道如何鼓励来访客户使用他们自己的搜索栏,而不是回到谷歌的搜索栏。
你怎么能这样做?通过建立一个网站搜索体验,满足您的用户需求,以及搜索引擎优化和谷歌核心网站的生命标准。在下一节中,我们将讨论如何做到这一点。
2。使用 SEO 关键字和良好的内容结构来吸引谷歌的注意
用户在使用你网站的搜索栏时,不应该被强迫阅读太多的文本。他们需要相关的单词和短语来吸引他们。当吸引谷歌的注意力时,情况是相似的:成功地使用 SEO 依赖于你在网页上包含的单词和短语。
SEO 关键词
谷歌的搜索引擎优化技术基于这样一种可能性,即当人们查询相同的产品时,他们会输入相同的术语。这些常用术语称为 关键词。 好的 SEO 要求你在网页上添加“SEO 关键词”。例如,如果您有一个提供 iphone 的网页,您会想要包括相关的关键字和短语,如“苹果”、“智能手机”和“iphone 应用程序”。
关键词帮助谷歌将你的网页与常用于搜索你的产品的词汇相匹配。他们也帮助谷歌理解你的内容的意义和质量。
然而,创建有效的 SEO 并不仅仅是添加关键词那么简单。需要仔细分析 要包含哪些 关键词,以及放置的位置和频率。 谷歌偏爱在关键词用法 和扎实、翔实的内容之间取得良好的平衡。谷歌的技术可以很容易地检测出 关键词填充 ,并对试图欺骗其 SEO 算法的你进行处罚。
在你的搜索结果中使用关键词和好的结构
通常,产品目录包含描述公司产品的最准确的词语。但是,您的搜索结果不需要显示您在目录中包含的每个词,只需要显示最重要的词:帮助用户立即理解每个产品的关键词和短语。如果人们需要更多的细节,他们总是可以点击一个项目;但搜索结果页面的目标是让浏览变得容易,并迅速激发转化。
结构也起作用:
决定哪些词是关键词
在决定使用哪些词时,根据你所在的行业和用户的语言,找出最能描述你的产品的词是很重要的。确认那些词与 关键词工具 中推荐的关键词相同也很重要比如clear scope和Ahrefs。
3。让谷歌抓取你公司的网站搜索结果页面
吸引谷歌流量始于让它的谷歌机器人程序 【抓取】(抓取)并索引 你的网站:本质上,找到你的网页以及它们链接到的网页,并对这些信息进行分类。
虽然这个过程通常是自动的——一旦你创建或更新了你的网站,谷歌就会抓取它——优化你的网站 SERP SEO 需要一些额外的工作。
抓取你的静态站点 SERPs
站点 SERPs 是动态的;它们随着每个查询而改变。不幸的是,谷歌很大程度上忽略了动态内容。它的抓取过程不会在一家公司的网站上执行搜索;它只抓取固定内容(“静态”)的网页。因此,如果你的公司不做一些特别的事情,谷歌永远不会找到你的网站。
解决方案是使用一个名为 页面渲染 的自动化过程,它创建了 Google 可以抓取并最终搜索的静态站点 SERPs。您的公司运行一个后台进程,该进程执行一组搜索并将每个搜索结果保存在一个单独的网页上,并带有唯一的 URL。这使得谷歌能够抓取和搜索这些人工生成的页面。例如,一家公司的服务器可以自动执行查询“iphone ”,并生成一个包含搜索结果的静态页面。该网址可能是类似 www.yourbusiness.com/smartphones/iphone.的东西
策划你的网站 SERPs
鉴于人们可以在搜索栏中输入大量可能的查询,公司需要选择他们希望谷歌抓取的内容。 他们应该只选择重要查询 的子集。
这里有两个最重要的站点 serp:
-
网站的 登陆页面 (通常是他们的主页),访问者在这里可以立即看到公司正在提供什么,比如亚马逊上的消费品或者网飞上的电影。登录页面是所有用户查询的启动平台。
-
专为一个受欢迎的项目或特定类别的项目设计的网页。例如,像亚马逊这样的在线市场有 类别页面 包含了所有类别的 iPhones。它们还可能有每个 iPhone 版本的子页面,有内存和颜色选择以及相关的配件。
登陆和分类页面都使用你的内部网站搜索引擎来展示你公司的产品。有时搜索是通过用户在搜索栏中的查询来执行的。其他时候它发生在幕后,由站点执行一个 空搜索 ,以便向搜索者显示一组一般的项目或项目类别。
还有一组你想让谷歌抓取的页面:热门关键词、方面和产品的顶级搜索结果。您应该只对一小部分最重要的搜索进行这样的操作。你不想用成千上万的搜索页面淹没谷歌,因为它的算法会为此惩罚你。
在所有情况下,你都会生成一个 的谷歌友好网址 。例如,特定 iPhone 版本的 URL 可能类似于“www . your business . com/smart phones/iPhone-x”;对于分类页面,“www . your business . com your business/brands/apple”。
最后一点:关于流程,您需要以与目录一致的频率运行后端页面渲染流程。如果您的数据经常变化,您应该一天运行几次这个过程。然而,对大多数企业来说,每晚一次就可以了。
4。谷歌核心网络命脉:建立一流的网站搜索 UX
正如我们已经讨论过的,好的 SEO 排名包括产生结构良好、有意义的内容,并使用元数据,如 SEO 友好的关键字、标题和页面描述。它还包括避免“黑暗”的搜索引擎优化技巧,谷歌将检测和惩罚。
在核心网络要素中,谷歌加入了一个额外的因素:网站技术的质量。 核心 Web Vitals 要求站点 serp快速易用 ,这都是关于使用一流的技术和创造良好的用户体验(【UX】)。
Google 将核心网页重要指标分解为三个标准 :最大内容绘制(【LCP】)、首次输入延迟(【FID】)、累积布局移位(【CLS)。以下是这些术语对于站点 SERPs 的含义:
- LCP: 顶级成绩必须在 3 秒内加载。谷歌核心网站 Vitals 只关注用户首先看到的信息——最上面的一组结果。
- FID: 搜索栏必须在 100 毫秒内可用。
- CLS: 许多 SERPs 包含促销内容、图像和其他视觉或交互功能,如果实施不当,可能会造成破坏。谷歌惩罚那些难以使用和导航的网站。
让我们来看看这些标准在一些示例 SERPs 中的应用。
最裸露最小
这是一个简单的搜索页面。它检查所有谷歌核心网站的关键点:快速、干净、没有破坏性因素。完美…但是无聊。大多数电子商务网站设计者喜欢更丰富的搜索界面。
丰富的搜索经验
这个网站有更丰富的视觉搜索体验。用户有不同的搜索和浏览选项,商家可以推广和推荐产品。然而,如果这个更加雄心勃勃的用户界面实现得不好,它的复杂性会降低页面加载速度(LCP)并破坏用户的交互性(FID,CLS)。
互动搜索
这个网站提供了强大的互动 体验。用户不需要离开这个页面就可以做出选择。他们可以移动地图,无需换页就可以浏览许多图像,比较办公室的详细信息,并输入新的搜索标准和过滤器。然而,该网站的交互式地图和内嵌图像的加载量非常大(LCP),这会延迟搜索栏(FID)的可用性,并通过以不同的速度加载地图和图像来破坏用户体验的流动性(CLS)。
仔细观察示例 2 和示例 3,我们可以发现两个基本特征,这两个特征说明了如果做得好,技术和用户界面可以对谷歌核心网站的活力产生积极影响:
- 即搜即输,即时结果 可以说是 现代搜索——用户每击一次键就能在屏幕上即时看到结果。你在任何地方都能看到 即时结果 ,例如,在亚马逊复杂的 faceting、网飞众多的图像行和 Spotify 的音频多样性中——当你输入术语时会发生变化。Google Core Web Vitals 要求所有这些信息立即显示并可用,否则对用户和 Google 的 SEO 引擎来说都只是噪音。
- 商品销售 和 推荐 是成功搜索 UX 的关键部分。然而,如果不仔细计划,他们很容易通过 CLS 测试。促销横幅、广告、产品放置、相关商品和粘性广告等功能需要与页面上的其他元素无缝融合,并且不能阻碍用户搜索和浏览的主要意图。
好消息是,即使是最复杂的搜索 UI 也能达到谷歌核心网站 Vitals 所要求的速度和可用性。
5。谷歌核心网络要害:构建超快的网站搜索
现代网络开发者拥有最先进的技术和编码技术来应对谷歌核心网站的挑战。有很棒的 API、框架、库和语言来帮助他们。还有很棒的开发人员故障排除工具,以及大量提供帮助的博客、社区和论坛。以下是如何应用于网站或应用程序搜索。
网速(对 LCP 有利)
当用户搜索时,他们看到显示的信息来自服务器。为了提高搜索速度,引擎需要在几毫秒内处理数据,并且它发送的信息必须已经过格式化、压缩和组织,以便立即显示。前端代码做得越少,搜索 UX 就越快。
以下是我们在 Algolia 解决这些问题的方式:
- 我们构建了 托管搜索——我们的 API 执行一次搜索只需要几毫秒。因此,浏览器有 3-5 秒的时间来加载和显示 Algolia 服务器发送的内容。
- Algolia 发回的信息完全格式化为 HTML 和 CSS 。 因此,前端代码,尤其是包裹在 Algolia 的 InstantSearch 中的时候,在显示搜索结果之前做的事情非常少。大多数实现中的首页显示时间不到 100 毫秒。
仅客户端(适用于 LCP)
我们最强烈的建议是在一次往返中执行所有的用户查询。所有的查询都应该从你客户的浏览器到搜索引擎的托管服务,然后再返回。通过使用托管服务器,您可以省去额外的服务器之旅。
这里有两个建议:
- 将CDN用于所有沉重的图像、资产和其他 web 元素。这比你自己的服务器更快更可靠。
- 创建可搜索数据时,确保所有预处理都已完成。如上所述,在数据创建过程中处理所有格式和数据更新,从而避免在托管服务器执行搜索时进行任何服务器处理。
预压(适用于 LCP,FID)
为了让用户开始查看或搜索重要信息,不应该完全加载网页。当显示重元素时,前端代码应该使用几种技术来区分屏幕的哪些部分先加载、哪些部分后加载和哪些部分最后加载。换句话说,前端代码可以先加载搜索栏(FID),在加载其余内容之前完成页面顶部的加载(LCP)。
其他一些建议:
- 使用 CDN 映像确保速度和可靠性
- 实现无限结果或分页,以避免显示大型结果集
- 实现渐进图像处理
注:
- 如果你使用的是低分辨率图像、渐进式图像加载和 CDN,你应该不必担心这种延迟加载
- 对交互式地图和其他此类重要元素使用惰性加载
固定网格(适用于 CLS)
为了管理加载过程,开发人员可以使用固定网格在不同的时间加载不同的元素。前端代码可以对每个元素使用一个网格。这样,加载每个元素时不会改变屏幕大小或推开其他元素(CLS)。
优化的图像(适用于 LCP、CLS)
使用小而压缩的图像。web 上的图像处理是一个大的、被广泛讨论的主题,并且在我们说话的时候还在发展。要获得全面和最新的信息,请查看 图像优化的完整指南 。这里的要点是遵循最佳实践。
注: 谷歌核心网站的要害可能会很棘手。例如,当在不同时间加载不同的元素时,CLS 可能与 LCP 和 FID 冲突(以改善 LCP 和 FID)会使界面对用户来说显得奇怪(降低 CLS)。解决方案是建立固定的网格,并优先考虑最合理的装载顺序。
下一步:利用 SEO 和谷歌核心网站要害来一个一流的网站搜索 UX
现在你知道了好的站点搜索引擎优化策略,以及为什么它如此重要。我们已经介绍了基本的 SEO,并讨论了满足 Google 核心 Web 重要指标的搜索体验是如何快速且易于导航的。
我们还展示了谷歌用户应该登陆的页面类型——包括你的搜索栏和显示与他们的谷歌查询相匹配的目录结果的页面。
下一步是 建立搜索体验 ,鼓励你的客户使用 你的 搜索栏购物和浏览,而不是抛弃你去竞争激烈的谷歌搜索世界。
GraphQL 搜索和索引与 Algolia
原文:https://www.algolia.com/blog/engineering/graphql-search-and-indexing-with-algolia/
GraphQL 在 web 上的广泛使用,给开发者带来了很多优势。在前端,它减少了往返,并实现了更好的客户端缓存。在后端,它通过生成自描述的基于模式的 API 简化了微服务的多样性。在本文中,我们将看到如何增强 GraphQL 搜索功能。
Algolia 与 GraphQL 有一些相同的核心价值,例如提供一种高效和简化的数据访问方式,以及重视优秀的开发人员体验。出于这个原因,当开发人员将 Algolia 与 GraphQL 相结合时,他们会得到一套丰富的工具来构建一流的搜索体验。
为了了解这两种技术如何协同工作,我们创建了一个虚拟公司,提供在线航班价格比较(flight-tickets.io)。Flight-tickets.io 的系统首先利用 GraphQL 来改进 Algolia 的后端索引过程,然后它集成了 Algolia InstantSearch 来提供统一的前端编程环境。
用 GraphQL 将丰富的数据索引成 Algolia
该公司的 Algolia index 公布了来自数十家外部供应商的票价。如果没有 GraphQL, ETL 实现将所有提供者的数据编入 Algolia 索引是复杂的——它需要一个工人处理每个数据源。
流程是这样的:
如您所见,有三个步骤:从多个提供者获取数据,对其进行转换,然后将其推送到 Algolia。随着数据源和 API 类型(REST、gRPC 等)数量的增长,这一过程的复杂性迅速增加,导致工程团队对新提供商的集成和支持速度变慢。
还有稳定性问题:
- 每个工作人员必须对每个数据提供者的多个 API 进行多次调用
- 每个提供者都用自己的协议公开数据:REST、gRPC 或专有协议
- 每个提供者的自定义错误管理都是独特的
添加基于 GraphQL 的索引
解决方案是通过利用 GraphQL 重写 ETL,如下所示:
现在,拉取和转换阶段由一个 GraphQL 过程管理(或统一)。通过构建一个新的 GraphQL 内部 API,依靠 GraphQL Mesh ,团队在数据提供者和 ETL 之间添加了一个单一的数据层。
本质上,ETL 从内部 GraphQL API 提取或订阅数据变更,这公开了以统一方式查询的多个数据源,如下所示:
query getTicketsForProvider($provider: Provider!, $from: Date!, $to: Date!, $cursor: Cursor) {
tickets(provider: $provider, from: $from, to: $to, cursor: $cursor) {
edges {
node {
provider {
id
name
}
prices {
...PriceByLocationAndTime
}
# ...
}
pageInfo {
cursor {
before
after
}
}
}
}
}
数据是统一的,并且包括错误处理。下面是一个典型的 GraphQL 错误响应体,包含data
和errors
字段:
{
"data": {
“tickets”: []
},
"errors": [
{
"message": "[SuperFlight API]: unavailable",
"locations": [
{
"line": 2,
"column": 3
}
],
"extensions": {
"code": "TICKETS_GRAPHQL_API_SUPERFLIGHT_ERROR",
"exception": {
"stacktrace": [
"......",
]
}
}
}
]
}
最后,除了网络延迟优化,GraphQL 还在提供者的数据获取端带来了真正的性能优化。 GraphQL API 实现在设计上是高度异步的:每个数据字段都是并行解析的,因此性能更好。
旁注:
对于 Algolia 的 Shopify 扩展,我们利用 Shopify 的 GraphQL API 将 Shopify 数据索引到 Algolia 索引中。Shopify 的 GraphQL API 不仅带来了前面已经讨论过的优势,而且更进一步:
- 与 Shopify REST API 相比,速率限制更加宽松和灵活
- 高级分页模式
从 Shopify REST API 迁移到 Shopify GraphQL API 后,我们看到 Shopify 数据的平均索引速度提高了 28%,索引峰值容量提高了 150%。
GraphQL 搜索与即时搜索
现在他们已经与 GraphQL 统一了,这家航空公司希望改进他们的搜索 UI,使用 GraphQL 后端搜索来进行 SEO 和数据丰富,由 Algolia 提供支持。虽然我们总是建议前端搜索(即直接进入 Algolia 的服务器以获得最大的瞬时速度),但在预订机票等预订系统的情况下,明智的做法是额外返回后端服务器以获取实时数据。至于 SEO,你可以经常结合前后端来提升你公司的 Google SEO 。
Algolia graph QL 搜索
第一步是在现有的公共 GraphQL API 上公开一个 GraphQL 搜索查询。为了实现这一点,后端团队使用了一个名为 algolia-graphql-schema
的工具,它从给定的 Algolia 索引生成 GraphQL 类型。
flightsSearch
Algolia 索引包含如下对象:
{
"provider_id": 12312312,
"flight_company_name": "Bryan'air",
"inbound": "2021-09-13T16:39:22.396Z",
"outbound": "2021-19-13T16:39:22.396Z",
"price": 1140.00
// ...
}
他们给package.json
添加了以下脚本:
// ...
"scripts": {
"generate:graphql": "algolia-graphql-schema"
},
// …
运行脚本:
$ npm link
$ npm run generate:graphql
> algolia-graphql-demo-server@1.0.0 generate:graphql
> algolia-graphql-schema
Analyzing flightsSearch index (that might take a few seconds...)
flightsSearch.graphql created!
生成以下flightsSearch.graphql
:
type AlgoliaResultObject {
provider_id: String!
flight_company_name: String!
inbound: Date!
outbound: Date!
price: Int!
# ...
}
type SearchResultsEdge {
cursor: Int!
node: AlgoliaResultObject
}
type SearchResults {
edges: [SearchResultsEdge!]!
totalCount: Int!
}
input SearchInput {
query: String
similarQuery: String
sumOrFiltersScores: Boolean
filters: String
page: Int
hitsPerPage: Int
offset: Int
length: Int
attributesToHighlight: [String]
attributesToSnippet: [String]
attributesToRetrieve: [String]
# ...
}
type Query {
# ...
search_flights($input: SearchInput!, $after: String): [SearchResults!]!
}
一旦他们将生成的搜索类型定义集成到现有的 GraphQL API 类型中,并且实现了调用 Algolia 搜索 API 的相应解析器,后端团队就为前端团队使用 Algolia InstantSearch 构建新的搜索 UI 开了绿灯。
Algolia instant search graph QL 集成
前端团队现在能够使用search_flights($input: SearchInput!, $after: String)
GraphQL 查询来搜索机票。幸运的是,Algolia 已经记录了如何在后端使用 InstantSearch,所以设置很快。
前端团队为他们的 InstantSearch 实现了一个定制的 GraphQL 搜索客户端。
import { SearchClient } from 'instantsearch.js'
const query = `
Search($input: SearchInput!, $after: String) {
search_flights(input: $input, before: $after) {
edges {
cursor
node {
provider_id
flight_company_name
inbound
outbound
price
# ...
}
}
totalCount
}
}
`;
const HITS_PER_PAGE = 20
const transformResponse = ({ query, page }) => (response) =>
response.data?.search_flights.edges.reduce(
(acc, edge) => {
acc.results[0].hits.push(edge.nodes);
acc.results[0].nbHits += 1
},
{
results: [
{
hits: [],
page,
nbHits: response.data?.search_flights.edges.length || 0,
nbPages: response.data?.search_flights.totalCount / HITS_PER_PAGE,
query: query || "",
exhaustiveNbHits: false,
hitsPerPage: HITS_PER_PAGE,
processingTimeMS: 0,
params: ""
}
],
}
);
const searchClient: SearchClient = {
searchForFacetValues: (() => {}) as any,
search(requests) {
const request = requests[0]
return fetch("https://api.flightickets.io/graphql", {
method: "post",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
query,
variables: { input: { ...request } },
}),
}).then(transformResponse({ query: request.query, page: request.page }));
},
};
注意:搜索 UI 代码通过 GraphQL API 以单个 Algolia 索引为目标。
定制的hits
小部件受益于 GraphQL 搜索 API 生成的 TypeScript 搜索结果类型,如下所示:
// TypeScript types generated from the GraphQL API using GraphQL code generator
import { AlgoliaResultObject } from './graphql/generated'
const structuredResults = connectHits(({ hits, widgetParams }) => {
const results = hits as AlgoliaResultObject[];
// results.flight_company_name is autocompleted by TypeScript generated types
const { container } = widgetParams;
if (
results
) {
// Render the result
// ...
return;
}
// Render no results
// ...
});
他们准备好出发了。他们只需要将 Algolia 集成到 GraphQL API 以及前端的即时搜索配置中:
- 在 API 端,他们需要用 JavaScript 客户端调用 Algolia
- 在即时搜索端,他们需要向即时搜索提供
searchClient
和一个定制的hits
小部件
结论
通过结合 Algolia 和 GraphQL,flight-tickets.io 改善了他们的整体用户和开发者体验。
首先,通过构建一个更快、更稳定、更丰富的索引管道,利用 GraphQL 来消费和统一来自数十个提供商的数据:
- 独特的数据语言和错误管理
- GraphQL 并行架构带来了一些性能提升
- 降低复杂性,改善开发人员体验
最后,通过利用 GraphQL 和构建后端搜索,前端团队使用 Algolia InstantSearch 将搜索完美地集成到前端堆栈中。
对这篇文章有任何反馈吗?我很想收到你的来信:@ where is chary
Gymshark 的马赫之旅:搜索和导航的实际案例
Gymshark 成立于 2012 年,是英国发展最快的健身时尚品牌,通过 15 家在线商店在国际上销售服装和配饰。Gymshark 在 2020 年突破了 5 亿美元的收入大关,有 6400 万在线购物者,他们访问了超过 10 亿个页面。
负责整个商业堆栈的 Gymshark 产品经理 Ben Pusey 与我们分享了该公司的 数字化转型之旅 到 MACH 架构 以及它如何推动了令人难以置信的增长。
反思技术
这一切都始于 2015 年的黑色星期五。Gymshark 在一个自托管的 Magento 商店上运行,该商店在负载下出现故障。在这一事件中,Gymshark 损失了金钱,损害了它的声誉。管理层被迫带着批判性的理念彻底重新思考技术:“我们意识到我们的技术是我们业务成功的核心驱动力,”Ben 说。“我们需要重新关注技术,以便与业务一起成长。”
考虑到这一点,他们选择采用四个核心原则来创建他们未来的技术堆栈:
*** 微服务、 使工程团队开发、部署和维护平台应用的各个部分变得简单
-
API 优先 这样他们就可以轻松地将新技术与堆栈集成,无论是当时还是将来
-
基于云的 因此他们可以利用动态扩展的工作负载并支持 200 倍平均流量的峰值
-
无头 这样他们就可以在体验的特定部分使用任何他们想要的技术,并在任何频道上提供体验
由MACH Alliance推广,这四个原则是围绕创建模块化、可扩展和灵活的产品而设计的,这些产品可以适应不断变化的业务优先级。
Gymshark 选择了一个由可组合元素组成的 MACH 堆栈
*** Shopify 为基础;由于其 API 优先的方法,它具有极强的模块化和可扩展性
-
Algolia 用于搜索和收藏页面
-
内容丰富的 用于内容管理
-
反应 为前端应用
-
AWS Lambda 和其他 AWS 服务 作为粘合剂将技术结合在一起
搜索是 Gymshark 用最佳技术取代的 Shopify 基金会的第一个组成部分。
用搜索和导航开始无头之旅
在 Algolia 之前, Gymshark 在搜索和导航体验方面遇到了各种限制:
*** 糟糕的搜索结果: 最畅销的商品出现在搜索结果页面的底部
-
相关性低, 导致搜索转化率差
-
缺货商品 出现在搜索结果的顶部
-
没有个性化 的购物体验
-
手工销售 是 导致销售团队的工作流程密集且不可扩展
-
没有本地化, 对于英国以外的购物者来说,这意味着下载速度很慢
搜索和导航显然是购物体验的组成部分,可以迅速带来可观的额外收入,因此 Gymshark 决定寻找一个能够反映其四个核心原则的解决方案。我们很荣幸 Gymshark 选择了 Algolia,也很自豪能在短短几个月内帮助 Ben 和他的团队建立新的搜索和导航体验。
着眼于增加收入推动迭代
Ben 和他的团队喜欢他们的无头搜索和导航解决方案的一个因素是,它从第一天起就提供了结果,同时允许他们通过根据他们的特定需求、受众和目录定制用户体验来释放增量收入。
网站搜索
Gymshark 第一个需要优化的领域是搜索体验。首要任务是 提高相关性。 该团队将产品可用性和其他业务数据添加到排名逻辑中,并提高了他们最常用的搜索关键词之一“camo”的平均点击位置和点击率
Gymshark 还利用 Algolia 的 人工智能生成的同义词 向客户展示与其搜索词相关的产品。例如,美国顾客搜索“运动裤”(相对于英国版本的“慢跑者”),没有得到任何结果。Algolia AI 检测到了这个小故障,并建议使用同义词。
最后,他们使用内置的 机器学习自动化商品销售 来调整每个搜索查询的结果顺序,并提升最高性能的产品。通过这样做,他们一年创造了 2M 的额外销售额。
收藏页面
收藏页面也是 Gymshark 从 Shopify 模板转移到 React 应用的首批网站元素之一。由 Algolia 交付和管理的内容推动了这种转移。 理由是本和他的团队喜欢搜索功能,并希望将它们应用到导航体验中。他们希望销售团队能够在系列页面上利用 Algolia 的 视觉销售工具 来定义精确的销售规则,同时依靠 Algolia AI 和更广泛的业务规则(使用 Gymshark 的业务数据)来自动销售整个商店的商品。
例如,通过对库存中最大尺寸的商品进行优先排序,隐藏脱销商品,并使用优先级评分对收藏页面上的商品进行排名,Gymshark 每年产生了450 万英镑的额外销售额。
这一策略也为销售团队带来了巨大的收益。使用前一种解决方案,他们需要手动对产品重新排序,并即时隐藏脱销商品,这很麻烦(在黑色星期五等大型活动期间也不可能)。今天,一切都是自动化的。
个性化
Gymshark 还使用 Algolia 来个性化整个网站的购物体验,从搜索和收藏页面开始,扩展到主页,然后包括出站电子邮件和产品推荐,以及计划中的移动应用程序。
迭代成功
在一年的时间里,Ben 和他的团队能够将所有这些优化带到 Gymshark 的在线体验中。他们遵循一个包含多次迭代的精益流程,目标是在每个阶段交付业务价值,并测量改进,以便重新确定路线图的优先级。
当无头商业加速增长的时候
通过使用无头搜索和导航解决方案,Gymshark 在多次迭代过程中增加了可观的收入,每次迭代都优化了购物体验,并将其与竞争对手的购物体验区分开来。一个重要的方面是,即使在大流量和交易高峰期间,如黑色星期五,也能够保持搜索和导航,而不会给他们的工程团队带来任何负担。
Gymshark 强大的搜索和导航方法带来了:
*** 2000 万美元的年增量收入
*** 搜索转化率从 6.2%增加到 10%(并且还在攀升)
- 搜索用户收入同比增长 4 倍
但是 Gymshark 并没有止步于这些数字。对于搜索和导航,它的下一步是测试 KPI 驱动的商品销售算法,将机器学习重新排序应用于收藏页面,测试新的个性化策略,并实现产品推荐,同时推出一款受益于所有这些功能的移动应用。对于堆栈的其余部分,Gymshark 正在准备实施一个新的产品信息管理系统。
了解更多关于阿哥利亚是 马赫联盟 的骄傲成员。要了解更多关于阿洛利亚的无头方法, 迎面翻到本页 。**********
BioIVT 的数字化转型:Algolia 和 Zaelab 如何合作创建简化的 B2B 客户体验
原文:https://www.algolia.com/blog/product/headless-digital-transformation-b2b-commerce/
如果你是一家 B2B 公司,网站需要专业地、即时地为不同类型的客户获取大量不同类型的复杂信息,你会怎么做?
BioIVT 发现,当它转向Zaelab时,它是一家与一流平台合作的数字商务咨询和解决方案提供商。在 Zaelab 的指导下,该组织成功地为其客户创造了卓越的 B2B 数字体验。
BioIVT 是生物样本的领先供应商:控制和疾病状态样本,包括组织、细胞、血液和其他生物流体。它主要销售给临床研究组织、大型制药公司和学术研究机构。
Algolia 的产品设计和研究总监 Craig Williams 主持了一场关于 BioVT 项目的 网络研讨会 。Zaelab 的首席执行官 Evan Klein 和 BioIVT 的创新技术副总裁 Andrew Thomson 一起加入了 Craig 的讨论。
数字转换目标
BioIVT 此次转型的业务目标是:
- 发展业务。 该组织正在收购公司并迅速发展;它需要合适的技术来专业地整合并提供它在单一整合平台中收集的所有信息
- 区分开来。 该公司致力于提升其“高度接触”和“人性化”的声誉,并将其转化为数字体验
- 自动化。 他们需要 消除阻碍他们扩展能力的手动业务流程
- 使现代化。 他们优先考虑满足客户需求,并在未来的竞争中保持领先
关键技术组件
Zaelab 帮助 BioIVT 确定了转化所需的组件。首先,该公司有一个在后台运行的 ERP(企业资源规划)系统,需要一个能够提供灵活性和敏捷性的架构。
在创建 BioIVT 的数字商务堆栈时,Zaelab 实施了 SAP 商务云和真正的 无头 方法。
对于内容管理,团队选择了 Contentful、 另一个基于云和 API 的平台。
为了提供卓越的客户体验,Zaelab 使用了自己的无头 ZCommerce 框架。他们将它原生集成到 BioIVT 平台中,以创建一种现代、进步的网络体验。
当 Zaelab 评估 BioIVT 的搜索需求时,他们意识到该公司需要一个非常强大、快速的搜索引擎,能够出色地搜索库存和产品。BioIVT 有一个复杂的产品,团队需要能够让客户以无缝的方式找到他们想要的东西。搜索将是数字化转型的关键部分。
挑战同实施搜索
转型团队在设计搜索解决方案时面临的挑战包括:
- 拥有多源系统: BioIVT 收购了很多公司,拥有很多数据源。
- 拥有复杂的数据集。“我们不只是在谈论出售 t 恤,”埃文说,“我们在谈论出售动物和人体组织。”
- 缺乏典型的产品目录。 BioIVT 有一套实时的、不断变化的库存。
- 拥有大量的营销和科学资源信息 需要被编入索引并方便客户搜索
BioIVT 也有机会改进其现有的搜索技术。他们希望改善搜索性能,提高搜索结果的相关性(不同类型的用户需要针对其角色定制的特定信息),并让他们的客户能够访问复杂、不断变化的库存数据。
阿洛亚的边缘
Zaelab 评估了许多搜索引擎,并根据几个因素确定 Algolia 是最佳选择:
- 多样的内容类型: “我们不只是在谈论搜索产品,”埃文说,“我们在谈论搜索产品、科学内容、库存、账户。”他们需要一个能够让客户找到各种类型内容的搜索引擎。
- 结果和相关性: 基于搜索查询,Algolia 在正确的时间提供了正确的内容。
- 速度和性能: Algolia 在提供结果时“几乎是即时的”——这正是客户所期望的。
- 让企业管理搜索的能力。 他们不想在任何需要优化搜索功能的时候启动技术任务。Algolia 基于云的工具使企业能够个性化、调整和优化搜索结果。
- 实时库存更新: 他们需要一个基于 API 的平台,能够扩展和处理大量更新。
- SAP 商务云的现有 Algolia 插件: 在与 Algolia 的早期合作中, Zaelab 构建了一个插件,使他们能够快速将 Algolia 推向市场。
考虑到这些因素,团队很清楚 Algolia 将比任何其他解决方案更好地满足 BioIVT 的搜索需求。
两年后……
BioIVT 创建了一个为期两年的数字化转型路线图,从咨询阶段开始,在此期间他们向客户征求意见。这个过程以新解决方案的三个连续发布而结束,然后是一段时间的优化和创新。
这是 BioIVT 专门针对教育内容的新搜索栏:
Andrew 指出,这种搜索功能在新冠肺炎时代尤其及时。
BioIVT 现在还有一个单独的搜索栏,用于搜索超过 140,000 份生物样品的复杂库存集。每个样品有 50 多个属性,在 Algolia 平台上有 30 多个搜索面:
成功指标与心得
在量化转型成功的过程中,一个指标是客户对平台的采用(例如,报价和订单的数量)。该团队还测量了收入、成本节约和客户忠诚度的增长。
Andrew 确定了项目的六个关键要点:
- 确保管理层的一致和沟通。所有利益相关者之间保持清晰的协同非常重要。
- 采用增量部署。一次做一件事来帮助管理期望。
- 关注数据质量。Andrew 建议道:“永远不要低估你在这种规模的项目中所要做的数据质量工作的数量。”。“我们有成千上万的材料样本、来自多个 ERP 系统的信息……这些数据需要全面保持一致……以一种随时可以在网站上显示给任何客户的格式。”以前,该公司一直专注于确保数据 看起来 漂亮,现在他们依靠它被 存储 漂亮。
- 变革管理是一项艰巨的任务。 很难得到整个组织的认同;奉献和良好的沟通是关键。
- 把 API 放在第一位。 以 API 为中心的方法和无头架构支持灵活性和更快的创新。
- 尽早识别项目治理。 在一个较长项目的初步阶段,把强有力的领导安排到位。
客户是对的(总是)
Evan 指出了最后一点:从你的用户开始。BioIVT 的数字化转型始于反思和调整工作,以满足客户的需求。
“我们传统上一直是一个高接触度的组织:一支脚踏实地的销售队伍,在临床研究公司和制药公司之间走动,与科学家谈论他们的研究需求,”Andrew 说。“我们与这些资深科学家有着非常密切的个人一对一关系,随着我们推进数字化转型,我们不想失去我们客户服务的这一方面……问每一个问题都带着“客户会如何回应?”并不总是容易的。但是对我们来说保持专注是很重要的。”
bio ivt 的下一步是什么?
安德鲁的任务清单包括:
- 扩展到包括更多的业务线,以及更多的产品和样品类型
- 利用 Algolia 改进内部计划,例如内部用户的库存搜索
- 不断优化搜索和数字体验
- 继续推动现有客户将网站作为首选购买渠道
为 SAP Hybris 解决缺口
Craig 有一个后续讨论问题: 团队试图解决 SAP Hybris 原生搜索解决方案中的哪些差距?
“SAP Commerce Cloud 提供了搜索功能,如果只是考虑跨产品搜索,这是有意义的,”Evan 回答道。然而,对于 BioIVT 的客户来说,搜索是完全不同的。
“不仅仅是产品,还有与这些产品相关的大量复杂属性;有跨移动非常快、变化非常频繁的目录的搜索,有跨文档和科学内容的搜索。Algolia 提出了一个能够更好地满足 BioIVT 客户体验需求的解决方案。”
“当我们看到 Algolia 能够如此快速地获取大量复杂的记录,并对其进行搜索和显示时,我们就被这个解决方案所吸引,”Andrew 补充道。“我们使用其他解决方案来搜索我们的历史库存的经历是一个漫长而艰难的过程,人们不会愿意在网站上耐心等待。”
要避免的 7 个自助客服错误
拿破仑说过:“如果你想把一件事做好,就自己动手。”。
这种哲学似乎一直存在,不仅是将军们的行为,还有 21 世纪普通人的行为都证明了这一点。
修理割草机,在家里染灰发根,通过 DIY 改造升级你的生活空间。试图自己掌握一个项目的浪漫吸引力——也就是说,如果你知道如何做或者可以看几个 YouTube 视频并弄明白它——在我们的文化中根深蒂固。
不要介意人们善意的自助项目可能会出师不利,或者因为一些不可预见的原因(比如货船无法停靠码头)而无限期拖延。或者“真正的”(昂贵的)帮助可能需要介入,修复自助出错造成的损害。与简单地从专业角度出发相比,救援阶段可能是痛苦的。
“我做到了!”
尽管如此,自助精神不会很快消失。人们宁愿避免雇用专业人员(通常被称为“付钱”)来做一些他们自己可以“轻松”完成的事情,当他们成功时,他们会兴奋地宣布成功。
在解决消费者对产品的技术问题时,情况也是如此。调查证实了这一点:根据微软(在一项 2018 年全球研究 )的数据,66%需要技术支持的人在联系人工支持代理之前会选择自助服务路线。即使他们最终没有选择自己解决问题,人们仍然广泛期待自助服务选项的出现。哈佛商业评论发现,88%的美国客户希望公司提供一个自助服务支持门户网站,该网站可以包含常见问题知识库和聊天机器人提供的答案。
不仅仅是客户对自助服务有很高的期望;公司更喜欢提供这种服务,因为它不仅可以帮助他们解决客户问题,还可以减少现场代理的工作量,为他们节省大量的。
难点:作为一家公司,你不能只是口头上说说自助故障诊断。你必须真正提供有效的自助服务解决方案来解决用户的问题,而这种强大的客户支持并不总是容易实现的。如果你在许多关键领域都没有达到目标,你就有被客户揪着头发的风险,以及随之而来的所有不愉快,比如给你的实时客户支持团队带来压力,增加客户支持代表的流动率,将忠诚的客户流失到提供更好自助服务的竞争对手那里,损害你的品牌声誉,如果你不能振作起来,甚至可能会倒闭。
那么,您如何绝对确保您的客户自助服务门户和支持流程能够完美运行呢?你的知识库系统中没有什么会导致低级(或灾难性)失败的怪圈吗?
也许评估自助客户支持有效性的最佳方式是看看什么肯定会 而不是 有帮助。就提供 最差 客户支持体验而言,这里有一些方法,公司可以防止自力更生的客户涉入自助池塘,捞上来一条鱼。
客户自助服务的 7 个坏习惯
我们现在从非常糟糕的 7 个习惯开始……哦,等等。斯蒂芬·柯维也用了神奇的数字 7?无论如何,这里有 7 件事是 永远不要 做的
1。让人们跳过签到环节。
虽然要求你的潜在自助者登录或“加入”你的自助服务支持系统看起来是一件聪明的程序性事情,但如果你这样做,你将会拖慢人们的进度并失去一些人。他们已经在这么多网站上注册了,所以他们可能只是决定放弃你,而不是花时间输入数据(如他们的产品 ID)来获得你的自助服务。此外,有些人更喜欢保护自己的隐私;他们不满这么多网站收集信息,他们希望尽可能匿名。
你可能觉得有必要要求自助者登录是有正当理由的,比如跟踪和安全。如果你必须要求某种形式的注册,那么至少让注册过程简单明了,只收集你最需要的信息。
尽管如此,如果你能简单地跳过看门人的废话,以实现最佳客户体验,这将对你的客户满意度评分更好。让自助服务成为最快的支持选项,您的客户支持代理将会收到更少的电子邮件和电话。
2。忽视你的知识基础。
你曾经在一家公司的网站上寻找过信息吗?那么你就知道,最佳自助客户服务的第一项工作是对你提供给自助者的所有资源投以批判的眼光。
无论您是在客户自助服务工具中提供在线手册、教程、视频、知识库文章、社区论坛、常见问题解答页面、博客帖子,甚至是提供交互式语音响应的机器人,都需要清晰明了。
设身处地为客户着想,评估一下你是否对自己的自助自动化体验感到满意。您是否会拿起(或继续使用)您的手机打电话给支持部门(也许还会抱怨自助服务渠道)?
关键检查框:
-
指向预先常见问题。 找出顾客在寻求产品帮助时通常会问的常见问题。将常见问题列表放在主页的前面和中间,并在其他页面上突出链接。当 FAQ 列表召唤时,客户可能会在进行事实调查任务之前跳进去看看他们的问题是否得到了解决。定期关注你的来电客户询问的问题。有共同的主题吗?也许有一些你在自助材料中没有提到的新故障。根据需要添加常见问题。
-
让一切变得容易理解。你的客户可能会寻找 YouTube 视频来帮助他们解决问题。如果一个解决方案太费力,无法用印刷品来解释,而视频效果会更好,那就花时间快速制作一个。还要确保您的帮助内容是用简单的英语编写的,或者如果适用,用客户的母语编写。没有比这更糟糕(或者更搞笑的了?)比试图理解一个写得很差的说明书翻译更难。
-
保持一致。 确保您在知识库中建议的问题解决流程与支持代理通过电话完成的流程相同。这样,如果有人最终打电话进来,他们会意识到他们可能读到的确实是正确的(即使他们不能理解)。
-
拥有管理良好的知识库。 让你的自助服务人群能够找到他们需要的细节不仅重要,关键是让他们能够超级快速地找到这些细节 。 你知道吗,正确的 知识管理实践 可以将人们搜索信息的时间缩短多达 35%(麦肯锡)?
想象一下,当你的自助者(更不用说你的 支持代表 )手里拿着一个解决方案就能立即宣告胜利时,他们会有多开心。
现在是时候做一些“大扫除”和持续维护,让您的自助服务体验变得名副其实了:
- 去掉任何不再适用的东西,比如与停产产品相关的 FAQ 组合相似支持内容的重复版本
- 更新
- Roomba-ize: 做主动的信息润色(如果需要,可以每周或每天一次)
3。提供过时的搜索。
假设你已经将第二步列为重中之重,现在你已经有了一个发光的知识库,里面装满了你的自助者可能正在寻找的答案。干得好!
下一个问题是“我热切而坚定的自助团队能够让我的知识库搜索功能为他们服务吗?”
啊哈。你的搜索需要修复吗?如果是的话,你肯定不是一个人。提高客户服务技能的这一方面是一些高管放弃的地方,可能是因为管理层告诫他们没有升级旧搜索的预算,而从技术上讲,旧搜索“仍然有效”。
但既然你已经开始了这个以客户为中心的过程,加入一些你自己的自助来实现目标,那么更努力地推动搜索升级可能是值得的。
管理层会有哪些具体想法?专注于现代化,以涵盖任何或所有这些类型的搜索:
- 联邦搜索。这意味着您的自助者只需输入一个查询,就可以从您可能拥有的多个数据源(筒仓)中收集所有相关信息。例如,当他们搜索某个主题时,他们可能会发现不仅有由客户服务团队编辑的 FAQ,还有由产品社区中的工程师撰写的文章。如果您不提供 联合搜索 ,您可能会因为搜索结果不完整而忽略自助服务客户需要的关键信息。
- 人工智能增强搜索。 如果你不熟悉与搜索相关的人工智能,那就是能够像智能生物一样行动的搜索,也就是说,从它接收的输入数据中学习并调整它的输出。(哎,简直就像自助搜索引擎?)通过 人工智能支持的搜索 ,该平台从查询中学习,并通过提供它能够“想到的”最相关的搜索体验来做出响应使用语义搜索,搜索引擎根据查询的上下文含义判断搜索者的意图,而不是依赖于输入的确切单词。一切都是流动的:搜索结果甚至可能随着用户的搜索而实时微调。
- 关注自助服务的搜索。此类别中的一个解决方案是 AIgolia 客户支持解答 ,它旨在支持帮助台。自助服务寻求者可以查询他们问题的答案,而不必打扰您的电话支持团队。
4。没有在线社区。
既然已经有这么多类型的在线用户群,谁还需要一个在线社区呢?
如果你想扩大你支持的深度,给你的“自己动手”者留下深刻印象,那么 你就 去做。值得信赖的主题专家经常光顾的在线社区专注于客户可能寻求的信息,这是可访问的自助服务组合的优秀组成部分。
据科技高管史蒂夫里士满在《福布斯 中写道:“拥有一个在线社区,就不需要花费数小时在谷歌上搜索一个很可能已经在社区帖子中讨论过的话题。或者更好的是,您可以直接从特定社区的成员那里获得答案。”
此外,人们喜欢在网上冒险,与一个人(或那个人平易近人的内容)联系,然后离开网络,不仅对自己解决的问题感到满意,而且对自己结识了一个新朋友感到满意,以防他们有更多的问题。
5。惹恼你的移动自助者。
如果你像许多以客户为中心的公司一样,你有漂亮的、易于导航的自助服务——也就是说,在你的网站上。得分。现在,对于那些在手机上做所有事情的(年轻)人来说,移动优化版本怎么样?事实上,他们可能不再用 PC 了。
没那么多?该死的。因为 地球上一半的网络流量 都是使用移动设备进行的。是的,很多人更喜欢用手机来帮助自己。他们对和你聊天一点也不感兴趣;他们只是想走自助路线。
这意味着在移动设备上的糟糕体验可能不会给你带来 A 级的客户服务。因此,同样重要(如果不是更重要的话)的是,你要提供移动优化的体验,无论是基于应用还是基于网络。喜欢打电话的客户会感谢你,因为他们不会用电话给你的支持团队打电话。
6。隐藏(或断开)您的 800 号码。
你有没有去一家公司的网站寻求帮助,意识到自己被淘汰了,并决定联系一些现场客服人员?才慢慢意识到,家里似乎没有任何人供你聊天?T34
没有“你卡住了?”页脚以粗体显示 800。没有提到一个有同情心的灵魂可以来救你。甚至没有一个潜伏的聊天机器人提供与正确的部门进行信息交流的非个人选项。
只有一个可点击的“联系我们”链接,让你回到以前没有帮助的相同页面,让你没有办法抓住一个有同情心的人(或者见鬼, 任何 人)。
我们不是拥有一个 800 号码的成本方面的专家,但这一成本真的能与一个不满的前客户抵制你的产品、告诉人们你是一个失败者、并因为你缺乏良好的客户支持互动而永远抛弃你的成本相比吗?
让人们容易找到你的联系电话(即使你确实在你的自助服务网站上提供了他们需要的帮助)是一个明显的胜利。
7。提供乏善可陈的实时帮助。
自助当然只是你的整体帮助的一个子集,所有这些都可以细化以满足你的客户需求。当客户的自助精神被击垮时,你需要打电话给有能力、有权力的服务代表,让他们重新感觉良好。你的呼叫中心必须充满热情和出色的代理人,致力于促进顺利的客户互动。无论自助者是在你的自助系统中漫无目的地徘徊了一个小时,还是只是选择直接和某人聊天,这都是关键。
如果你是一个企业主,你肯定知道这一点,但是为了涵盖良好客户服务的所有基础:当处理客户的问题时,你不希望支持代理人粗鲁或冷漠,让人们等待很长的响应时间,或者用一句“对不起,我不能帮你”打发他们走不不不。
“友谊”的力量
这 7 种自助服务体验中的任何一种失礼都会把你的重要客户赶出你的大门,他们会抱怨,还会继续破坏你的声誉。最好避免这种情况,因为除了别的以外,他们可能会在朋友面前说你的坏话。他们可能有很多朋友。
正如亚马逊的大客户服务专家杰夫·贝索斯喜欢指出的那样,由于互联网的影响,你必须小心口碑被放大:“如果你让一个客户不高兴,他们不会告诉五个朋友,他们会告诉 5000 个朋友”,通过在社交媒体 上发布咆哮 。
无论客户无法获得您的自助合作选项,还是他们联系了缺乏协助能力的现场帮助代理,这种情况都可能发生。潜在客户读到关于一家公司的负面消息时会三思而行。底线是,当谈到拥有快乐的客户和客户忠诚度时,你需要正确的朋友。
恭喜恭喜!当谈到自助服务支持时,你知道你应该跳过的 7 件事。现在,您已经有了成功的客户自助服务战略的行军命令。当你的自助者可以成功地找到他们自己需要的东西而不会遇到问题时,他们也将帮助你作为一个公司在许多方面取得成功。
记住,当你的自助者是满意的顾客时,你注定会获得商业成功。或者就像甲壳虫乐队所说的,你会在朋友的帮助下度过难关。
想要帮助自己吗?
在试图获得卓越客户服务的竞争优势时,有一件事需要避免:惯性。请自行查找有关 Algolia 如何帮助你避开上述陷阱并快速满足自助服务顾客需求的数据。填好这张 表格 我们过几天会联系你的。
使用一对多 API 优先设计构建多个搜索界面
我们之前已经写过关于创造一种 多对一 搜索体验。一种多视图的联合搜索技术,用于在一个界面中搜索和显示多个数据源。
数据源可以是任何离散的数据库。如果你运行流媒体服务,也许你的第一个数据源是电影,第二个是电视节目。如果你管理一家在线时装零售商,你可能有不同的男装、女装和童装数据库。
无论具体情况如何,多对一允许您通过一个 API 调用搜索所有数据源。多对一极大地改善了客户体验—用户可以一次搜索多个数据库,而不是在每个数据源中执行相同的搜索。但这不是我们今天要讨论的。
相反,我们关注下一步:一对多。
一对多取那个 一个 API 调用,用它来服务 多个 多个界面上不同的搜索体验。每个界面都服务于具有不同需求和目的的特定受众。例如,您可以为您的用户(客户、员工或合作伙伴)或设备(web、移动或桌面)提供界面。在下一节中,我们将仔细研究其中的一些应用程序。
一对多的体验是什么样子的?
有成百上千种可能的界面,每一种都是为一群用户的独特需求量身定制的。
考虑一家流媒体公司。他们可能希望不同的设备有不同的接口。毕竟,人们与产品的互动是不同的,这取决于他们是在手机上还是在桌面上。该公司可能还想要一个内部界面,显示观众的活动和趋势。也许他们也想公开分享一些信息。选择真的是无穷无尽的。
为了探索一对多设计的可能性,让我们更详细地探索三个应用程序:店内信息亭、销售应用程序和网站发现。
店内售货亭
普通的大型超市大约有 10 万到 15 万件商品。即使有完美的标识,顾客也不可避免地会迷路。除非他们能找到店员,否则他们的选择要么是继续逛,直到偶然发现他们想要的产品,要么决定不买。两者都不是好的选择。
令人沮丧的是,零售商通常拥有顾客需要的数据。他们的销售平台中有产品位置信息和库存数量。他们需要的是一种与公众分享数据的方式。这是一对多可以解决的第一个问题。零售商可以获取他们的“单一”索引,并通过面向公众的界面显示出来。该界面可以让客户搜索产品并跟踪它们的位置。
(称之为“单一索引”不太准确,因为搜索可能会覆盖多个索引。但是即使是多索引搜索也被认为是一个 单个 API 调用。)
如果零售商将该应用程序加载到一些售货亭上,并将它们放在商店的周围,这就像拥有一个随时可用的零售助理团队。顾客可以搜索产品,检查他们的库存状态,并找到他们在商店中的位置。虽然这是一个很好的体验,但这项技术可以做得更多。
顾客也可以在 其他 店铺查询库存信息。比方说,他们想要一件不同颜色的毛衣,但目前的商店没有。也许他们可以通过应用程序订购,然后在回家的路上在不同的地方取货。它融合了店内和网上的体验,为顾客提供两全其美的服务。
商品应用
再想想大型零售商可以访问的数据。不仅仅是库存数量和过道位置等基本信息。他们有大量的交易数据,比如销售和退货。这些信息对客户来说毫无意义,但对内部员工来说却是无价之宝。
零售商可以利用同样的数据,为商家和营销人员创建一个额外的搜索界面。他们可以使用销售界面来检查客户购买模式和评估产品性能。他们可以衡量促销的影响,评估盈利能力。他们还可以选择立即促销的产品,并为下一季设计产品系列。
网站发现
作为全球领先的众筹平台, GoFundMe 支持多种多样的活动。对亲人的纪念,灾难后的紧急救援,寻找赞助人的创意,寻找支持者的企业,不胜枚举。面对如此广泛的活动,找到你正在寻找的(或感兴趣的)东西总是一个挑战。
使用一对多的方式,他们开始为每一项事业构建不同的“发现”页面:医疗、教育、环境。用户享受的是过滤后的体验,而不是探索所有的活动。但是探索页面仅仅是个开始。
GoFundMe 的团队为该网站的主页设计了另一种体验。使用旋转木马,他们可以展示特色活动,帮助宣传选定的倡议。
为什么一对多很重要?
一对多提供了几乎无限的可能性。但是,如果店内信息亭、销售应用程序和改进的发现不能激起你的食欲,你可能仍然想知道为什么这如此重要。一对多优惠有两大好处:
#1 您将后端开发工作委托给第三方
像亚马逊或谷歌这样的科技巨头拥有庞大的工程团队。如果他们想创造一种新的搜索体验,他们可以让一百个开发者来解决这个问题。但大多数其他企业都没有这么充足的资源。开发新的搜索体验意味着重新思考数据结构和重建搜索界面。
不幸的是,这种权衡意味着公司 不会 投资店内应用或新的应用内搜索。他们拖延,推迟,最终错过机会。
但是一对多提供了一个解决方案。就当是委托后端工作吧。一旦您的数据源和搜索 API 建立起来,您的搜索提供商就会管理维护和保养。这就好像你已经将工作委派给了其他人,让你的工程师可以专注于重要的事情。这给我们带来了第二个好处。
#2 您的工程师可以专注于您想要交付给用户的功能
通过消除后端开发,您的工程资源突然走得更远。你可以直接跳到重要的部分:建立新的体验,而不是用几周或几个月的后端工作来开始每个新项目。
在世界仍在适应疫情的今天,这一点尤为重要。在过去的两年里,买家的行为和偏好以极快的速度发展。
在疫情期间蓬勃发展的公司是那些迅速适应变化的公司,如提供路边收集的餐馆、虚拟化的活动以及当地零售商推出成熟的电子商务商店。通过一对多设计,企业可以更快地行动,处理更雄心勃勃的项目,并在困难时期蓬勃发展。
一对多就是少花钱多办事
很少有组织拥有亚马逊或谷歌的工程资源。对大多数公司来说,投资新体验是一个妥协的问题。开发店内信息亭或新网站发现体验意味着 而不是 做其他事情。工程团队经常推出决策,延迟项目并在过程中失去影响。
从本质上讲,一对多是一种效率优势。一旦建立,它完全消除了正在进行的后端开发。它让您的工程师能够专注于前端,开发新的激动人心的体验。简而言之,它让你事半功倍。
用人工智能驱动的个性化引擎使你的 UX 现代化
你好【姓名】,
如果你曾经在电子邮件中被这样称呼过,你就会知道,没有什么比糟糕的个性化实现(或明显缺失)更让人感觉不到个性化和温暖了。
可以肯定地说,自新冠肺炎疫情开始以来,糟糕的个性化的影响变得更加明显,因为越来越多的人开始在公司网站(和移动应用程序)上购物,无意中把自己平淡无奇的数字购物体验与他们在亚马逊或谷歌享受的体验进行了比较。
个性化 不再仅仅意味着基本的 cookie 跟踪或在营销宣传的顶部自动插入某人的名字。现在它意味着为访问者量身定制整个在线体验。个性化平台可以涵盖一切,从在数字门口迎接人们,到让他们因刚刚享受的愉快(如果昂贵)冒险而兴奋不已。
为什么需要个性化?
消费者现在认为任何低于高度个性化的服务都是不合格的。他们已经习惯了简化的全渠道营销技术、缩短的购买流程、通过应用程序和聊天机器人与企业互动的邀请,以及对他们问题的即时回复。
在过去几年中,人们对个性化数字体验的期望提高了多少?很多。由于亚马逊的产品推荐和谷歌不断变化的搜索算法等服务,在线购物者在购物时经常将个性化作为一个重要的优先事项。
事实上,即使回到 2018 年,根据埃森哲的记录,全球 8000 名消费者中的绝大多数(91%)表示,他们更有可能在提供个性化优惠和推荐的品牌中购物。那是在疫情似乎将大部分人团结在一起开始网上购物之旅之前的事了。
希望在这种彻底转变的营销环境中取得成功的公司如何赢得个性化?
第一选择显然是通过使用个性化引擎为用户提供量身定制的数字体验。
什么是个性化引擎?
从技术上讲,个性化“引擎”只是一种为特定用户提供特定搜索结果的软件组件。它将人们的数字行为环境应用到内容中,这样就可以向人们展示更相关的结果。
例如,假设一个体育用品网站上的两个购物者都在搜索栏中输入了“防滑鞋”。
如果没有个性化引擎,网站可能会掩盖特定的用户行为,并向他们展示一些购买最多的防滑鞋和与防滑鞋相关的商品。
然而,让我们假设购物者 A 之前已经检查了护腿和足球运动衫。嗯…她可能在找足球鞋。与此同时,顾客 B 一直在看自行车装备,所以他可能想要夹式自行车鞋的防滑钉。这两种防滑钉有不同的用途,但它们都出现在两位顾客的防滑钉搜索结果中。
当谈到顾客旅程时,个性化引擎优于标准搜索引擎,它记录购物者 A 以前对足球相关商品的搜索,并将她的行为与其他查看或购买类似商品的人的行为进行分类。它观察客户行为,并在个人搜索结果中呈现一些更相关的东西(足球鞋)。
与此同时,购物者 B 被归入一个不同的类别,这是一个针对曾查看或购买过自行车装备的人的类别。结果呢?这两个运动员都很高兴很快找到他们的鞋钉,并继续进行他们清单上的下一项。
什么是个性化软件?
Gartner 将个性化软件定义为一个程序,该程序可以“应用关于个人用户及其环境的上下文,通过数字渠道选择、定制和交付信息,如内容、优惠和其他交互,以支持三种用例——营销、数字商务和客户体验。”
所以基本上,由人工智能驱动的软件专注于识别消费者行为的趋势,然后根据收集的数据,向人们显示最符合他们意图的搜索结果。
个性化引擎是如何工作的?
个性化引擎的工作方式与常规搜索引擎的工作方式相似:它使用一种算法来理解用户的请求,并根据他们的搜索查询找到相关内容。然而,个性化引擎的不同之处在于它“决定”向用户呈现哪些项目。
在访问者到达搜索栏之前,当他们在网站上走动时,他们就被监视了;他们的行为受到监控,他们所做的事情会被详细记录下来。这本身就是间谍活动,但数据是匿名的;例如,这个人被标记为用户 3331。还会根据他们输入的搜索查询来收集数据。然后,这些收集的数据被用来对这个人的行为和意图进行分类,这样网站就可以向他们展示更多相关的项目。
个性化工具也可用于在其他数字接触点创造更加个性化的体验,例如在结账时,人们可能会考虑相关的附加服务。
你可以在 YouTube 和网飞上看到有效的个性化引擎如何通过用户细分提高客户满意度的例子。
这两个平台都使用个性化功能,根据观看过类似节目和视频的其他观众的客户资料来推荐观看选项。他们的客户数据平台将用户的观看模式与他们的相似模式进行匹配,然后推荐其他人看过的内容。
这种方式使得人们更有可能找到他们想看的东西,他们会喜欢看,因此他们会在网站上停留更长时间(并且经常天真地笑着说网站有多“了解”他们)。
谁不喜欢个性化?
尽管事实上,无论从哪方面来看,消费者都疯狂地喜欢被个人追求,但许多公司的网上企业仍然没有明确个性化的本质。大多数人还没有达到亚马逊的专业水平(至少现在还没有),例如,亚马逊使用“深度”个性化(一种不太注重营销的方法),将相关的产品建议实时呈现在客户面前。但是公司肯定会效仿亚马逊的销售人员的做法。
有些人确实走得很近。许多流行品牌正在使用复杂的机器学习个性化技术作为其营销活动的一部分,以向客户提供正确的搜索结果。
在疫情之前,这项有趣的技术已经开始成为标准,但在 2019 年至 2021 年发生的巨大数字化转型和对技术的更高依赖程度的转变中,个性化已经成为绝对必要的。虽然个性化引擎在疫情开始之前是一个不错的选择,但现在它只是跟上不断前进的数字化转型基准的一个要求。
见怪不怪
那么,如何开始为你的在线用户创造有益的、个性化的体验呢?
这些奖励很值得投入到个性化的游泳池中。根据 Adweek 的 , 营销人员表示,个性化可以将收入提高 15%并降低 50%的采购成本。
然而,一些营销团队需要更多的帮助来启动他们的个性化努力。Gartner 指出,大约 63%的数字营销领导者承认他们正在努力提供个性化服务。这可能是一个真正的问题,不仅不会给潜在客户留下深刻印象,而且显然会让他们失去兴趣,就像这篇博文的第一句疯狂的话一样。不利于客户维系。
Algolia 个性化的优点
幸运的是,有很棒的个性化软件解决方案包含了所有这些好东西。许多企业迫切需要的是一个快速、信息丰富、与客户相关、带有分析和定制功能、易于公司使用的搜索 API。Algolia 是一个选择,有一整个图书馆的客户都很乐意证明他们个性化搜索的有效性。
例如,迪卡侬新加坡公司使用 Algolia 个性化来处理大量产品,并为个人客户提供量身定制的体验。据其电子商务项目负责人 Richard Migette 说:“对于我们这样目录中有超过 25,000 种产品的零售商来说,一个能够改善我们每个用户在搜索过程中的体验的解决方案会增加巨大的价值。"
想要亲身感受吗?
要了解更多关于个性化在您的网站上对客户互动的潜在作用,以及给予访问者卓越的 数字体验 可以帮助您优化成功、提高转化率的许多方式,请联系 我们的团队 获取一些个性化关注。
驾驭基于人工智能的销售预测
原文:https://www.algolia.com/blog/ai/how-ai-improves-the-accuracy-of-sales-forecasting/
“我们正全力以赴,我们的销售代表们也如火如荼。我们正在开发一种很有前途的新产品。看看我们过去的表现就知道了。社交媒体上的影响者们对此赞不绝口。我有一种感觉,下一季度我们会大获成功!”
在估算未来销售时,这种预测——呃,瞎猜——看起来有用吗?
信不信由你,在许多公司,这种对特定时期进行收入预测的松散形式——一种明显缺乏花哨的 Excel 电子表格、关键指标和基于科学的输入的方法——被视为合法的销售预测。由于没有一个标准的成功的方法来确定未来的平均销售额,一个经常是偶然的传统预测过程已经扎根。许多公司的销售预测模型仍然可以总结为本质上是在瞎猜。
历史预测:有点倒退
有充分的理由:以任何一种准确的方式预测未来的销售渠道在历史上都是一种冒险,因为企业销售预测没有太多实质性的数据。此外,在销售中,历史数据通常很复杂,而且过去的销售数据经常因季度而异。销售预测方法在很大程度上基于 当前 销售活动和成功百分比,随着一系列因素的变化,每个季度的销售活动和成功百分比都会发生相当大的变化。
销售数据和成功案例、客户行为、竞争以及当时市场上的任何波动,更不用说其他外部因素(全球变暖、当地天气、流行病、员工跳槽寻求更高的工资),这些都是不确定因素,可能会严重影响组织自信地预测未来销售数字的能力。
可以肯定地说,参考企业销售水晶球并考虑历史销售数据的过程有点像在小鸡孵出来之前数小鸡:这通常是一种充满希望的练习,但并不完全可靠。
好消息是,如果可以称之为好消息的话,如果你的公司没有准确的销售预测,你并不孤单。事实上,你在一个非常好的公司。Sirius decisions(2016)发现,79%的销售组织与他们的预测相差 10%以上。Forrester 甚至得出这样的结论:“大多数销售组织都不擅长预测。”
误导预测的连锁反应
然而,许多公司仍然将关键的销售决策建立在不准确的销售预测上;他们没有其他选择。这意味着会对他们的预算和规划、库存管理以及最终的销售业绩产生负面影响。他们的股票表现如何,很大程度上取决于销售预测等式中的内容。
是的,不准确的销售预测技术是一个普遍的问题,对各种类型的公司都有持久的影响,无论是实体店还是网上商店,无论是初创公司、小企业还是占据巨大市场份额的大型企业。
当然,还有一个更好的方法来做销售预测,你可能已经从这篇博文的标题中猜到了,并决定看看我们对这个话题的想法。
人工智能销售收入预测拯救
如今,人工智能已经在许多方面发挥了作用,销售预测只是受益的一个领域。
与旧的做事方式形成鲜明的对比。历史悠久的统计建模技术根本不是销售预测软件的对手,销售预测软件可以处理许多可用的预测指标和 KPI。深度学习模型可以专业地评估销售经理很难发现的各种数据之间的关系。
结果是:与机器学习辅助的人工智能相比,使用线性回归进行销售预测就相形见绌了,机器学习辅助的人工智能可以让你准确地识别新兴数据趋势,从而对你的总销售额和预期盈利能力做出超敏锐的估计。
输入人工智能和机器学习算法
人工智能可以容纳 难以置信的 数量的数据(我们正在谈论潜在的 数以千计的 的度量,其中许多似乎没有任何方式、形状或形式的关联)。它们通常包括客户体验评级和流失率等指标,以及以前的销售和其他前一年的数据等预期指标,以便更准确地做出预测。人工智能和机器学习可以理解所有这些数据,并以综合 时间序列预测 的形式破译相关性,并随时了解更大的大数据世界的变化。
除了准确预测之外,能够全面解读数据也能带来积极的影响。它可以为销售组织和销售经理指引正确的方向,为销售团队提供可行的工具,帮助他们制定可行的商业计划,实现崇高的销售目标。
数据不会说谎
在 AI 的指导下,还可以详细跟踪客户体验,让业务领导和销售代表实时了解他们面临的独特挑战、购物者的动机、提高客户满意度所需的条件、如何提高网站的保留率以及其他关键数据。
提高销售预测准确性的一个有用指标是 买家意向 ,它可以帮助您了解客户的购买计划,例如评估需求预测,这当然会影响您的销售规划、供应链决策以及您可能采取的各种步骤。有了准确的 买家意向数据 在手,您可以自信地为您的销售预测增加一层针对性。
B2B 意向数据尤其相关。Gartner 将聚合业务买家意向数据称为“B2B 销售线索生成的未来”,这意味着它是如何准确预测销售的一个关键指标。
销售预测的秘密:预测分析
预测分析深入研究各种模式(考虑之前的销售周期、当前环境、宏观经济影响),然后根据所见预测结果。如果做得好,预测模型可以通过计算出哪些交易将会完成以及预期的时间来预测当前销售渠道的收入。预测分析不仅如此,尽管也考虑到了尚未进入公司销售雷达的交易的估计收入。
根据 企业家 的说法,使用预测分析的公司已经能够做出高达 82%的未来收入预测。也许有一天我们会达到 100%,但这比“糟糕”好多了
AI 辅助销售预测的底层好处
更多-有用线索得分
为商业线索分配价值是一种常见的做法,旨在优先关注重点,但同样,这并不一定做得很好。与整体销售预测一样,可能会根据不正确的指标(如欺骗性购买信号)进行评分。难怪有很大比例的 B2B 销售人员认为线索评分不值得他们的团队成员费心。
借助人工智能算法,一家公司可以梳理海量相关数据,并对哪些销售线索真正值得追踪做出智能评估。人工智能可以考虑每一个重要的指标,然后推荐最佳线索。
达成交易的能力更强
高成交率很难实现——竞争对手试图抢走你的生意,销售很容易停滞。稳定的胜率永远无法保证。CSO Insights 表示,不能想当然地认为交易会完成,事实上,预计的交易完成率甚至不到一半。
人工智能提供的是:一种非常重要的能力,可以研究最有可能促成交易并带来新业务的人,以及他们在交易过程中的优势。了解有关人员和关系的关键细节,包括领导层可能不太清楚其角色的有影响力的参与者,意味着能够更准确地预测完成销售流程的最佳方式。
更好的客户保持率
随着人工智能帮助你更自信地了解客户的需求并预测他们接下来想要什么,你也增强了保持他们兴趣的能力。这是达到你的(更准确的)销售预测的一种方法吗?
更快的商业决策和预测
除非你在使用水晶球式的销售预测流程,比如做出乐观的猜测,否则你的团队需要一段时间来确定正确的销售预测细节。
有了人工智能,你的相关数据可以在很短的时间内得到综合处理,数据驱动的结果也可以得到消化。您不仅可以提高预测的准确性,还可以立即开始推进优化和销售策略,实施正确的销售配额和后续步骤,在正确的时间框架内实现强劲的预期销售,无论是下个月还是未来十年。
升级你的销售预测工具
想要更好的预测准确性?您可以实施更好的销售预测,为想要超越的销售领导提供宝贵的洞察力,无论他们是在下个季度还是明年。您可以通过准确、可靠的方式提高预测销售的几率,Algolia 可以帮助您做到这一点。
我们的 API 优先搜索和发现平台有助于准确预测电子商务客户行为以及与您的销售前景直接(或间接)相关的其他细节。
与我们联系让我们来谈谈如何提高搜索能力,从而提高销售预测的准确性,达成销售目标,提高转化率,最终提高投资回报率,获得空前的成功。
人工智能搜索如何让电子商务公司增加收入和削减成本
咨询巨头麦肯锡看好人工智能。他们的预测 估计 到 2030 年,人工智能可以为全球 GDP 和劳动力市场增加约 16%,或约 13 万亿美元。由于对通货膨胀和经济衰退的担忧仍然很高,许多电子商务公司正在寻找提高盈利能力的方法,同时也在以更少的资源做更多的事情。人工智能搜索有潜力帮助企业做到这两点。在这篇博客中,我将解释如何做到这一点。
搜索命令
在线搜索对 B2C 和 B2B 公司的收入都有很大的影响。研究表明,B2C 零售商务网站上的消费者经常以搜索开始他们的旅程,与非搜索者相比,花费 2.6 倍 。对于 B2B 电子商务,92%的购买都是从搜索开始的!
如今,电子商务网站经理必须花费大量时间为买家优化搜索结果。这是因为搜索栏通常由关键词搜索引擎驱动。顾名思义,关键字搜索是基于将搜索查询与搜索索引中的关键字进行匹配。关键字引擎对于搜索和索引术语匹配的“标题”查询非常有效,但是术语的任何变化都可能导致引擎失败。
“Fat head” queries represent the top 10-20% of searches, and “long tail” queries typically include the bottom 50-70% of site searches. Keyword search works well for the fat head, but long tail is better served with AI or in combination with keyword search, sometimes called hybrid search.
问题是,您无法编写足够的规则、同义词或关键字来说明目录中每种产品的每种可能的查询变化,尤其是如果您的目录包括数千甚至数百万个项目,这在 B2B 商务中是常见的情况。你可能会想,我所描述的听起来很像一个 长尾搜索 问题——你可能是对的!搜索者带着某种想法来到你的网站。然而,他们制定查询的方式可能与你建立搜索索引的方式大相径庭。
与关键词搜索引擎不同,人工智能搜索实际上理解查询背后的含义。关键词匹配和人工智能理解之间的差异是巨大的。它更像人类。
重要的一点是:人工智能搜索对目录很有效,不需要额外的查询匹配。人工智能搜索自动为你处理那些长尾查询。不需要建立一个同义词库,编写规则,或者用关键字填充你的页面,同时希望得到一个关键字匹配;使用机器学习进行搜索检索,它开箱即用,同时节省您的时间和金钱。
人工智能如何工作
人工智能是花里胡哨的名词;大多数技术专家更喜欢谈论底层的机器学习算法,这些算法可以推动广泛的技术,从库存预测模型到无人驾驶汽车。ChatGPT 因其使用大型语言模型(LLM)而闻名,但还有许多其他技术或算法用于机器学习。每个人工智能系统都是一个多步骤的过程,将信息转换为机器可读的数据以进行更快的处理,然后应用不同的模型来解释数据并进行预测。可以调整模型以提高性能和可信度。
搜索索引中的数据加上您从客户那里收集的信息—地理位置、过去的购买、过去的搜索、浏览器、会员状态、评级、退货等。—是火的燃料。一些被称为学习排序算法的机器学习技术将通过学习哪些有效哪些无效来随着时间的推移自动改善结果。其他人工智能解决方案可用于增强推荐,例如购买了 x 的客户也购买了 y ,这可以提高客户满意度,也可以产生更高的平均订单价值。
端到端人工智能搜索
有许多不同的人工智能技术在发挥作用,但对搜索相关性影响最大的技术被称为 矢量嵌入 。向量使搜索引擎能够理解术语之间的相似性。对于 Algolia 来说,向量只是第一步。我们应用另一种称为 神经哈希 的技术来压缩向量,这使我们的客户能够扩展搜索并对他们的目录和模式进行频繁更改,而不会对结果产生负面影响。它还允许我们同时将人工智能与关键字结果结合起来,以获得更大的相关性。结果是更快,更准确,可扩展的人工智能支持的搜索检索。
How natural language processing (NLP) parses and analyzes queries to help the search engine be more successful.
从查询到结果的整个过程是一个多步骤序列:
- 查询处理 :首先,我们应用一个机器学习功能,自然语言处理(NLP),对查询进行预处理(见上图)。
- 检索 :然后,由神经哈希驱动的机器学习识别最相关的结果,并从最相关到最不相关排序。
- 排名 :最后,应用动态排名对结果进行优化排序,以提高网站的绩效——点击、转化、购买等。
所有这些几乎都是实时发生的(无论您是否配置了自动完成)。事实上,大多数查询在不到 20 毫秒的时间内返回,比眨眼的时间快 5 倍。它也必须很快;亚马逊和谷歌 都显示了 速度对于客户体验和收入的重要性。
我们早期的 Algolianeural searchalpha 客户之一——一个拥有约 300 万 SKU 的电子商务网站——在采用的第一个月内,转化率立即提高了 6%。他们也不需要做任何事情。人工智能自动化几乎消除了搜索结果优化曾经需要的人工工作和业务流程。这只是冰山一角;我们预计,随着产品的全面发布,这个数字还会攀升。
更智能的搜索革命
像谷歌和亚马逊这样的公司已经花费了数十亿美元和数万小时来构建他们基于人工智能的搜索、推荐和个性化解决方案。现在,随着人工智能算法的进步,实现智能搜索可以在一小部分时间和成本内完成。
我们对人工智能搜索将对 B2B 和 B2C 卖家产生的影响感到兴奋,因为他们正在推动数字化转型、降低成本和更快的自动化决策。公司可以重新分配他们花在优化搜索上的无限时间,同时改善搜索结果,以提高转化率和更好的用户体验。
如需了解更多信息, 注册即可获得通知【Algolia neural search 何时推出!
人工智能搜索如何解锁长尾结果
原文:https://www.algolia.com/blog/ai/how-ai-search-unlocks-long-tail-results/
你已经优化了你的努力,以推动你的网站流量,但现在困难的部分开始了:优化现场搜索和发现,以提高转化率。大多数网站搜索引擎仍然要求访问者使用简单的一词查询,如“葡萄酒”或“香槟”——你可以很容易地优化这些——但对于较长的查询或拼写错误,就会惨败。我们自己的数据表明,一半或更多的查询在长尾中。如果你的搜索引擎表现得更像一个人——实际上理解一个搜索查询,比如“我想要一瓶上好的香槟酒庆祝复活节”——并提供很好的结果,会怎么样?
如果你没有对你的目录进行 100%的搜索优化,那么你就是在浪费所有的精力去创造网站流量和把钱留在桌面上。这就是人工智能搜索的用武之地。
我先解释一些术语。胖头、矮胖子和长尾巴可能是喜剧三重奏的名字。相反,它们指的是不同类别的搜索词。有搜索的“大头——最常见的查询,有“矮胖的中间”,其中数百万的现场搜索查询可以在网站上产生有意义的量,还有“长尾”,其中数十亿的搜索查询产生相对较小的搜索量。
大多数零售商只有资源来优化现场搜索的大头查询。花时间优化目录的这一部分是非常有意义的;这就是你的目录的大量流行搜索查询的来源。然而,如果你只为胖子优化,你就错过了一个巨大的机会。
人工智能搜索提供了同时优化所有三个细分市场的解决方案。它可以在任何地方提高收入,而不增加任何额外的工作或开销。在这篇博客中,我们将看看人工智能搜索是如何解开长尾的。
注:这是 不是 一篇关于 SEO,生成有机流量,或者说 SEO 策略的文章。这篇文章是关于如何提高站内长尾搜索优化的。
查询类型和关键字搜索
有时购物者确切地知道他们想要什么,有时他们想进行一次探索之旅。有不同种类的查询,它们变得越来越长,越来越复杂,部分是由语音搜索驱动的。一些搜索查询类型包括:
- 广泛搜索 像“笔”
- 精确搜索 比如“苹果 iPhone 14 Pro”
- 特征相关搜索 如“男士棕色休闲鞋”
- 兼容性搜索 就像“无麸质晚餐的开胃菜”
- 概念搜索 如“夜间跑步时可见的东西”
- 症状相关搜索 如“替代药物治疗耳鸣”
全文关键词搜索引擎可以很好地匹配上面的前三个,但是,如果没有帮助,后三个将是一场斗争。
关键字搜索引擎寻找精确或非常匹配的短语。内置的错别字容差、同义词库、 查询分类 和 NLP 算法 可以帮助处理这些种类的搜索查询。例如,搜索“男士 14 码篮球鞋”——即使是拼错的单词,如 篮球——也可以被解析和过滤,以提供很好的结果。
关键字搜索对于大标题和许多中间查询来说是非常棒的。但是对于更复杂的查询,比如症状搜索呢?
这里有一个例子:假设你在你的网站上销售阿司匹林和相关产品。您的客户有多少种方法可以搜索这些产品?下面是我想到的十个
- 婴儿阿司匹林
- 头痛药
- 背痛
- 关节痛
- 脖子酸痛
- 治疗背痛的最佳药物
- 阿司匹林替代品
- 消炎的东西
- 用于肩部和背部的 NSAID
- 医生推荐预防心脏病发作的 OTC 药物
光是这些产品,就很容易出现上百个长尾查询。不可能预先确定某人可能写的所有长尾关键词。这就是人工智能矢量搜索可以提供帮助的地方。
矢量搜索长尾关键词
矢量嵌入是 AI 搜索背后的主要技术之一。矢量搜索是一种搜索引擎,它理解搜索索引中对象之间的概念和相似性。矢量搜索引擎会理解头痛、阿司匹林、肌肉酸痛、Nurofen、NSAID 和其他类似的术语和概念是相关的。例如,当有人键入“头痛”或“肌肉酸痛”时,使用矢量搜索的药店可以提出“阿司匹林”,因为搜索引擎知道所有这些术语的意思都很接近。
我们发表了更长的关于 向量搜索引擎如何工作的解释 ,但简单来说,向量是数学上生成的数字,代表单词。这些向量中的每一个都被绘制在一个“向量空间”中,搜索引擎使用机器学习算法来聚集成千上万个维度的数百万个数据点,以基于向量空间中单词之间的接近程度来建立对概念的理解。这也适用于不同的语言。
Image via Medium showing vector space dimensions. Similarity is often measured using Euclidean distance or cosine similarity.
矢量搜索的一个迷人之处在于,它完全不依赖于关键词或特定的搜索短语。即使搜索词在你的网站上找不到,它也能经常提供很好的结果。例如,搜索术语“君主”并得到“国王”或“女王”的结果。换句话说,向量搜索解锁长尾;顾客可以输入任何东西来获得好的结果。
在实践中,可以有几十亿个点,几千个维度。向量也可以加、减或乘来寻找意义和建立关系。一个例子是 浓缩咖啡——咖啡因+蒸牛奶=无咖啡因卡布奇诺 。机器可能会使用这种计算来确定答案或关系。搜索引擎可以使用这种能力来确定一个地区最大的山脉,确定性别或性别关系,或者确定健怡可乐的替代品。这些只是几个例子,但还有成千上万个!即使长尾搜索短语以前从未在你的网站上使用过,矢量搜索引擎也会决定相关性。
纯矢量搜索已经推出好几年了,但还没有被广泛采用,因为事实证明,它的扩展成本很高,而且速度很慢。速度对网上买家很重要。亚马逊和谷歌都发表了研究报告,证明较慢的页面加载速度会对电子商务转化率产生负面影响,并降低客户参与度。
亚马逊表明,每 100 毫秒的延迟会损失 1%的收入。类似地,谷歌显示 500 毫秒的延迟会降低 20%的参与度。( 来源)
关键字搜索比矢量搜索更快,通常仍是单字查询或精确短语匹配的首选。然而,为每个可能的查询编写规则和同义词是不可能的。
如果你能够在不牺牲速度和准确性的情况下,同时获得关键字和矢量搜索的优势,会怎么样?
AI 结合关键词
人工智能非常强大,但传统的关键词搜索技术更强大。这种混合组合为任何类型的查询提供了更好的结果。关键词搜索精准,矢量搜索智能。两者的结合提供了两个世界的精华。
诀窍在于使它在不同的数据集上快速高效,同时从关键字和向量搜索结果中确定相关性。在 Algolia,我们用一种叫做 神经哈希 的技术来实现。我们可以将向量转换成二进制哈希——一种更小、更便携的数据类型,可以在商用硬件上运行,没有任何成本开销。哈希保留了 96%或更多的原始矢量精度。结合关键词,我们能够提供一些令人兴奋的结果,从肥头到长尾。请看下面的例子,我们做了一个长尾搜索来寻找“能让我的啤酒保持凉爽的东西”。祝你在关键字搜索引擎上好运!结果也很快,即使是在拥有数百万 SKU 的最大目录上。
In this sample data set of 22,000 products, hybrid search could find products that match the unusual query in single-digit milliseconds.
有许多不同的补充技术在发挥作用,包括 NLP、错别字容忍、词干提取和查询分类。这是 Algolia 与其他一些可能的解决方案之间的一大区别。只有 Algolia 在所有这些搜索技术方面拥有深厚的专业知识,能够在查询时更快、更大规模地提供更好的结果。
对于您的客户而言,Algolia AI search 等 API 优先的解决方案意味着更快、更准确的搜索、发现和推荐。更好的搜索结果意味着更好的用户体验和更高的现场转化和品牌忠诚度。
没有付出,更好的结果,更多的收益
长尾短语对现场电子商务优化提出了挑战。对于您的团队来说,确定搜索意图并为每个可能的查询组合编写规则、同义词和关键字几乎是不可能的。混合搜索为零售商提供了一个聪明的解决方案,即使你在你的网站上没有准确的关键词。
此外,随着你的目录变化,新产品和新内容的增加,或者术语有了新的含义,人工智能混合搜索引擎将会调整。它不需要任何额外的人员或操作。混合引擎将根据查询或搜索短语自动匹配关键词或概念,有时是两者的混合。
头部术语和长尾关键词的搜索结果越好,转化率越高,客户满意度也越高。
看 AI 搜索如何改善长尾搜索结果。注册以便在混合搜索可用时得到通知。
Algolia AI 如何帮助零售商创造更好的转换体验
原文:https://www.algolia.com/blog/ai/how-algolia-ai-helps-retailers-create-better-converting-experiences/
在越来越多的购物者上网的时代,对数字财产的正确投资可以带来巨大的回报。大多数零售商认识到了这个机会,但也知道他们需要在许多领域进行投资,以创造世界级的电子商务体验。
在当今竞争异常激烈的网络世界中取胜的关键在于创造一种体验,这种体验甚至比某人走进商店与你最好的销售人员交谈时的体验还要好。对购物者来说毫不费力,并根据他们的需求个性化的东西。这就是我们建造阿尔戈利亚 AI 的原因。
让你的购物者感到被理解,就像他们在商店里一样
我们都在杂乱地搜索产品。通过 Algolia AI,我们让人们用自己的话来描述他们正在寻找的产品,就像他们在与商店员工交谈时一样。
Algolia Understand ,我们最新的自然语言理解功能,使购物者只需说出他们正在寻找的东西,并找到它。购物者只需一句话,就能毫不费力地找到他们想要的东西。
动态同义词建议阐述了我们语言的丰富性,以及我们对产品不断变化的称呼。它不断建议人工智能生成同义词,让你的所有购物者的体验更顺畅,增加他们的购买机会,并减少你的销售团队的手动任务。
在你的实体店,你会雇佣当地员工,他们很可能会说当地的语言。你要确保热门旅游景点的店员会说几种语言。在网上,通过 Algolia 自然语言处理,您可以依赖一个支持 70 多种语言的搜索和发现解决方案,甚至是最复杂的语言。您可以通过一个平台满足所有市场的需求。
表面最容易被购买的产品,总是无处不在
购物者的期望会随着时间而变化。想想 2019 年人们搜索“口罩”的时候在找什么,今天也是。
对于一些明显的情况,如“mask ”,您可以手动配置搜索以返回正确的结果。但是你不能每天都这样做,进行成千上万的搜索。
Algolia 动态重新排名为你做到这一点。利用人工智能,它通过提升每次搜索的最高性能产品,使每次交互更有可能转化。“动态重新排名”用户测量到,仅启用这一功能后,年收入就增加了 100 万美元至 100 万美元 2M。
我们都有对特定品牌、颜色、类别和尺寸的偏好。 Algolia 个性化利用人工智能为每个用户量身定制购物体验,增加每个用户转化的机会。激活 Algolia 个性化后,迪卡侬测量到转化率增加了 50%。
在需要的地方保持控制
总会有人工智能不是解决方案的情况,而人类是推动更多业务成果的关键。即使在使用人工智能搜索和发现解决方案时,零售商也应该能够利用他们对业务、购物者和目录的深刻了解。
这就是为什么 Algolia AI 紧密集成到一个全面的搜索和发现管理平台中,因此您可以决定何时应用 AI,何时进行手动管理。
受益于 AI 搜索之外的在线商店
与网络和移动商店相比,Algolia 及其新的人工智能功能可以使更多地方的零售商受益。由于其 API 优先的方法,Algolia 很容易在无头商业架构中利用,并可以在任何渠道上增强体验。一些零售商使用 Algolia 为他们的店内售货亭供电,因此购物者可以轻松浏览目录。使用 Algolia Understand 支持的语音搜索,这种体验会变得更好。购物者也间接受益于 Algolia,通过商店员工的应用程序,他们可以浏览目录,为购物者提供建议,并实时检查可用性。
结论
由于为顾客提供完美体验的风险从未如此之高,Algolia AI 为他们带来了一种最终成熟的人工智能搜索方法。
只需点击几下鼠标,即可部署 Algolia AI,无需专门的搜索数据科学团队和基础设施。透明可控,让零售商完全掌控。
Algolia 如何创建其 Netlify 构建插件
原文:https://www.algolia.com/blog/engineering/how-algolia-created-its-netlify-build-plugin/
我们最近发布了 的 Algolia Netlify 插件 。你可以 阅读更多关于的插件,观看 的介绍,或者马上获得 的入门 。Algolia 是一个灵活的搜索和导航平台,能够提供尖端的网络、应用程序和电子商务体验。这篇文章深入探讨了我们是如何构建它的,并为 Netlify 构建插件的其他创建者提供了一些见解。
了解如何使用 Netlify 构建插件 或 创建自己的Netlify 构建插件。
什么是 Algolia Netlify 插件?
Algolia Netlify 插件是一种在你的 Netlify 网站上添加搜索的简单方法,让你只用几行代码就能添加 Algolia 搜索体验。一个好处是,设置完成后,插件提供的搜索结果会随着你的网站内容不断进化,每次你发布新版本的网站都会自动刷新,免去了维护搜索索引的麻烦。每当你发布一个新版本的网站时,这个插件就会触发一个爬虫来浏览和提取你网站的内容,并把它推送到 Algolia 索引中。
Diagram representation of the Algolia Netlify plugin flow.
我们如何建造它
该插件的目标是通过利用以下现有的 Algolia 产品,提供易于设置的网络搜索体验:
- 搜索 API,实际搜索引擎
- Crawler 是一个爬行网站的附加软件,它将网页内容提取为结构化数据,并将其推入 Algolia
- autocomplete . js UI 库
我们的主要目标是创建一个 Netlify 插件,在每次部署后,触发爬虫浏览网站并建立一个现成的 Algolia 索引。这听起来很简单,但是你会发现,为了提供出色的用户体验,有很多东西需要整合在一起。在接下来的部分中,我们将详细介绍每个现有的和新的组件所需要的工作。
阿果账号和认证
要使用 Algolia,首要要求是要有账号。然后,要访问 Algolia Crawler 界面,您需要专门的权限,通常手动激活。为了提供流畅的体验,并避免用户复制/粘贴令牌或请求访问,我们添加了一个新的登录选项:“使用 Netlify 登录”,它与 Netlify 的 OAuth2 API 集成在一起。当您使用您的 Netlify 帐户登录 Algolia 时,我们会自动创建一个 Algolia 帐户(如果您已经有一个帐户,则链接它),并授予对 Algolia 爬虫界面的访问权限。我们还检索并存储一个 Netlify 令牌,我们稍后会用到它。
Screenshot of the Algolia login options, with a new Netlify login button.
爬虫 UI 更新
我们需要为用户提供一个报告界面,让他们知道爬虫在他们网站上的行为。为了让这种体验更流畅,我们给 Netlify 用户提供了对现有爬虫界面的访问,并做了一些调整。
为了管理可用的工具,我们引入了一个新的“Netlify”角色,该角色提供对一些高级配置屏幕和我们提供给普通客户的大多数高级调试工具的访问。
这个 Netlify 角色还授予对一些额外页面的访问权限,这些页面是专门为插件开发的,只对 Netlify 用户可用。这些页面允许管理网络站点上的插件安装。它们使用我们在身份验证期间检索的 OAuth 令牌与 Netlify API 对话,列出用户的站点,并在插件安装在其中一个站点上时将必要的 API 凭证推送给 Netlify。
API 更新
我们已经有了一个公共 API 来以编程方式管理爬虫。我们需要的是一个额外的端点,当一个网站被部署时,专门用于网络任务:
- 如果不存在爬虫,则创建一个爬虫(我们为每个分支创建一个爬虫)
- 根据“netlify . toml”中设置的选项更新设置
- 运行实际爬行
当在 Netlify 上触发构建时,调用此端点。
多亏了 OAuth 令牌,当你从我们的 Crawler 接口安装插件时,它受到自动添加到你的 Netlify 站点的环境变量中的凭证的保护。
数据提取
Algolia Crawler 最初被命名为 Algolia Custom Crawler,因为数据提取可以完全定制。事实上,我们的爬虫使付费用户能够完全控制使用“recordExtractor”函数提取的数据,这是一个您必须自己实现的 JavaScript 函数。它通过一个 Cheerio 实例公开每个被访问页面的 DOM,您有责任提取数据并返回结构化记录:
recordExtractor: ({ $, url }) => {
const hierarchy = $('.breadcrumb > ul > li > a')
.map((i, el) => $(el).text())
.get()
const content = $('#main-content .section-main p')
.map(function() { return $(this).text() })
.get()
.join(' ');
return [{
url,
hierarchy,
content,
}];
}
这是一个产生卓越结果的高级功能,因为我们的每个客户都可以创建一个为其网站量身定制的功能,并准确提取所需的数据。
对于 Netlify 插件,我们希望提供一个通用的解决方案来处理大多数网站,并且不需要任何代码或高级配置。面临的挑战是每个网站都非常不同,即使 HTML 现在提供了许多 标签来构建页面的内容 ,大多数网站仍然主要依靠传统的divs
。这使得提取实际内容和去除其余内容(菜单、页脚等)变得更加困难。
没有什么神奇的方法可以做到这一点。解决方案是从一个简单的提取功能开始,尝试从每个页面的多个位置提取内容,并在真实的网页上进行测试。从那里,我们可以识别共同的模式并进行迭代。为了确保提取过程中的每个修改都是有益的,我们花时间制作了各种网页的快照(当然是托管在 Netlify 上的!),对它们运行提取器并创建提取快照。这样,每当我们调整提取算法时,我们就能立即看到它破坏或改进了什么:
前端捆绑
卓越的搜索体验中的一个重要部分是显示搜索结果的前端,它总是由网站维护者来构建和集成。在 Algolia,我们有许多可用的库来帮助我们的用户完成这个过程,但是有了 Netlify 插件,我们希望这个步骤更加容易。既然我们知道提取的记录的结构,我们决定基于autocomplete . js构建一个预打包的 UI,这是一个非常轻量级的自动完成库,我们在内部开发,多年来一直使用它来构建DocSearchUI。
结果是,通过复制/粘贴你的网站代码中的那几行。。。
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@algolia/algoliasearch-netlify-frontend@1/dist/algoliasearchNetlify.js"></script>
<script type="text/javascript">
algoliasearchNetlify({
appId: '<YOUR_ALGOLIA_APP_ID',
apiKey: '',
siteId: '',
branch: 'master',
selector: 'div#search',
});
</script>
。。。您最终会看到下面的用户界面。
当然,为了使设计完美地适应您的网站,我们仍然建议构建您自己的网站,但我们相信这种预打包的 UI 是一种在几分钟内开始的好方法。当然,我们公开了一个主题属性,让您调整颜色。
Screenshot of the front-end bundle in action.
实际插件
Algolia Netlify 插件的最后一部分是…实际的插件本身!
创建一个网络插件是一种流畅的体验。Netlify 的 API 和工具非常完整且易于使用,我们可以看到它是为 Algolia 等 API 服务而设计的。我们插件的核心可以总结为下面的 API 调用:
function onSuccess(params) {
require('https').request('https://crawler.algolia.com/api/1/netlify/crawl', { method: 'POST' }).end();
}
但是当我们实现了初始版本后,onSuccess
构建事件 就不可用了。构建触发的最后一个事件是onPostBuild
,它在构建之后、站点发布之前触发。由于我们的插件是为了抓取现场网站,我们需要一个后来的事件。我们联系了 Netlify 团队,他们非常积极,很快,onSuccess
事件对我们的插件可用。正是在这个阶段,插件调用我们的爬虫 API 来触发爬行。
注意:Netlify 团队目前正在开发onSuccess
事件,将来该事件触发的时间可能会改变。关注围绕该主题的产品更新!
由于完整的抓取需要时间(取决于每个网站的页面数量),该插件不会阻止构建过程,并在后台继续。
开发发布
我们决定将插件代码和 UI 代码放在同一个库中。我们还添加了一个包含静态测试网站的目录。
Screenshot illustrating our code repository structure, showing 3 directories: “frontend”, “plugin” and “public”
这使我们能够集中开发和发布脚本。由于Netlify CLI允许在本地模拟一个 Netlify 构建,我们能够设置一个单独的 yarn dev 命令,它:
- 在前端运行开发版本
- 服务于一个测试网站,该网站使用开发前端
- 触发运行插件本地版本的网络构建,并可以调用本地爬虫
发布类似:Netlify 插件通过 npm 的公共注册表发布。前端分布有jsDeliver,同样依托 npm 的公共注册表。至于我们的 测试网站 ,当然是托管在 Netlify 上。这意味着每次我们在 GitHub 上发布所有最新的变化,测试网站都会更新。发布过程可以总结为 3 个步骤:
- 运行我们的 发布脚本 ,构建 Netlify 插件和前端,发布到 npm 上;
- 推送 GitHub 上的所有变更;
提交新版本插件 供 Netlify 团队验证。
最近的变化和增强
如果你在 10 月份试用过该插件的第一个测试版,我们已经做了很多改进和润色!因此,我们想以 v1 中包含的所有变化的总结来结束本文。试试吧!
- 执行页面 JavaScript 的新选项;
- 📑提取模板,每页提取多条记录,与 DocSearch UI 兼容;
- ✨我们的预建 UI 现在使用autocomplete . js v1,完全重写了我们的自动完成库;
- ⚙️支持跨分支机构的自定义 Algolia 指数设置:您对主指数设置所做的所有更改都将传播到新的分支机构;
- 💻建立一个自定义域的可能性。
结论
对于 Algolia 来说,在 Netlify 团队的帮助下构建插件是一次值得的经历;我们会推荐给其他 SaaS 公司。这项工作很有趣,因为涉及到许多不同的组件,Netlify 工具使用起来很愉快,他们的团队反应很快,一路上都在帮助我们。
现在退一步讲,我们真的认为 Netlify 构建插件非常适合集成像 Algolia 这样的服务。
最后对大家都有好处的是:
- Netlify 可以为其用户提供一个免费且易于设置的搜索功能
- Algolia 可以向 1M 网络开发者 展示其产品
- Netlify 用户还有另一个插件可以用来建立他们的 Jamstack 站点
基于所有这些原因,我们鼓励其他 SaaS 公司也开发他们自己的 Netlify 插件!
Algolia 如何帮助电子商务网站搜索改善网站搜索 UX
原文:https://www.algolia.com/blog/customers/how-algolia-helped-improve-ux/
几年前,当我偶然发现 Algolia 时,我知道这将是我的生意难以置信的,MyCreativeShop.com。作为一个小企业主,提高效率对我来说非常重要。我知道 Algolia 可以把我的工作卸下来,而且比我们做得更好。
我可以详细谈论 Algolia 帮助我们解决的技术问题,但最令人兴奋的部分是为搜索引擎优化我们的网站。我们的业务很大程度上依赖于高转换页面的入站流量。考虑到这些代码对业务的重要性,它们背后的代码是不可靠的。Algolia 帮助我们创建了一个高效、干净的代码库,创造了一个更好的用户体验,并维持了我们一直努力赚取的搜索流量。
如果你运行一个电子商务网站,你知道一个大的产品目录创造了很多搜索引擎优化的机会,但也有很多挑战。在我们实施 Algolia 之前,我们一直在与缓慢的浏览体验、不准确的结果和不太理想的页面搜索引擎优化做斗争。
这些是电子商务网站常见的 SEO 问题(只是冰山一角)。我对这个话题有独特的看法,因为我是 MyCreativeShop.com的企业主和首席开发人员(是的,我们是一个相当小的团队)。这意味着我必须了解 SEO 的商业含义,并在杂草中做出改变。
但是不管你的公司规模有多大,解决这些问题的困难通常都是一样的:
作为企业主,我要求用户体验非常好,绝对没有搜索引擎优化风险。交通的每一点都很重要,这也是我关注的焦点。作为开发人员,我总是看到新的闪亮的工具,我渴望利用它们,特别是当它们使我的生活变得更容易时。我重视编码的效率,但不可否认的是,我并不总是能看到代码在业务大局中的位置。
我立刻意识到,阿尔戈利亚可以让两个角色都开心——真的开心。方法如下:
- 对于企业主 : Algolia 让您的开发团队能够灵活地创建用户体验,并以最适合您的公司和客户的方式实施页面 SEO。把它想象成一种工具,它允许你的开发团队准确地交付你或你的设计团队所设想的东西,但是只需要很少的时间。它可以无限扩展,并且始终可用。
- 对于开发者来说:仅仅为了满足管理层看似疯狂的需求而害怕定制产品目录的日子已经一去不复返了。作为一名开发人员,我知道在一个过时的产品目录环境中工作的痛苦,这太可怕了。将你的数据集转移到 Algolia,并开始使用他们的有据可查的 API 来处理一切与搜索和目录相关的事情。集成的容易程度令人难以置信。
当我开始集成 Algolia 时,我清楚地意识到这将给我们带来难以置信的灵活性。我花了一天时间——是的,实际上只有一天——将我们的数据与 Algolia 整合在一起。四天之内,我扔掉了旧的目录代码,并从头开始重写了目录中的所有内容。一旦我们的数据被同步,我可以使用难以置信的 API 来支持我们所有的目录搜索、浏览和过滤,这在历史上是非常难以管理的。很快,搜索结果的速度和准确性的任何问题都消失了。
更多浏览量,更多流量,更多生意
从技术角度来看,迁移到 Algolia 很容易,但业务方面呢?
自从整合以来,我们看到登陆我们产品目录的访问者转变为付费客户的比率比以前高出 38%。我们将此归因于浏览产品的速度。此外,由于更好的用户体验,每个会话的页面浏览量增加了 200%以上。
Algolia 允许用户利用“前端搜索”或“后端搜索”(你可以在这里阅读每一个)。我们使用两种搜索方法的组合,因为我们在网站和应用程序的多个领域提供搜索。
我们网站最关键的部分就是我们的 设计模板 。这些页面驱动高意向流量,是驱动新客户的关键。至关重要的是,这一部分的所有页面——模板页面、类别页面和搜索结果页面——都经过了很好的搜索优化。我们需要能够控制页面上的搜索引擎优化下降到微小的因素,如网址结构。
对于我们的前端设计模板,我们认为 后端搜索 对我们来说是最明智的决定,原因如下:
- 从页面搜索引擎优化的角度来看,它消除了所有风险。
- 今天的热门术语是“服务器端渲染”,或 SSR。以这种方式使用 Algolia 允许在服务器上生成我们的 HTML(真正的 SSR ),然后显示给浏览器,确保所有的网络爬虫都以同样的方式看到它。
- 这给了我们一定程度的信心,因为我们确切地知道爬虫正在分析什么。
- 它允许我们维护我们现有的 URL 结构,这是至关重要的。
我们还在有密码保护的网络应用中使用搜索功能。SEO 不是一个因素,但是用户体验非常重要。为此,通过 Algolia 的 instantsearch.js 库 进行前端搜索是显而易见的选择,因为:
- 快得不可思议
- 有内置的小工具可以帮助我们快速构建用户界面
- 我们没有 SEO 问题,也没有需要维护的传统 URL 结构。
短短几周内,Algolia 让我们能够创造出我们想要的用户体验。速度和准确性显著提高。我们可以精确控制显示结果的方式——通过使用真正的服务器端渲染(SSR)方法,或者通过利用 Algolia 令人敬畏的 instantsearch.js 库 。
对我来说,这种灵活性是 Algolia 真正的无名英雄。它让我们睡得很好,因为我们完全可以控制客户如何与我们的产品目录进行交互,以及爬虫如何查看结果。
如果你正在纠结于产品导航和搜索,给 Algolia 看看。你会惊奇地发现曾经困难的事情变得如此简单。
增加您的客户群,通过推荐建立他们的忠诚度
你已经在发送 Algolia 点击和转换事件了吗?如果是这样,那么你就可以开始向顾客展示推荐的产品了。
我们都曾在网上购物时看到并点击过推荐。只要我们向购物车中添加一件商品,就会提示我们继续购买经常一起购买的商品。
仔细看看。这些建议可能是由 Algolia 推荐提供的。
当在线商店以非侵入性和及时的方式建议相关商品时,消费者会很感激。想想珍妮弗,她正在为她的病狗 露娜 找床。她找到一张完美的床,并把它放入购物车。然后,她注意到一个“经常一起购买”的部分,推荐狗套、枕头和其他可以安慰生病的狗的配件。珍妮弗也可能看到其他狗主人为他们心爱的宠物买的物品。
这就是 Algolia 如何推荐 增加你的客户的篮子大小和价值,同时改善他们的体验和忠诚度。
但是 Algolia 怎么知道该推荐什么呢?Algolia 知道 Jennifer 是宠物主人还是知道 Luna 生病了?
简单的回答是否定的。Algolia 对 Jennifer 一无所知,只知道她在遵循一种基于相似顾客的相似购买行为的消费模式。许多像 Jennifer 一样的顾客已经搜索、点击和购买了类似的产品..
虽然这听起来很简单,但要混合和匹配客户想要的东西,实际上需要大量数据和精心实施 人工智能驱动的机器学习 才能做到这一点。
通过收集用户行为(基于事件的分析)和训练模型来展示特征来推荐作品比如: F 频繁一起买 、 潮流单品 、T 软管谁买了这个还买了 。这些模型经过精心设计,符合客户最初的购买意图,从而保证客户继续购物的可能性更大。可以想象,只有最相关的推荐才能推动财务增长和客户忠诚度。
有了阿果推荐你可以显著提高你的经营业绩
在告诉你如何设置它之前,让我们看看正确的推荐如何能够带来更多的追加销售、交叉销售和整体客户忠诚度(询问 亚马逊 )!)
Gymshark通过在其 Algolia 搜索实现中添加 Algolia 推荐,提高了其收入。Gymshark 的成功指标:
- 在黑色星期五,新用户的订单率增加了 150%,而“加入购物车”率增加了 32%
- 回头客的订单率和“加入购物车”率分别提高了 13%和 10%
- 每用户 1.4 次点击,而之前的解决方案为 1.1 次点击
Gymshark 增加了 Algolia 推荐来应对至关重要的黑色星期五。我们发现,在黑色星期五或圣诞假期等大型购物活动期间训练您的推荐模型,将有助于您及时了解购物者的行为,以迎接下一个大型活动。
你需要做的就是开始训练模型!
下面推荐四个步骤。
- 捕捉用户活动(事件)(已经被大多数客户捕捉 )
- 将这些事件数据发送给 Algolia ( 已被大多数客户发送 )
- 启用仪表板上的 Algolia 推荐,并让它开始在后台生成推荐
- 向您的用户显示推荐
发送质量数据
尽管大多数客户已经在发送 Algolia 分析(步骤 1 & 2)。但是,仍然有必要回顾一下这两个以数据为中心的步骤,因为它们提供了决定您的建议质量的原始数据。
步骤 1 & 2 完全由客户控制。客户通过捕获 重要的 用户活动(事件)来建立他们的分析数据集。这意味着您必须小心捕捉对您的业务“重要”的行动。当然,购买历史几乎总是相关的,但是购物车呢?还是分类页面?刻面?
本质上, 你要跟踪所有你认为很有可能导致转化的用户行为。
好消息是,Algolia 附带了一个 分析仪表板 ,你可以用它来测试你的分析数据的质量。
启用推荐——一切就绪
一旦你发送了重要的用户操作(这里有一个 大列表 ),那么你需要做的就是在 Algolia 的仪表盘中启用推荐(步骤 3),让机器运转起来。当你发送事件时,Algolia 会完成剩下的工作——它会将这些事件输入到它的机器学习模型中,并生成一组可靠的建议。
https://www.youtube.com/embed/0B5Sd3G4NeI?feature=oembed
视频
在短时间内——可能是几周,这取决于你网站的活动——你可以开始向你的用户显示这些推荐(步骤 4)。下面是一些 撬动推荐 的强大方法,以及关于 如何显示推荐 的概述。
底线
如果你能提供很好的建议,确保你的客户之旅是愉快的,没有压力的,你就能建立客户忠诚度,这将改变你的业务底线。
我们强大的推荐 API 和人工智能驱动技术将快速无缝地改善您的用户体验,提高您的网站和移动应用的转化率。
了解领先的电子商务零售商如何利用人工智能推荐引擎的功能来超越和 转变 他们的数字销售目标。联系我们,让我们开始行动吧!
企业如何从个性化和产品推荐中获益
今天的消费者被铺天盖地的选择所包围,这些选择让他们感到不知所措,并导致购买者麻痹。在无穷无尽的条目中滚动可能会感到耗时且毫无意义,或者让客户感到疑惑: 有了所有这些选择,还有其他更适合我的吗? 最终他们被困在销售漏斗中,或者在优柔寡断中放弃他们的购物车。
推荐(一种个性化的形式)可以提供更好、更有针对性的体验,有助于缓解这种压力。对于企业来说,整合推荐也是非常有益的。例如,Algolia 的客户 Gymshark 看到了 Algolia 推荐产品的采用改变了他们的业务:在 2021 年黑色星期五期间,订单率增加了 150%,“添加到购物车”率增加了 32%。
除了 Algolia 的客户,推荐在一些全球领先网站的转化率中占了很大比例:
- 人们在 YouTube 上观看内容的 70%
- 消费者在亚马逊上购买商品的 35%
- 80%的人看好网飞
更好的用户体验,更好的业务成果——双赢。现在,让我们进一步探索推荐的好处。
在看我们的《我们为什么推荐推荐》文章
在 中,我们关于 Algolia 的推荐 的文章中,我们讨论了庞大的信息量是如何让人们花费时间去寻找他们想要的东西,而不是享受它。我们的工具旨在使搜索体验更快、更直观、更相关。这有助于企业改善客户与其网站的互动,并带来其他一些好处。
正如我们在文章中提到的,推荐通过显示相似内容、相关和热门产品以及经常一起购买的商品来简化体验,帮助人们找到他们想要的东西,而不必在页面和搜索之间来回跳转。此外,当用户返回网站时,他们的内容会根据您的客户之前的交互进行微调,以帮助他们找到他们想要或可能喜欢的东西,而无需无休止地滚动、从一页跳到另一页,或者必须尝试多个搜索词。
现在的问题是,当他们的客户现在拥有这些更好、更丰富的在线体验时,企业还能看到哪些好处?
商家如何从个性化和推荐中获益?
在我们深入研究个性化和推荐的商业好处之前,让我们先简单看两个体验:
第一缺乏推荐。一位潜在客户需要一张新桌子,可能还需要一些物品来搭配他们正在设立的家庭办公室。在一个办公家具和用品网站上,他们输入搜索词“白色办公桌”有超过 600 个结果。前几个是多种多样的,从大小到风格都有。用户点击他们喜欢的,决定这不是他们想要的,然后点击返回箭头。他们一直这样做,直到他们厌倦了一遍又一遍地向下滚动到页面的底部。选择太多了,他们找不到任何灵感。他们还在筛选大量不符合标准的白色办公桌。试图记住上一页结果中是否有他们喜欢的东西变得势不可挡,所以他们最终没有做出决定或购买就离开了。
第二次体验,网站有推荐产品的能力。在用户点击他们喜欢的第一张桌子后,他们能够从同一个页面导航到具有相似风格和尺寸属性的相似产品。推荐的相关产品有各种价位,外观也各不相同,足以让浏览变得有趣。每个页面还包括每个系列中其他产品的链接,让他们可以轻松找到匹配的文件柜和搁架单元,以及经常一起购买的物品。购物者保持足够长的参与时间,不仅选择要购买的桌子,还会添加书架和台灯,并将办公椅放在他们的收藏夹列表中,以便他们将来可以再次访问。
当我们谈论提供个性化和推荐如何让企业受益时,请记住这两种体验。
体验丰富推荐优惠:
更好的客户体验
时间是一种宝贵的商品,做出直接决定的能力也是如此。有太多的选择。尽管消费者可能并不完全理解,但个性化在确定什么最能满足他们的需求方面发挥着巨大的作用。想象一下流媒体视频服务。看到与你喜欢的节目和电影最接近的内容不是比在整个内容目录中筛选更容易吗?
另一种看法是,喜欢推理小说和惊悚小说的人不太可能花时间浏览书店的历史非小说类图书区——他们会径直走过去找到他们最喜欢的部分。在这种情况下,他们为自己个性化的东西。然而,他们也知道该部分就在那里,如果他们需要它做一些特定的事情。
有了类似 Algolia 的推荐 这样的推荐工具,算法帮助过滤、策展、增强体验。他们帮助顾客从他们不感兴趣的部分中找到他们喜欢的东西。本质上,你把更容易吸引他们注意力的东西放在他们面前,同时节省他们的时间,让他们更容易做出购买决定。
更好的网站互动
在上面的第一个体验示例中,用户不知所措。他们很快离开了网站,这意味着他们没有订婚。在第二次体验中,顾客非常投入地寻找适合他们的多种商品。这是因为他们采取的行动带来了帮助识别和展示他们感兴趣的项目的洞察力。
增加购物车值
个性化和推荐可以增加购物车价值。我们这样做的一个方法是帮助企业在一个页面上突出相关产品和经常一起购买的商品。假设一位潜在客户正在看一台浓缩咖啡机,他们发现根据浓缩咖啡机产品页面上的建议购买一些配件和清洁工具会很有帮助。在一个有推荐的网站上,任何商品都可以出现在顾客正在浏览的任何页面上。每当你为顾客提供更多感兴趣的商品,以补充他们的购买时,购物车价值增加的机会就会出现。
提高销售转化率
当潜在客户看到他们喜欢的商品时,他们更有可能推进销售漏斗,这在企业使用推荐工具时更有可能发生。在当前注意力持续时间较短的时代,另一件需要考虑的事情是,向某人提供目标内容的速度越快,他们完成购买的机会就越大。我们看到这种模式在 Algolia 的许多客户身上反复出现。Gymshark再举一个例子,使用 Algolia 的推荐来提高收入,最大限度地提高转化率,同时增加目录浏览量。
客户忠诚度
当有人对某个网站有正面体验时,他们会找到自己喜欢的商品,并发现其他感兴趣的商品,这样他们就更有可能再次光顾。你节省了他们的时间,通过关注他们的兴趣让他们参与进来,这让他们感觉很好。最重要的是,他们更有可能成为你的品牌和业务的拥护者,把他们的朋友和家人介绍给你。
集成阿洛推荐
即使知道推荐的好处,企业也会发现整合这些功能的任务令人望而生畏。 阿果的推荐 真正做到了游刃有余。我们的产品可以快速集成和部署,并且简单易用。一旦被采用,Recommend 将为其用户提供重要的见解,并为公司提供一种过滤方法,使他们能够提出最适合其业务和客户的建议。
在你的网站上拥有这些功能会带来最后一个好处——保持竞争力。在我们的 电子商务趋势报告 中,在接受调查的 900 家零售商中,只有五分之一声称他们的 用户个性化搜索和推荐 功能。因此,在你的网站上有一个强大的推荐功能可以转化为一个关键的竞争优势,帮助你的企业从竞争中脱颖而出。
当你了解你的顾客并给他们他们需要的东西时,他们会继续回来。为了获得个性化和推荐的力量, 报名免费试玩推荐 和/或 伸手获取试玩 。
搜索和发现如何提高在线市场的投资回报率
新冠肺炎疫情引发了人们购买商品和服务方式的范式转变。随着消费者从室内公共场所撤离,许多实体店关门,人们被迫在网上市场购物。
这对电子商务市场产生了重大影响,这些购物网站拥有多家第三方供应商。随着在线需求的突然激增,在线市场意识到他们需要升级其功能,以满足消费者对现代、高效购物和购买、快速页面加载和个性化购物体验的期望。
一个好的电子商务市场平台能尽快将潜在买家与他们需要的产品或服务联系起来。基于人工智能的搜索和发现技术确保电子商务市场供应商可以直观地分类和展示产品,从而使人们的购物之旅更加有益和成功。
什么是电子商务市场中的“搜索和发现”?
搜索和发现是帮助在线购物者在电子商务市场网站上找到并购买他们想要的产品的两种行之有效的方法。
搜索:直奔一项
在在线市场中,搜索栏通常是人们寻找待售商品的起点。搜索领域可以说是电子商务网站上最强大的工具,因为没有它,消费者无法快速找到他们想要的产品。这是因为供应商不能像在实体店那样展示产品,而且没有销售助理的指导,买家很容易感到沮丧并离开网站。
发现:浏览和获取想法
在电子商务市场,消费者不一定会冒险去网上直接购买一件特定的商品。就像他们走进实体店时可能做的那样,他们可能只是浏览:注意出现在他们面前的他们感兴趣的商品。
由于潜在的电子商务客户不能四处闲逛和触摸实物,成功购物可能会更加困难。所以对于那些不太清楚自己想要什么的人来说,第二个成功的数字市场技术是发现。
产品发现使购物者能够通过直观的旅程找到并探索第三方卖家的产品。它通过分类来工作——分类和展示物品来反映在线顾客的浏览方式。最初,数字市场平台技术仅使用一些产品属性,如颜色和尺寸,来对产品进行分类。然而,随着供应商收集了更多关于客户购物过程的细节,他们开始以更复杂的方式对产品进行分类,从而实现更好的个性化。
市场搜索和发现的例子有哪些?
假设两个人想给女朋友买生日礼物。购物者 A 很清楚她在寻找什么:一件鸡尾酒会礼服,因为她的朋友提到过想要一件。她跳上流行的服装市场平台,如 Poshmark,并使用搜索栏寻找完美的服装。她看到了各种搜索结果,在一家网上商店,她选择了一件她认为她的朋友会喜欢的可爱的衣服。
顾客 B 不知道该送生日女孩什么。她知道她的朋友喜欢红色和穿着时髦的衣服。她去了亚马逊这样的普通在线市场,那里有大量的产品类别。使用服装属性菜单,她选择了过滤器“红色”和“女装”
她的屏幕上显示了数百个红色的服装商品清单。不知所措的她看到产品页面是按场合组织的。她记得她的朋友在社交媒体上提到她需要一件鸡尾酒礼服。她通过“晚装”进行过滤,并显示了一个由各种市场卖家提供的三款红色连衣裙的列表。她查看了商品详细信息,然后选择了一个商品并将其添加到购物车中,准备结账。
然后她注意到一件她可能会喜欢的可爱的红色夹克,并想知道它是否有蓝色的……于是她开始了另一次购物探索之旅。
在电子商务市场中,搜索和发现有什么好处?
跳出率较低
如果网上商店的购物者在 15 秒 内找不到他们想要的东西,他们就会离开。一个无法向供应商的潜在客户提供正确产品的数字市场将会有很高的跳出率,因此电子商务供应商能够将购物者与他们想要的产品联系起来至关重要。
快速定位产品
作为一名在线卖家,要想实现电子商务销售,你需要让潜在客户热情地浏览你的网站,然后迷失在更多的浏览中。同样重要的是,您希望他们能够快速找到他们想要的产品。搜索和发现功能确保客户可以在闲暇时浏览网站和浏览项目,并快速访问特定项目。
更好的客户体验
正如我们提到的,在线市场平台很难创造出令人满意的客户体验,这是可以理解的。他们没有实体店老板可以支配的那些花哨的东西——吸引人的元素,如诱人的新产品橱窗、店内香味的使用、产品展示和试衣间。这些方面都为顾客创造了潜在的吸引人的、非常令人满意的体验,让他们从浏览到成功购买,然后带着乐观的心情离开商店。
在某种程度上,电子商务市场平台可以复制有趣的购物,例如横幅广告和漂亮的产品照片,但提供良好的在线零售体验总是更加困难。因此,搜索和发现是让网上购物者更感兴趣的方式,给他们享受探索所需的自由和工具。
满足潜在客户的期望
自新冠肺炎疫情开始以来,客户对市场平台的期望一直很高。在数字领域,人们越来越依赖电子商务网站,零售商之间的竞争也越来越激烈。
尤其是对年轻一代来说,电子商务已经成为常态。2021 年, 28%的 Z 世代和 24%的千禧一代 报告称他们更喜欢网购。老一辈的人——他们中的许多人仍然很脆弱,或者更喜欢远离实体店——继续依赖电子商务网站。因此,为潜在客户提供卓越的网上购物体验不是额外的奖励,而是必须的。搜索和发现技术是电子商务市场成功的关键。
底线
您可以使用搜索和发现技术来:
- 为您的市场客户群创造直观的旅程
- 通过有效的搜索工具将目标导向型消费者与他们需要的产品联系起来
- 为专注于目标的购物者加速网上销售之旅,同时给不太专注的购买者提供仔细阅读的机会
搜索&探索是为了让潜在买家在全球市场上更有竞争力。不管有人喜欢使用你的电子商务平台的方式,你可以确保潜在客户有一个清晰直观的路径。
Algolia 凭借 领先的搜索和发现技术 助力电子商务市场的成功。报名参加 免费试用 ,今天就开始。
「经常一起买」如何提高 ROI?
想象你一直在 Wayfair 网站上为你的狗狗 Luna 阅读狗狗沙发的产品评论。你把一件商品,一个包括抱枕的豪华沙发,放进你的网上购物车。然后,你注意到一个“经常一起购买”的庭院伞推荐。
嗯。这件商品是应该放在户外,如果需要的话,露娜可以在伞下休息时晒晒太阳,还是 Wayfair 经常购买的推荐算法有什么古怪?
或者在家得宝(Home Depot)网站上,你在购物车里放了一个钻头,然后注意到“经常一起购买”( FBT)产品”部分似乎有点古怪……它暗示了 巨型庭院 Pong 或 rose bundt pan 以及其他一些几乎不相关(如果与钻头有关的话)的商品。你想做的只是修理一个松动的架子,现在你正专注于举办一个花园派对和烤一个蛋糕。家得宝有你需要的一切。
或者,你可能有过经常一起购买的电子商务经历,在这种经历中,看似随机的东西被建议与你正在考虑的东西搭配。
你仔细看了看,然后开始怀疑这些所谓的相关产品。电子商务网站的建议产品捆绑算法被破坏了吗?过度劳累的机器人精神崩溃了吗?本该学习的机器却在开关前打盹了吗?
或者也许 你是 实际上是有智力问题的可怜的笨蛋——也许这个算法真的非常了解哪些看似不相关的商品通常会被购物者一下子拿走,因为它可以看到大量令人难以置信的数据。如果是这样的话,那么也许你实际上需要一些庭院乓,只是还没有意识到有多糟糕。
值得怀疑的判断是不是出了问题
完全有可能不是你。众所周知,网上商店会将令人挠头的商品配对,努力进行追加销售&交叉销售(Reddit 上有一个字符串证明了这一点)。谁知道这种匹配是如何或为什么会持续下去,但它确实发生了。如果没有别的,它让你开始思考并试图猜测为什么推荐引擎会把这两个项目联系起来。
不管奇怪的联想会不会发生,如果你是一个在线零售商,你不会希望在推荐产品时被发现这种失礼行为。
如果你对 FBT 的工作方式有所了解,你可能还会傻笑,认为 fbt 非常简单,很难搞砸。毕竟洗发水+护发素,登山鞋+背包?如果你的顾客购物车里已经有绿色鸡蛋,他们真的应该考虑一些火腿。这能有多难?
不过,一个更好的问题是,你的在线销售额中有多大比例来自经常一起购买的推荐。如果答案是“没有”或“我不知道”,或者在任何情况下都是非常小的百分比,请继续读下去。
亚马逊再次出击
也许你听说过亚马逊广为流传的统计数据:该网站 35%的销售额来自其先进算法产生的推荐。如果亚马逊可以做到这一点,那么其他电子商务零售商很可能会利用频繁购买的推荐来改善他们的用户体验,并获得更多收入。该技术可广泛获得;你只需要知道为你的行业和潜在客户实施它的最佳方式。
目标:回报高得多
经常一起购买的产品推荐策略依靠 协同过滤 。它在被查看的单个商品或产品组合的上下文中起作用(例如,当人们在查看他们的购物车页面和通过结账之前可能继续浏览其他类别和商品时,他们在他们的购物车中藏了什么)。
如果你是一个精明的零售商,你知道如果你能让人们相信,如果他们为了安抚他们的FOMO】而购买的不仅仅是一件相关商品,而是一整套概念上相关的推荐产品,他们会更开心,那么你就有可能将转化率提高很多。
这就是频繁购买的全部意义:投资回报率大幅提高。提出正确的建议来增加顾客的购买乐趣,可以带来一系列的追加销售(也许还有一些交叉销售)。
谁在看什么?
典型的电子商务经常一起购买部分推荐其产品页面经常被其他客户访问的商品。像其他类型的在线推荐一样,追加销售功能是基于经常一起购买的商品相互补充的假设,因此提供额外的相关信息可以提高您的购物车容量和平均订单价值。
乍看之下,零售商可能会认为他们所要做的就是根据人们将其他商品和他们的主要商品一起放入购物车的次数来对它们进行排序,然后在一个容易注意到的小部件中设置为从商品列表的顶部单击推荐附加商品。
逻辑假设,但没那么简单。
要薯条配那个?
为什么更复杂?因为有些日常用品是 自然 经常一起买(想想 咖啡和甜甜圈 )。
你希望人们购买比他们已经放入购物车的东西更多的东西。如果没有足够的关注和更高层次的策略,在自动驾驶仪上,你可能会建议自然搭配作为经常购买的商品。显而易见的商品建议会占据产品详情或结账页面上有限的促销空间,这样技术上可能不太受欢迎但与产品有更强促销联系的商品就无法被浏览。
因此,要让人们点击“添加到购物车”按钮,然后购买他们积累的商品,从而提高转化率,有一个解决方案:一个有效的经常一起购买的应用程序或网站功能可以平衡普遍受欢迎(技术上来说是最经常一起购买)的商品与其他商品页面不太频繁但从兼容性角度来看仍然值得购买的商品的追加销售。
你可以通过最大化你经常购买的质量建议来解决这个问题。例如,Algolia 推荐着眼于用户购买目标路径上的 转换事件 。如果同一购物者在同一天向两个或两个以上的商品注册转换,则认为这两个或两个以上的商品是一起购买的。
如何频繁答对
将您经常购买的商品推荐在一起意味着查看细节,并根据需要对这些元素进行微调:
- 你对什么会让 FBT 有可能在你的特定网站上成功的理解 。现在你差不多读完了这篇文章,你有了一个好的开始。
- 你的算法。 关键是能够做出智能的相关商品推荐,引起购物者的共鸣,从而推广值得他们关注和拥有的高质量商品。
- 你的顾客的购物体验。 你的 FBT 推荐必须出现在最能吸引购物者眼球的地方。你的顾客一定会觉得在你的网站上是一种享受。如果你能提供很棒的经常一起购买的推荐,同时确保顾客的旅程是愉快的和没有压力的,你就准备好了。
- 您的整体相关产品战略 和实施,该战略应面向创造强大的用户参与度。
- 你的开发者诀窍。 这里有一些 的技术提示 来帮助你的团队成功应用你频繁购买的方法。
- 你的耐心水平。可能需要一些时间、精力和烦恼来找出哪些 FBT 技巧是有效的,并能引起用户的共鸣。当你的 aov 开始飙升时,你的坚持是值得的。
- 你的选择。 不必单干。如果你担心在你可能并不精通的领域陷入困境,考虑一下与在线购买推荐专家合作的好处。
如果您确定您还没有准备好提升您经常一起购买的解决方案的学习曲线,如果它太复杂或者您的开发人员和支持团队没有时间处理它,我们希望您考虑采用我们成熟产品的优势, Algolia 推荐 。
我们强大的 API 将让您快速、无缝地在您的网站和移动应用上实现搜索,包括为您的产品类型提供出色的常用功能。
现在就做好准备,通过经常一起购买的推荐来提高投资回报率。 联系我们 滚!
相关产品推荐如何提高用户保持率
原文:https://www.algolia.com/blog/ux/how-can-related-product-recommendations-boost-engagement-and-roi/
假设冬天来了,你需要一件新外套。温暖的东西。一些时髦的东西。完全属于你的东西,比如你在社交媒体上看到的那件羊毛风衣。
你去你最喜欢的零售服装品牌的网上商店,在搜索框中输入“冬季外套”,浏览产品标签,最后仔细阅读一个看起来很完美的产品的详细信息页面。
然而,随着你对产品描述的深入研究,你得出结论,这件外套不是宝石。面料或颜色很奇怪,一些愤怒的评论家只给了它一颗星,因为质量低劣,或者你的尺寸早就卖完了。
织补。 产品数据有问题。也许你应该从这个网站跳到另一个网上商店,再试一次。
你可能会这样?
但是,当你滚动的时候,“你可能也会喜欢这个……”出现在你面前,伴随着更好的外套和一些夹克的缩略图。
你忍不住点击,然后再点击一些。好看的东西。你甚至可能会买一件这种光滑的皮夹克——显然不是你想在寒冷天气穿的那种——但是,见鬼,你看起来会很酷。
你喜欢这种购物体验,并且对它的运作方式感到满意。你可能一直在你最喜欢的零售商网站上看到相关的产品推荐,比如 Zappos,Wayfair,Best Buy,当然还有 Amazon。也许你甚至在做出购买决定之前专门搜索了一些相关产品,只是为了确保你已经考虑了最好的想法。
重要的是,你没有放弃网站,可能还进行了购买。
对于零售商来说,这就是相关产品推荐的力量。当公司能够有效地向顾客或订户展示相关产品时,他们的忠诚度和转化率会变得有点疯狂。
相关产品,收益更高
顾客上你的网站是因为他们喜欢你的产品。你可以通过向他们展示相关产品页面来传播爱意,从而延长他们与你在一起的时间。
根据sales force(2018):
- 在网上下单的购物者中,有 37%点击了推荐
- 那些点击推荐的人平均在网站上花了12.9 分钟, 相比之下,那些没有点击的人只花了 2.9 分钟
- 使用搜索并点击推荐的购物者转化**的频率是那些只使用搜索的购物者的 3.7 倍——在移动设备上转化 的频率是后者的 4.2 倍**
既然你已经知道它们可以惊人地强大,那就让我们确保我们在正式构成相关产品推荐的内容上达成一致。
它只是一个链接,链接到基于用户搜索或其他指标可能感兴趣的类似相关内容。以外套为例,其他外套和夹克作为推荐,还有围巾、手套、帽子等保暖物品。这种功能让潜在买家参与评估产品。
幕后有什么
相关产品推荐的秘密是一个精明的搜索引擎,它分析用户与不同产品的交互,从而得出这些产品之间的联系。然后应用定性数据,以便网站可以显示最有希望的推荐。
但不止于此。从某人的在线搜索和其他互动中收集的数据越多,他们的产品推荐就越准确。假以时日,零售商的搜索引擎会变得更加智能。它不会忘记你上周搜索的内容;它会深思熟虑地推荐商品,因为它会回忆起你之前的搜索。
你可能会发现这些想法很鼓舞人心,尤其是当这些想法与快速送货和免费送货等可爱的功能结合在一起时。难怪人们会收集数百份亚马逊快递。也许是时候开始去亚马逊匿名了?
推荐权的奖励
让你的相关推荐更接近顾客的需求,这是一种改善购物者网站体验的可靠方式。
以下是提供高质量相关产品建议的三个好处:
更高的购物者参与度
正如 Algolia clientAuto Mercado所发现的那样,电子商务客户参与和出色的购物体验密不可分。当相关的产品推荐以一种用户友好的方式展示出来时,客户就会被吸引到你的网站上四处搜寻,探索相似的产品,考虑所有的交叉销售和追加销售,并从那里入手。
A 级客户体验
我们怎么说都不为过……说到网上销售,出色的、个性化定制的用户体验会让人们不断回头。正如我们的客户波兰玩具销售商 诺斯基诺斯基 所发现的那样,易于浏览、位置恰当的产品推荐提高了购物体验的质量。当你能让购物者意识到什么是他们的完美商品时,你的工作就完成了。
令人印象深刻的转换指标
如果你能始终如一地展示出你了解顾客的需求,并且有适合他们的东西,他们就更有可能购买。推荐合适的产品是一种行之有效的提高转化率的方法。
做相关产品推荐权
你的电子商务网站还能成功多少?为了从推出相关内容建议中获得最佳效果,请考虑遵循以下指南:
保持左侧
听说过 横幅失明 吗?别担心,这不是什么可怕的眼病。人们倾向于忽略主要内容区域右边的内容,因为他们认为这是广告。网上购物的公众已经适应跳过这一领域。因此,正如国际象棋的格言“边缘上的骑士是暗淡的”,避开右边距。
不要走得太低
如果不是右侧的视觉荒原,您应该将相关产品建议的模板放在哪里?
肯定不是在 页面的最底部 。你的潜在客户不太可能在那个位置(可能在很远的地方)看到相关的产品部分。
放弃?相关物品推荐该何去何从?营销专家建议将 放在 产品内容的正下方。这是购物者期待的地方,也是他们最有可能点击的地方。
保持连接
如果一名购物者正在看搅拌机,并把其中一个放进购物车,但你推荐的产品显示是洗衣机,这两件东西中的一件与另一件不一样。他们会挠头,想知道你的附加算法中了什么。更糟糕的是,他们可能会忽略你的网站从这一点上提出的任何建议,无论是在主页上还是在结账时的购物车页面上。相关推荐一定是——你猜对了——相关的。
使用推荐专家
Algolia 推荐 在实现快速、可扩展的产品发现方面享有盛誉。因此,如果您准备好优化您的网站体验,我们的 API 已准备好为您的行业和购物者群专业地展示相关产品,这样您就可以开始降低跳出率,提高您的平均订单价值,并增加您的收入。 退房 。
你可能也会喜欢
我们的 故事 关于推荐
你的 分层定价 期权
我们的 联系方式**
为什么你的内容管理系统需要加强搜索
一个没有内容管理的世界会是什么样子?
作者需要将他们的内容放在静态 HTML 文件中,并上传到服务器。想要阅读这些内容的人将会面对一堆杂乱的编码文本,让他们看得眼花缭乱。简而言之,网上冲浪和阅读无格式网页不会令人愉快。
当万维网出现时,企业内容管理的想法是相当革命性的,因为它使 Web 内容可以通过传统方式访问。现在,互联网上有超过 7300 万个网站由内容管理系统(也称为 WCM 或网络内容管理系统)提供支持。流行的开源 CMSWordPress(wordpress.org)是其中最成功的,但是还有许多其他的(例如 Drupal,Joomla,Squarespace,Wix),为各种类型和规模的企业量身定制。
因此,谢天谢地,我们有了管理内容的概念,还有所有随之而来的内容管理系统,它们涌现出来,为这一过程提供了便利。
有了 CMS 平台,您可以在直观的用户界面中创建内容,并以易于阅读的格式轻松发布。公司不必建立自己的内容管理系统,存储数字内容和图像,并投资永久维护内容交付应用基础设施,而是可以建立一个内容管理系统来卸下这一责任。
什么是内容管理系统(CMS)?
“内容管理系统”听起来不言自明,不是吗?
这确实很简单:软件让多个“普通人”用户轻松地创建、发布、更改、管理和存储各种内容——基本上涵盖了内容生命周期的每一步——而不需要专业的技术知识或编码。
内容存在于数据库中,并呈现在显示层。系统的设计和功能可以通过模板和扩展为特定组织量身定制。CMS 通常还支持工作流和基于角色(例如作者、编辑、业务员)的权限。
拥有 CMS 的好处
这里有一个 CMS 如何提高组织成功的快速纲要:
-
面向大众的内容管理。CMS 是一个伟大的均衡器:对于大多数任务,你不需要开发人员介入并实时获取内容。一旦他们知道如何使用 CMS,非技术人员就可以做任何事情。
-
存放在一个地点。在 CMS 的范围内,所有的东西都是有组织的,并且是可用的,它的数据库是理想的可搜索的,因此可以快速找到需要的项目。
-
可重复利用的资源。对于内容创建者来说,使用现有的品牌组件(如标准模板设计和经认可的企业形象)来开始他们的工作流程是很容易的。
-
虚拟水冷却器。来自遥远地理位置的多个贡献者可以贡献和协作,因为 CMS 界面通常是基于浏览器的。
-
一致的专业呈现。 一次创建一个东西,让你的现代 CMS 正确地显示它,不管查看者的设备是什么(例如,电脑屏幕还是智能手机)。
-
全渠道适应性。 如果您的现代 CMS 支持多渠道交付,您可以在保持全球品牌的同时,根据当地市场定制内容。
-
抵御外部威胁。CMSes 通常包括防火墙和其他安全功能。无头 CMS(我们马上会谈到这些)更安全,因为它们的内容与表示层中发生的事情是分开的,有风险的区域更小。
三代不育系
得益于快速发展的内容管理技术,现在有三种类型的内容管理系统可供使用:传统的、分离的和无头的。这就是它们的不同之处。
繁体
这种最初的 CMS,也被称为“夫妻制”(美满婚姻?),是一个一体化模型,后端(内容存储库)和前端(显示层)本质上是“硬连接”在一起的。
这意味着你的内容不能用于不同类型的演示(除非添加插件)。另一个缺点是:CMS 的第一个版本不一定与相邻的信息系统交互,比如产品数据库。尽管如此,对于某些组织和应用程序来说,这种融合模型很容易实现。
脱钩
在网络起飞和技术选择激增的某个时候,开发人员想出了一个绝妙的主意,看看如果他们将内容管理应用程序的前端和后端分离会发生什么。这种将两部分分开的概念证明对“夫妇”来说是变革性的,伴随着双方新的自由而来的是一些明显的优势:
- 不再需要在每台网络服务器上安装 CMS 软件应用程序的开销;这加速了内容交付
- 将内容创作者 从由前端管理的布局中解放出来
- 扩展能力 使用商品硬件的站点
无头
如同用一个解耦的 CMS 模型,用一个的无头 CMS,前端就不见了。
关键区别:与分离的 CMS 不同,没有仍然存在的断头(唉!).这听起来有些极端,但可以把它想象成“当一扇门关闭时,另一扇门就会打开。”当一个头滚动的时候,其他的小头就可以长出来代替它。通过替代将多种类型的内容分发到各种显示目的地(如网站、手机、手表)的途径,您可以获得灵活性。
实现这一技术壮举的背景是什么?RESTful API(或 GraphQL API)不是后端控制内容流向单个目的地(通常是一个网站),而是让内容自由地向外扩展。然后,开发人员可以在不损害前端完整性的情况下对后端进行更改。对于想要追求全渠道战略的企业,你可以看到为什么 headless 模型是一个游戏改变者(也许它是所有 CMS 中最好的)。
需要用你的 CMS 进行可靠的搜索
现在你已经了解了内容管理系统发展的最新动态,让我们来谈谈搜索,因为它与任何类型的内容管理系统都有关系。
每当你在一个内容管理系统中管理大量内容时,也就是说,当你有大量的文档、营销文案、歌曲或其他你不断积累的东西时,你也迫切需要人们能够在浩瀚的海洋中找到他们想要的特定内容,并且能够很快找到。
如此相关、快速、用户友好的搜索是内容密集型内容管理系统的完美伙伴。它可以轻松产生更高的点击率,更多的最终用户参与,以及对人们需求的更准确理解,或者在电子商务的情况下,对提升客户体验的需求的更准确理解。
搜索功能的增加通常会推动两个在线领域的可用性改进:
- 电子商务网站和市场, 在线客户希望直接购买他们急需的某些产品的地方
- 重量级内容网站, 例如,包含数千个项目的文档管理收藏和视频共享平台
在这两种情况下,就像没有内容管理乐趣的黯淡的生活景象一样,一个失去了搜索奇迹的内容管理系统将看起来像是黑暗时代的产物。
如何为你的 CMS 提供最好的站点搜索
随着所有 CMS 选项的激增,你如何选择一个适合你的商业模式和 2022 年及以后的收入目标的呢?
你可以看看那些专门为处理你所在行业(如电子商务或媒体)的独特需求而设计的 CMSes。您可以获得为您的企业的规模和附带需求而构建的 CMS,例如为小型企业定制的 CMS。你也可以寻找一个现代的 CMS 来反映你的目标是全渠道分销的事实。
另一个接近这个决定的方法是跳过所有这些参数,从在看似“一般”的网站搜索解决方案中,提供你需要的所有特定工具的任何感觉正确的选择开始。
对于一个现成的网站搜索解决方案,在你的评估过程中有一些事情需要考虑
该解决方案与您的 CMS 兼容吗?
这是第一个要勾选的方框。你提议的搜索功能能与你网站上的所有平台、插件和扩展一起工作吗?您的站点支持工具是可行的匹配吗?看看规格。
多快才够快?
谷歌永远地宠坏了我们所有人,但并不是所有的网站搜索引擎都能提供超级即时的结果,尤其是如果大量的数据必须首先被解析的话。那么需要多大的搜索速度呢?为了让你的用户满意,并在数字商务的情况下,防止他们跳槽到一个急切的竞争对手,一个可接受的速度是多少?
你用搜索引擎得到分析了吗?
你的搜索者在想什么?每当用户通过搜索与你的内容互动时,你就完成了那张图片的一部分。
搜索不仅提供了对个人思维和需求的洞察,还提供了持久的趋势。
分析你的网站搜索数据 可以帮助你评估你的搜索质量,揭示相关关键词,并给你改进可用性和转化率(如果适用)的方法。搜索数据为营销经理提供了做出明智决策所需的信息。在电子商务网站上,您可以确定最受欢迎的搜索趋势和受欢迎的商品,然后配置您的搜索功能,使受欢迎的产品易于找到,突出显示销售商品,向搜索者显示他们可能喜欢的其他商品,等等。
在专注于保留大量内容(如视频)的网站上,搜索模式分析可以帮助您识别缺失的内容——多个用户正在搜索但您没有提供的内容。信息就是力量;这种类型的洞察力可能会导致调整您的搜索术语,将输入略有不同术语的人重定向到您提供的项目,或者甚至创建按需内容供您的用户查找。
你能个性化你用户的搜索结果吗?
你肯定听说过个性化是如何改变现代在线消费者体验的。如果你像许多商人一样,也许你还没有签约提供个性化服务,但是你很感兴趣。
工作原理是这样的:如果两个人搜索一个查询,基于他们之前的搜索或内容浏览,他们可能会收到不同的搜索结果。
搜索个性化使网站用户和网上商店的购物者在寻找内容的过程中变得更加有趣和有价值。更重要的是,作为一家企业,它给你提供了多种机会,通过利用你对搜索者的了解来提高他们的数字搜索能力,从而更好地为他们服务。
例如,您可以:
- 为您的数字体验创造各种变化 (例如,不同语言的相同内容或不同类型的群组)
- 设置规则 增强搜索引擎响应常见查询的方式
- 根据收集到的个人偏好信息向个人展示相关内容
- 避免显示某些内容, 如缺货的产品
设置搜索软件会有多麻烦?
一些搜索工具需要大量开发人员的帮助才能启动和运行。其他的相对容易实现,即使你几乎没有 IT 部门的素质。每个可能的解决方案需要做多少工作?
搜索功能好维护吗?
支持同上。如果您最终在现有硬件的基础上构建了一个服务器端搜索解决方案,那么在可预见的未来,您将需要维护该设置。这可能仍然是最好的路径,或者你可以选择 SaaS 搜索解决方案,它完全消除了这个问题。
用强大的搜索优化你的 CMS
如果你需要经过验证的网站搜索,你可以用最少的开发人员知识来设置,看看Algolia。
作为一个完全托管的解决方案,我们的功能可以使用 API、高级前端库和爬虫(如果您需要的话)快速集成到您的站点和移动应用程序中。
要了解如何在您的 CMS 上使用我们的搜索,请查看我们界面的这个 演示 。当您看到它有多容易使用时,我们认为您会想马上了解更多。如果是这样的话, 与我们的团队取得联系 ,这样我们就可以帮助您开始整合搜索来改造您的 CMS!
可组合商务如何在黑色星期五和网络周刺激消费
与往常一样,2022 年的假日季将为电子商务企业和市场带来一些惊人的机遇。随着在线购物继续流行并不断发展,以及新冠肺炎疫情期间前所未有的增长,许多在线零售商不能依赖运气,因为他们即将迎来黑色星期五、网络星期一和今年的假期。
让我们来看看 2021 年以来美国假日季的趋势,从中获得一些见解,帮助你在今年冬天充分利用你的营销策略。
一条节日旺季消费记录
图表和统计数据来源: Adobe:消费者在网络星期一 花了 107 亿美元; Adobe:美国消费者在网上花费创纪录的 2040 亿美元
- 消费者在 2021 年网络周期间花费了 339 亿美元,同比下降了 1.4%。
- 截至网络星期一年底,网上消费额为 107 亿美元,比美国历史上最具纪念意义的网上购物日 2020 年创下的纪录下降了 1.4%。
- 2021 赛季支出(11 月 1 日至 29 日)总计 1098 亿美元(同比增长 11.9%)。
- 在整个 2021 年假日季(11 月 1 日至 12 月 31 日),消费了 2045 亿美元,同比增长 8.6%。
值得注意的趋势
- 移动电话用户在假日消费总额中所占的比例越来越大,占在线销售额的 43%。 这与 2020 年相比略有增长,当时移动占 40%。台式电脑和笔记本电脑仍然是人们网上购物的主要方式。
- 23%的在线订单使用路边取货。
- 平均路边提货订单为 91 美元。
- 现在购买以后支付(BNPL)的收入同比增长 27%,使用这种方法的平均每单消费为 224 美元。
- 在线购物者浏览了超过 60 亿条脱销信息,比 2019 年假日季(疫情之前)增长了 253%,同比增长了 10%。
为打造坚实的电子商务基础
为了利用在线购物客户体验的最新趋势,尤其是假日购物,您可以:
- 配置和微调您的搜索和导航结果的相关性 。使用同义词并调整您的语言设置,即使用户使用与您的产品目录中略有不同的词进行搜索,也可以将他们带到他们想要的产品。
- 提供查询建议 引导用户,缩短他们搜索所要花费的时间。在他们开始输入查询之前,你可以推荐热门搜索、类别和促销产品。这对于在小屏幕移动设备上打字的用户来说尤其强大。
- 优化您的电子商务平台 用于移动设备和除台式电脑之外的其他设备
- 确保无缝的全渠道体验 提高并保持客户满意度和忠诚度
优化你的销售策略
- 利用分析 来了解你的客户在这个假期寻找什么,然后在你的营销策略中利用这种洞察力
- 使用促销横幅 将购物者的注意力吸引到您突出显示的产品和类别上
- 隐藏断货商品 或推至搜索结果底部
- 将产品和类别 如热门产品钉在搜索和类别页面的顶部
- 商品页面推荐商品 :为了增加订单量,推荐相关商品或经常一起购买的商品
确保您的技术堆栈稳健
根据我们的 2021 年在线商务趋势调查, 在 2020 年的假日季节,65%的电子商务公司发现他们满足需求的能力不足,47%的公司无法扩展规模以满足需求,25%的公司希望能够更有效地迭代和销售商品。
拥有一个灵活、可扩展和可靠的电子商务平台的一个关键是从传统的商业架构升级到可组合的商业架构(无头架构),看起来可能是这样的:
组合商务的好处
使用可组合商业方法,您可以:
-
轻松更换部件:您的决策需要以业务为导向,而不是受限于过时的技术架构。您希望现代技术能够快速修复任何没有达到预期效果的问题。将前端和后端分离开来,使用 API 优先的解决方案,可以让您自由地快速迭代,最大限度地减少基础设施变更的时间和资源。
-
最大限度缩短上市时间:在快速发展的电子商务世界中,过去能满足您业务需求的方法可能不再有效。这意味着你需要能够快速推出新的应用程序,并通过不断为你的电子商务平台带来新的功能来保持你的势头。
-
提供便捷的路边取货服务:为了确保即时的库存信息,你的库存管理系统必须连接到你的电子商务商店。再加上网上购买,店内提货(BOPIS) 功能,这会给你的客户留下深刻印象,他们可能更喜欢路边提货,而不是在实体店排队等候。假期越近,与更昂贵、更不及时的运输方式相比,BOPIS 可能看起来越有吸引力。
-
让购物者保存搜索提醒:尽量减少失去潜在顾客的机会,这些顾客因物流或库存限制而灰心丧气或无法购买他们正在搜索的商品。怎么会?通过提供当与他们保存的搜索匹配的项目变得可用时自动提醒他们。
-
发送推荐电子邮件:避免无效的千篇一律的电子邮件营销,确保对每一位客户采取个性化的方式。对于你的注册或回头客,在黑色星期五促销邮件中提出基于机器学习的建议。如果一个登录的客户在你的网站上浏览一个类别,推荐该类别中评价最好的产品。如果购物者刚买了一件商品,推荐其他经常一起购买或与其购买相关的商品。
-
利用社交媒体营销工具:对于寻求成功的零售商和市场来说,社交媒体商业选择现在是“必须具备的”。微信、Instagram 和脸书等社交媒体网站不仅仅是营销工具,它们还是全方位服务的电子商务平台。让他们为您的底线工作。
-
提供语音搜索:便捷的语音辅助设备(想想 Alexa 或 Siri,或者应用内语音搜索)已经非常受购物者的欢迎。支持语音搜索的电子商务市场预计到 2023 年将增长到每年超过 800 亿美元的 T4,所以为购物者提供简单的语音搜索可能会最大化你 2022 年的假期利润。
-
从黑色星期五开始选择全频道:无缝融合您的电子商务体验和店内购物体验,确保您的客户满意度不会被任何一个购物频道打破。无论您的购物者更喜欢使用语音助理、店内信息亭、移动设备、台式电脑还是社交媒体,您都必须确保用户体验极佳,并且您的每个频道都与其他频道整合良好。
让 2022 年成为您迄今为止最好的在线零售年
零售电子商务的前所未有的增长,加上多方面的客户购物行为的演变,意味着公司必须不断适应以满足客户的需求。在假期等关键销售时期,超越传统的网络周销售和营销策略,推出先进的电子商务功能是有好处的。
确保您的技术团队准备好应对最大销售季节的压力,首先要有一个精心规划的可组合架构,能够承受任何和所有季节性购物压力。给你的零售企业一份可能会继续赠送的礼物:现在就准备好你的网站或应用程序,利用今年假期提供给你的一切。
想要一些个性化的建议吗?请求免费搜索审核 。我们将查看您的网站,并为您提供如何在这个黑色星期五改进在线商店的建议。
音乐推荐如何提高用户参与度?
你使用在线音乐流媒体服务吗?考虑到这些应用程序的受欢迎程度,这可能是一个愚蠢的问题,但我们还能如何开始这样的帖子呢?
太好了;你熟悉针对歌曲和艺术家的“智能”音乐推荐。也许 Spotify、Apple Music、Noteflight、Amazon Music、Pandora 或其他音乐建议工具已经帮助你发现了一个新的喜爱的歌手或新专辑。也许机器学习与音乐的融合让你扔掉了你的 CD 收藏,因为它无法与在线体验相匹配,在线体验让你可以同时听各种艺术家的音乐,还有其他选择。
再见实体店,你好音乐应用
在流媒体平台出现之前,发现新音乐意味着音乐爱好者走进音乐商店,翻阅各种类别的商品。现在,就像许多其他消费产品一样,歌曲推荐和推广它们的平台已经彻底改变了音乐世界。
音乐爱好者可以在手机上享受“为我”的歌曲发现,无需离开家,也可以在日常活动中享受,因为他们可以享受令人惊叹的个性化推荐的声音。
现代数字音乐推荐做你最好的朋友过去可能会做的事情(你知道,就像高中时每周都会带一张新 CD 来试听的那个人)。他们说“嘿,听听这个。我们知道你的口味,觉得你会喜欢的。”
通常,他们是对的。那是因为音乐 推荐功能 是(相当明显)由音乐推荐算法驱动的。
算法使它变得简单。他们可以发现新的宝石,并把听众带回他们几十年前最喜欢的歌曲。他们可以让用户参与进来,继续使用这款应用。他们可以帮助艺术家找到新的观众,同时将听众与鲜为人知的歌曲和新兴专辑联系起来。
一个音乐算法如何发挥它的魔力,或者你的歌曲推荐是如何联系在一起的——也就是说,彼此之间的联系——这种神秘性就不那么明显了,如果不可能弄清楚的话。是数据科学;这一点很清楚。
音乐算法如何工作
音乐推荐算法和其他 推荐算法 一样。它们是用通常由人工智能驱动的数学公式设计的。
与任何其他商品推荐工具一样,音乐推荐算法的目的是创造良好的用户体验。目标 不是 产生销量或者把用户转化到某个特定的音乐流派(虽然这可能会发生副作用)。相反,该算法有助于创造一种令人愉快的个性化体验,以帮助人们参与到倾听的行为中,从而通过继续订阅来产生收入。
与其他类型的搜索引擎不同,音乐推荐软件根据艺术家和流派的相似性来提出建议。它着眼于偏好(例如,用户库中经常听的歌曲和他们最喜欢的艺术家),并且还考虑不喜欢/厌恶(跳过的歌曲、忽略的流派)以建立全面的简档。基于音乐购买(例如 iTunes)而非订阅来运营的音乐平台除了考虑用户的收听历史之外,还会考虑他们的购买历史..
Spotify 的制胜之道
Spotify 推荐算法 获得好评。它检查歌曲结构,并通过扫描用户创建的播放列表来找出音乐之间的关系。此外,它还通过分析会员的收听习惯来推测他们的音乐偏好。
结果:新歌曲出现在播放列表的底部,它们似乎根据艺术家或流派联系在一起。其他时候,你会得到一个全新的 Spotify 播放列表。似乎和你的听力偏好有联系,但你搞不清楚是什么。
Spotify 音乐推荐功能还依赖于您是否在主屏幕上收听推荐的歌曲。
该算法会查看你听一首歌的时长,如果超过 30 秒,就会被记录为竖起大拇指。你播放一首歌曲或播放列表的时间越长,你的后续建议就越符合用户数据。如果 Spotify 的机器人偶尔错过了你推荐歌曲的标记,你的一举一动仍会被音乐推荐软件跟踪并记录下来,以便它能够坚定不移地取悦你,从而让你保留 Spotify 帐户。
推荐:让我们细数一下
有了音乐流媒体服务,建议可以以多种方式提供给听众,即使他们基本上都在做同一件事:做推荐。
有两种类型的推荐:个性化的和非个性化的。许多人会说,音乐和当今的任何事物一样,个性化是必由之路,但一些流媒体服务可能也看到了更普遍地推荐音乐的好处。
以下是各种音乐服务使用的一些推荐方法:
个性化推荐
- 发现: 挖掘出让你感动的音乐很有趣吧?无论是曲目、专辑还是艺术家,音乐发现功能都可以帮助用户偶然发现符合他们偏好的新音乐。例如,一个表示喜欢乡村音乐的人会被推荐给该流派的其他好音乐,也许包括一位崭露头角的艺术家的流行歌曲。Spotify 的 Discover Weekly 就是这一功能的一个例子。
- 欣赏预测: 这种更“自信”的水晶球音乐推荐引擎技术利用人工智能来评估用户是否喜欢特定的歌曲、艺术家或专辑。结果呢?你可能会惊讶于这项服务的阅读能力和愉悦你的能力。
- 播放列表生成: 基于收听者相似口味而培养的播放列表。如果你喜欢各种各样的音乐让你有不同的心情,你会得到适合的播放列表。
- 置顶内容: 精选听众喜爱的歌曲。如果你不想因为讨厌某个东西的声音而不得不换台,这就是你的推荐类型。Apple Music Replay 就是一个例子。
- Radio streams:“Radio”这个词可能会让你一头雾水,就像在 Spotify 上一样,至少你不会收到真正的电台(就像广告的来电信和中断)。相反,这只是基于偏好呈现播放列表的另一种方式。如果你正在听一首你喜欢的歌曲,然后点击“转到电台”,你会得到一堆相似的歌曲,你可以对它们进行采样并添加到你自己的主题播放列表中。或者继续播放你的电台。
非个性化推荐
- 趋势列表: 流行项目列表(例如,顶级艺术家、歌曲、原声音乐、专辑)。
- 精选播放列表: 一个与用户偏好无关的歌曲列表,但仍然可以引导他们发现新歌、艺术家和流派。
- Radio streams: 推荐与用户偏好无关的随机歌曲集。
音乐推荐软件有什么好处?
更好的问题应该是什么没有得到好处,而谁没有从接受人工智能生成的宋的建议中得到好处?
音乐和歌曲推荐提高了任何音乐流媒体平台的可用性,将音乐与想听音乐的人联系起来,从而提高用户参与度。这很关键,因为虽然一家电子商务商店的目录中最多有数千种商品,但一个音乐流媒体平台可能可以访问数百万首歌曲(有些歌曲的流媒体播放次数高达数十亿次)。如果没有音乐建议工具,找到听众喜欢的新音乐可能是一项相当困难的任务。
以下是主要优势:
针对听众的个性化
个性化内容击中了消费者的要害;这是毫无疑问的。“只为你”的精选内容肯定会在使用应用程序时产生温暖的感觉。此外,听你自己的播放列表也很有趣,你知道这会让你心情愉快,无论它们是 Spotify 的“你的顶级混音”还是你个人创建的主题播放列表(比如“后台工作”或“跑步”)。
为听众发现
音乐推荐算法产生了一种“好奇”的心理,促使听众进入一个旋律优美的兔子洞。对于媒体平台来说,发现尤其重要,因为听众会觉得他们拓宽了视野,培养了多样化的新音乐品味,然后所有这些活动都可以与朋友分享。
婚约内容
音乐推荐算法通过邀请用户尝试他们无数的个性化建议来创造即时互动。“深思熟虑”的建议让人们保持关注,竖起耳朵倾听任何会让他们的音乐欣赏能力大打折扣的事情。
支持音乐家
音乐建议工具不仅仅有利于他们的收听客户和流媒体服务;它们也有利于音乐家,因为这些算法将艺术家与潜在的新观众联系起来。乡村音乐歌手被推荐给乡村音乐听众。年轻一代会发现新的流行歌曲。麦可·布雷找到了吸引更多中年妈妈的方法。
听者留人
与听众产生共鸣的一连串音乐推荐会激发他们的兴趣,并激发他们的长期忠诚度。真正“获得”客户喜爱的音乐类型的算法会在使用音乐平台时产生积极的感觉,这使音乐粉丝不断回来。
商业成功
当然,这一切都是为了积极影响音乐推荐系统的底线。对于促进音乐购买的流媒体平台来说,推荐是一个明显的收入来源。对于像 Spotify 这样基于订阅的平台,更高的参与率(由探索和接受新音乐兴趣的用户创造)会带来更多基于广告的收入。
音乐传入你的耳朵
想要帮助你的人工智能音乐 推荐 ?有了 Algolia 的推荐引擎,你可以进行协同过滤、商品、排名和音乐推荐的语境化,以反映你独特的品牌和收入目标。
想看看每月多达 10,000 条记录和搜索请求的入门是多么容易吗?用我们的 免费计划 或者如果您愿意, 请询问我们 您入门的最佳方式。
自动完成搜索:完美用户体验的点睛之笔
原文:https://www.algolia.com/blog/ux/how-does-autocomplete-maximize-the-power-of-search/
我们完成彼此的……
句子 搜索结果 。
想要一个知道你在想什么,能完成你想法的伴侣?
这很可能不会发生,至少不会经常发生,如果发生了,可能会有点奇怪。
但是搜索引擎呢?现在 那个 会更有可能(也可能更可取)。
当你的爱情兴趣没有始终如一地符合你的需求时,自动完成建议(不要和略有不同的 自动建议 )是下一个最好的选择。这种软件功能可以完成用户在搜索框中输入的单词或字符串,而无需他们键入完整的短语。当你想被理解,并且快速到达一个有用的搜索结果页面时,使用自动完成功能是一个很好的实践。
什么是自动完成?
自动完成搜索建议功能,也称为 预测搜索 (和 typeahead),是基于文本的应用程序中的一种软件功能,旨在在您键入时自动完成单词或短语。
你可能已经多次使用过自动完成功能来查看相关建议。你知道,你开始输入一个谷歌搜索项,搜索栏会在一个趋势项的下拉菜单中帮你完成。当你输入电子邮件地址时,你看着你的电子邮件程序预测联系人姓名。你开始输入你希望在亚马逊或你最喜欢的电子商务网站上找到的产品名称,然后会看到大量的自动补全功能。自动完成列表是神奇的。
自动完成是如何起源的?
自动完成的概念最初被认为是一款软件,旨在帮助那些发现打字困难的残疾人。让他们松了一口气的是,autocomplete 帮助他们进入用户的搜索输入过程,并完成他们努力想得到的东西。
这项技术最终找到了进入主流的途径,逐渐进入重量级搜索引擎,如谷歌和必应。软件工程师凯文·吉布斯把这个想法带到了谷歌,并在推出他所谓的谷歌建议(现在的谷歌自动完成;他对大数据和高速互联网等技术进步的利用创造了一种异常准确和个性化的预测服务。
自动完成是如何工作的?
尽管依赖于复杂的技术,自动完成还是以一种相当简单的方式工作。autocomplete 功能检测用户似乎在输入字段中键入的内容,并且随着每次击键,开始匹配站点搜索索引中的单词和短语。
然而,单词和短语如何响应于用户输入出现在搜索索引中并优先于其他单词和短语的过程更复杂。
首先,像谷歌这样的搜索引擎公司有一个黑名单,所以某些单词和短语,如与暴力、仇恨言论和侵犯版权有关的,会被忽略。
自动完成技术从搜索索引中提取单词和短语并对其进行排序的方式取决于许多因素,包括:
- 人气。 热门搜索词,那些经常被很多人搜索的,自然倾向于先被选中。
- 新鲜度。 这考虑了一段内容有多新。如果相关的话,新鲜的内容可能比吸引流量但已经过时的内容排名更高。网站所有者应该在几年内更新博客文章和网页。
- 历史。 其余都是历史;更准确地说,是你的搜索历史。如果你想知道为什么某些搜索词会出现在你的查询建议中,而 只会出现在 你的查询建议中,请记住这取决于你之前搜索过的内容。
- 地点。 自动完成并不只是关注某人正在搜索什么,它还能识别出他们正在搜索什么。地理空间框架提供的搜索结果迎合了一个地理区域内的语言特质和流行搜索词,例如,显示当地零售商实体店的信息。
为什么自动完成对 你很重要?
电子商务网站所有者从提供自动完成搜索功能中获得了什么好处?名单很长。
根据 SlideShare, 80%的消费者 更有可能从提供个性化客户体验的公司购买。因此,对于你的潜在客户来说,连同其他个性化搜索功能,自动完成功能可能会改变游戏规则。
搜索引擎就像是通向你的在线或应用程序内容的门户。一个没有自动完成功能的搜索栏就像一扇被锁住或者没有上过油的门;为了获得访问权,人们必须做更多的工作。
大门越容易打开,你的用户就能越快地找到你的产品、服务或内容。一个复杂的搜索工具是一个受欢迎的、开放的门户。
具体来说,自动完成帮助用户:
- 快速搜索内容。 Autocomplete 通过预测用户的搜索查询(以一种能感觉到意外收获的方式)并完成你似乎想要的搜索词来加速搜索过程,节省大量时间。的确,在使用 autocomplete 的单一实例中,节省的时间看起来微不足道。但谷歌说,累积起来,它可以比每天打字节省 200 年 。
- 消除错别字。 Autocomplete 不仅仅是预测文本,给出相关的搜索建议。它完全拼写出想要的术语和短语 , ,让搜索者快速说“是!”,停止滚动,然后单击。另一个好处是避免拼写错误:许多人甚至使用搜索引擎(比如 Google 或 Bing)中的自动完成功能来进行拼写检查。
- 浏览搜索过程。许多网站现在使用自动完成建议列表,所以这个功能已经成为一种搜索基准。这是理所应当的,因为 autocomplete 将人们从输入用户查询平滑地转移到潜在的转换。一帆风顺的用户体验创造了快乐的客户,他们也可能会出去再玩一次。
- 随时随地搜索。 当像苹果 iPhone 这样的智能手机刚开始流行时,移动用户抱怨 IOS 键盘太小。即使是现在,尝试使用一个小小的移动设备键盘也意味着要回去删除字母。好消息是,自动完成功能很早就通过下拉菜单为您完成单词和短语。
- 转换。对于那些觉得没有它就不完整的人来说,自动完成不仅仅是一个神话。当然,最大的好处是,它可以彻底改变你的电子商务网站指标。自动完成的好处是更好的用户体验,移动友好的搜索,以及对用户非常感兴趣的东西的准确搜索结果,这意味着人们可以在你的在线商店找到他们需要的东西。直接结果呢?更多的转化。
阿哥帮你完成
潜在客户希望无缝地体验卓越的搜索体验,以一种让他们感到个性化的方式,而一个具有自动完成功能的 强大的搜索引擎 可以帮助他们做到这一点。现场搜索提高了网站的可用性,提高了投资回报率。
Algolia 为企业提供一流的搜索和发现技术,提供个性化的购物体验,可以 将转化率提高 30%+ 。我们的 API 可以让你在你的网站和移动应用中无缝地实现搜索。可以:
- 实现简单的网站导航。 借助搜索自动完成功能,您可以迅速将用户从搜索栏引导至相关结果和链接内容。
- 利用令人大开眼界的搜索分析,为您的电子商务搜索发现营销和销售机会 。
- 定期优化你的搜索结果排名,提升你的搜索引擎优化能力,让你的网站在谷歌和必应中排名靠前。
探索 Algolia autocomplete 的诸多优势以及其他让我们与众不同的搜索功能。我们提供 分层定价 也是如此。咱们 聊聊 !
动态定价电子商务应用程序的优势
想象你要去度假。
你首先需要一副很酷的新太阳镜,所以你在亚马逊上搜索最热门的款式和最优惠的价格。
然后,你去 AirBnB 网站寻找短期租赁,最后,咨询动态定价引擎 KAYAK,查看机票价格,预订最便宜的机票。
到了出发的时候,你可以在手机上方便地从优步或 Lyft 预订一辆车。
一切都好。除了一件事:你知道吗,所有这些公司都使用动态定价——基于各种因素的可变价格,旨在确定购物者愿意支付多少钱——以实现利润最大化?
两位度假者的故事案例分析
结果:多亏了数据科学,因为动态定价的工作方式,一个朋友可以买一副一模一样的酷太阳镜,预订一模一样的度假租赁和航班,坐上一模一样的拼车服务司机的车,但支付的数据驱动价格与你完全不同。
很可能完全不同。
例如,如果你不得不在基于时间的“高峰定价”时间预订机场电梯,以赶上高峰时间出发的航班,而他们可以在半夜悠闲地搭乘凌晨的红眼航班,那么你可能会受到价格歧视,并由于价格变化而损失相当多的现金。
因此,在你购买产品和预订服务之前,知道最好的日子和时间来购买所有产品以避免价格上涨是值得的。
一种“看不见”的现象
也许你已经听说过这种动态定价软件现象,但还没有注意到它对你的影响;毕竟,你怎么能轻易地知道它正在发生呢?这并不像公司特意宣传他们的机器学习价格优化秘密或广播你因为他们不断变化的产品价格变化而不知不觉地多花了多少钱(尽管他们更有可能指出你在省钱)。你可以做研究,或者和朋友交流购物心得,也许还可以了解一家公司的动态定价策略。
不管怎样,在很多零售网站上(比如塔吉特和阿里巴巴),这种事情就在你眼前发生着。你知道吗,如果你经常去亚马逊这样的网站,你看到的价格会比你是一个新手走进他们的虚拟大门时看到的价格要高。这是真的:顾客的忠诚度水平被计算出来并应用于优化他们所看到的价格。
电子商务:动态定价的最佳合作伙伴
如果你是零售商,动态定价的 概念 是一场可以理解的不同的游戏,如果你做得对,你肯定会赢。
为什么这么有前景?该功能基于产品或服务的实时供应和市场需求。这是一件非常复杂的事情,大多数电子商务网站都无法有效监控。当您实施动态定价时,它会密切跟踪市场中的实时价格涨跌,并密切关注您的竞争对手的定价动向。这意味着您可以轻松识别市场情况,并以最佳价格做出回应。
虽然一些实体零售店安装了迷你电子显示器,显示其 SKU 的动态价格,但电子商务商店是主要的使用案例,因为互联网和大数据使在线零售商可以极其轻松地对几乎任何产品实施动态定价。
卖家可以实时分析竞争对手的价格、预测需求和实际需求、天气、事件和其他外部因素以及运营成本。
动态定价的好处
以下是将动态定价技术应用于电子商务平台的一些优势:
您可以通过动态定价算法获得更多控制权
有了动态定价,一些公司可能会担心机器人会接管并变得肆无忌惮。那会被误导。正如大多数与网络相关的情况一样,为了优化价格,知识就是力量。当然,能够从里到外了解你的定价数据至关重要——你的商品或服务的价格点的供求、实时波动和市场趋势。然后,由于您的动态定价工具,您可以放心地为您的最高收入定价。这并不是说算法是万无一失的;您仍然可以做出您认为合适的更改,并签署定价建议。
你可以强化你的品牌
对于电子商务零售商来说,统一定价真的很难(不可能?)知道价格底线在哪里,以保持你想要的利润。当你使用一个动态定价模型,根据市场数据来确定你实际能涨到多低时,你基本上可以保证你不会亏损。明确知道自己的极限之后,你就可以在如何操作价格方面稍微放松和灵活一些,比如你可以通过主页促销或闪购变得多疯狂。总而言之,这对推广你的品牌是有好处的。
你避免行政成本
告别旧式、耗时的定价计算和管理费用。当你从固定价格转向动态定价时,你不得不简化你的操作。当您自动执行动态定价时,影响会更加明显。
你获得更多的销售
动态定价的要点是为企业选择合适的价格,同时又不会让消费者觉得过高。借助动态定价解决方案,您可以使用算法来提高正确定价的决策率。你可以提高更受欢迎产品的价格。你也可以用它来告诉你什么时候需要降低价格,以帮助摆脱库存。人工智能对于这些类型的价格调整是无价的。如果你能准确、持续地找到最佳定价点,你的利润就会增加。
你提高了你的利润率
更多的销售,更好的利润,更高的转化率,更大的成功。好多少?使用动态定价的利润率平均提高了 10%。然而,根据 Forrester的说法,公司可以通过使用动态定价将利润提高多达 25%。难怪几乎每个成功的大型在线零售商的网站都在使用动态定价。
你更了解你的客户
你制定的任何策略都必须考虑到让顾客满意。人们愿意为你的产品付多少钱?动态定价给你市场数据。例如,你的顾客对价格有多敏感?你可以确定每个顾客的需求曲线——购物者支付的最高和最低价格。此外,这些类型的见解可以帮助您为您的购物者创造更好的个性化。
定价规则,定价工具
动态定价是电子商务世界中一种流行的工具。这也是创建一个成功的零售网站,提供有竞争力的价格和成功的客户体验的一个方面。
当您考虑您的业务需求以及是否实施不同类型的动态定价或投资价格优化软件时,请考虑升级您的 搜索技术 以改善您的用户体验。通过使用 Algolia 搜索和发现工具,根据客户的行为(例如,他们的购买历史或他们经常查看的内容)设置定价规则,您可以尝试最大化定价。您可以使用规则或巧妙的索引,或者找到自己的编码解决方案。您可以 尝试一下 ,以及探索设置。
无论你的电子商务定价决策将你引向何方,你都有一些很好的选择,可以使用最先进的价格管理将你的电子商务业务提升一个档次,并超越你的业务目标。我们希望你能尽快与 取得联系 ,看看我们的搜索 API 能提供什么。
搜索引擎查询处理 101
你在谷歌(或使用另一个流行的搜索引擎,如必应)或你最喜欢的电子商务网站(如亚马逊)搜索时输入一个查询。您希望以搜索引擎结果页面(SERP)的形式获得您的信息检索,该搜索引擎会对您想象中的最佳项目进行“有根据的猜测”,从而为您提供准确的结果。
不幸的是, 许多电子商务商店不提供这种水平的搜索成熟度和搜索引擎优化。
2022 年,Baymard Institute 发布了一份关于 类电子商务网站搜索查询 的概述,并报告称“42%的网站的电子商务搜索 UX 性能低于可接受水平……。更糟糕的是,8%的网站有一个彻头彻尾的“破碎”的电子商务搜索 UX……”。
这是一个相当严厉的评估,尽管当你考虑到搜索引擎必须做的艰巨工作时,这并不奇怪:正确解析信息、导航和交易搜索查询,并准确确定相关性。
什么样的 搜索查询 ?有时购物者确切地知道他们想要什么(例如,他们在社交媒体上看到的东西),但更多时候,他们盲目地寻找可能的解决方案。
【Baymard 确定的一些查询类型包括:
- 精确 搜索类似“苹果 iPhone 13 Pro”
- 功能相关 搜索类似“蓝牙音箱”
- 兼容性 搜索类似“iPhone 手机套”
- 症状相关 搜索类似“清洁 iPhone 屏幕的东西”
面对如此广泛的查询类型,搜索引擎很难解释它们并给出最相关的选择,这是可以理解的。
在这篇博文中,首先我们将看看网站搜索引擎必须应对的各种查询,然后电子商务企业如何通过丰富的搜索索引来满足需求。最后,我们将看看机器学习如何改变游戏,以改善许多查询类型的搜索结果。。
搜索引擎如何处理查询
按确切名称(如品牌)
大多数电子商务搜索引擎在为精确搜索查询提供 相关结果 方面做得很好。例如,如果一个宠物主人在一个宠物用品电子商务网站上搜索“Greenies”,他们几乎肯定会看到该品牌的狗和猫。
按类型
用户想要什么类型的产品?假设这是一个有嚼劲的狗食。当客户搜索产品类型(“耐嚼”)而不是特定品牌的商品时,搜索引擎会有一段艰难的时间。例如,搜索“耐嚼零食”可能会也可能不会出现用户预想的最佳结果。
Product-type ecommerce search functionality is a bit more hit or miss.
在 Algolia,我们的高级搜索引擎将采用一种策略来解决这个问题,以提供更准确的结果:将“耐嚼零食”的搜索拆分为“耐嚼零食”的搜索。这意味着可接受的搜索结果必须包含描述或元数据中的两个关键字。
(剧透:有了矢量搜索,这些同义词和描述性搜索都是内置的。在这篇文章的后面,我们将与 AI 进行更多的交流。)
通过症状
如果购物者不是在寻找一种产品,而是在寻求帮助摆脱令人讨厌的症状,那该怎么办?搜索数据显示,人们经常目光短浅地关注一个他们迫切想要解决的问题,比如 a:
- 漏水的水龙头
- 偏头痛
- 染色地毯
他们只知道他们有一个紧急的问题。当然,他们在寻找解决方案,但他们通常不知道需要什么特定的产品来缓解压力。
在这种情况下,网站访问者的搜索结果通常是广泛的,因为搜索者对一系列可能的解决方案持开放态度。例如,“偏头痛”搜索结果可以提供止痛药、自然疗法、冷敷、头套、泡沫滚轴,以及更多的。
不同的电子商务搜索引擎处理这些类型的查询通常略有不同。
一些搜索引擎会给你索引中的每个文档分配一个相关性分数。分数范围从 0(不匹配)到 1(完全匹配),搜索结果从分数最高的开始排序。
Algolia 使用平局决胜算法对项目进行排序。它首先对所有 精确匹配的 进行排序。当有多条记录完全匹配时,它会使用一系列测试来打破平局。首先,它根据地理位置进行排名(如果用户打开了该功能),例如,首先是最近的餐馆。然后,它计算匹配的单词数(匹配越多,排名越高),直到每个记录都找到自己的位置。
关于拼写,如果一个拼错的单词与内容中的一个拼错的单词相匹配,则被视为完全匹配。如果没有,Algolia 允许最多两个字母的拼写错误,但在平局决胜顺序中,拼写错误的术语排名较低。
最后,该算法根据业务目标应用特定于业务的标准来调整排名。例如,一家公司可能希望在人们搜索结果的开头推广其高利润或热门商品。
开始搜索指数很大
如果您想提高零售网站搜索返回最佳、最相关结果的几率,并帮助改善您的客户体验和搜索转化率,这一切都要从构建丰富的 搜索索引 开始。无论您是使用产品信息管理系统(PIM)还是直接在您的在线商店 CMS(例如Shopify)中编写产品描述,为了提供高质量的结果,您需要构建一个强大的内容索引,其中包括产品属性,例如:
- 产品名称或标题
- 产品数据
- 产品类别
- 产品描述和/或类型
- 图像 alt 标签
- 颜色、尺寸、数量等附加元数据
- 产品评论
- 相关产品(这也可以从类别中推断出来)
然后,当有人搜索某样东西时,他们更有可能得到正确的结果。像“耐嚼的狗零食”这样的东西,搜索引擎会把它们放在正确的产品推荐栏里,就像亚马逊在这里做的一样:
Amazon’s index allows it to provide on-target search results.
正如网络营销人员尼尔·帕特尔指出的,许多网站缺乏足够的描述性数据。添加所有正确的信息不仅能增强你的产品页面,还能为搜索引擎提供强有力的线索,让它们抓取你的索引。
正确归类和标记
对产品进行分类和标记的过程可以改善用户的搜索结果,并帮助人们通过分类导航而不是搜索框来浏览网站。理想情况下,分类页面和/或标签将出现在索引数据中,为搜索引擎提供额外的元数据。类别可以作为元数据添加,甚至可以通过站点的 URL 结构推断出来。比如:
- www.example.com/product/jackets
- 【www.example.com/swimwear/bikinis
- www.example.com/shoes/loafers
搜索引擎可以从这些 URL 中提取有用的类别和子类别数据(如“泳装”和/或“比基尼”),以便从一开始就返回准确的结果。
你们提供分面搜索吗?类别还用于在搜索结果页面上构建 过滤器和 方面。
一个好的产品分类法不仅仅有助于现场搜索,它还有助于SEO和网络搜索引擎。当提供结构化分层数据时,爬虫工作得最好。附加标记(例如,添加颜色作为属性)可以极大地改善结果。
构建丰富的描述性数据时需要考虑的一些事情:
- 如果你销售 零件, 添加相关品牌或商品,它们会与很好地搭配
- 对于 维生素和补充剂, 分别说明各自有助的情况(如维生素 D 缺乏)
- 为 服装、 添加颜色、尺寸和兼容物品
注意: 分类和标签太多都有可能;你需要找到一个平衡点,既要添加足够有用的内容,又不能太多以至于影响浏览。
非产品搜索引擎查询
电子商务网站访问者只寻找产品,对吗?不总是。有时,他们只是希望搜索工具帮助他们找到运输信息、退货政策、支持、跟踪、工作或其他信息。所以,如果你的网站搜索只索引你的产品信息,那就错过了众所周知的只见树木不见森林。
您的搜索提供商可以:
- 索引整个网站,而不仅仅是产品
- 使用机器学习理解用户查询的上下文
- 设计搜索结果页面来表示不同类型的内容
同义词
人们可以通过输入您通常用来描述产品的词语的同义词进行搜索。或者当他们表示“英寸”时,他们可以键入缩写“in”;这会混淆搜索引擎。这就是为什么我们建议您利用您的搜索分析——无论是来自 Google Analytics 还是您的搜索平台附带的指标包——来了解访问者在搜索中使用的其他关键字。
Product-type synonyms can help provide relevant search results.
借助强大的 同义词管理 和良好的机器学习能力来开发对搜索者意图的理解,可以为他们提供更好的搜索体验。
一个警告:为查询中的每一个单词开发同义词——尤其是那些非常微妙的术语——实际上是不可行的。但随着时间的推移,如果有足够多的人在查询中使用缩写或口语术语,人工智能搜索引擎可以做出调整,以提供更好的转换结果。
搜索人工智能、数据、查询理解
到目前为止,我们已经讲述了改善搜索索引的重要性。让我们来看看提高查询搜索相关性的一些方法。
机器学习
基于人工智能的搜索通过智能反馈循环的持续和自动改进提供了巨大的力量:从搜索和销售中产生的数据越多,搜索引擎就越能有效地随着时间的推移自动改进结果。
内置搜索 AI 收集搜索历史,随着时间的推移了解访客在寻找和购买什么,无论是品牌名称还是具体功能,还是像“新娘母亲的惊艳秋装”这样的长尾关键词查询。通过了解哪些搜索导致转化,搜索引擎可以自动为类似的搜索提供更高的转化结果。
很快,最好的电子商务搜索引擎将包括向量——一种表示单词的数学方法,它有效地概括了文本的含义,并可以提供比标准关键字搜索更好的结果。矢量搜索支持更相关的长尾、非关键词聚焦的查询。
自然语言处理
搜索语言通常是模糊的,因为用户的意图并不总是显而易见的。“银行”是一个经典的例子:—搜索者是指金融机构还是河边?
对于一些电子商务网站搜索用例,客户可能会键入症状或形容词来寻找答案。如果没有添加上下文或提及特定产品,就很难确切知道他们需要什么。
自然语言处理 (NLP),分析非结构化文本以推断结构和含义的过程,是一种可用于改进搜索结果的技术。在这个上下文中,“结构”意味着高度定义的信息,例如,类别或数字,很像数据库中的字段。它还可以表示事物之间的关系。常见的例子包括大小、颜色、地点、名称、时间、实体和意图。
当底层数据具有可以从查询映射的重要结构时,NLP 最有价值。例如:“75 美元以下的男式 14 码耐克鞋”。在这种情况下,可以对数据进行结构化,并根据产品类型、性别、尺寸、价格和其他属性自动应用过滤器。
NLP offers user-friendly search capabilities.
个性化
如果有人访问您的网站并搜索“温暖的夹克”,您可以使用 搜索个性化 提供针对其特定个人需求定制的不同结果。一般来说,你拥有的关于某人的数据越多(例如,访问过的页面、购买历史、性别、年龄),你就越能个性化他们的搜索结果。
即使访问者是匿名的,使用可用的数据,如浏览器类型、IP 位置、一天或一年中的时间、移动搜索与桌面搜索以及其他属性,对“保暖夹克”的搜索也可以是个性化的。
在“保暖夹克”的例子中,你可能向佛罗里达州和明尼苏达州的人推销不同的服装。虽然您可能对用户一无所知,但您仍然可以根据他们的 IP 位置对搜索结果进行个性化设置。
规则
大多数 搜索服务 提供了一个功能,让您添加规则(或调整搜索算法)来处理不同类型的搜索。
Configuring search relevancy
规则有助于解决困难的搜索查询,它们提供了另一种方式来提供符合零售商产品展示标准的结果,例如,畅销书、高或低库存水平、用户的位置、价格、商品、购买历史。
产品搜索可用性
在您的搜索栏中添加 自动完成或即时搜索 功能可以进一步增强搜索体验,并可以帮助访问者输入更好的查询。额外的好处:它帮助人们消除错别字,这可以进一步加快他们的搜索速度。
自动完成
自动完成用户体验——也称为查询建议、提前键入或自动建议——在用户在搜索栏中键入时为他们提供查询建议,使用分析(热门搜索)和上下文来预测他们正在寻找的内容。
Autocomplete enables users to find the right information faster.
自动完成功能可以引导访问者更快地找到正确的类别或产品页面,并表明你提供了他们想要的东西。虽然 autocomplete 并没有提高搜索引擎处理不同类型查询的能力,但它对于提供有用的结果、更快地消除不相关的结果以及促进优秀的网站整体可用性是非常有益的。
即时搜索
或者,即时搜索不是实时接收查询建议,而是在用户键入他们的查询时实时刷新 实际搜索结果页面 。这被称为即时搜索或键入时搜索。在顾客输入完他们的查询之前,图片搜索结果几乎神奇地出现了
instant search results on HannaAnderson.com
搜索电子商务成功解决方案
在处理不同类型的搜索查询时,电子商务平台可能会受到挑战的束缚。虽然你显然不能读懂你的访问者的想法,但一个由正确的人工智能驱动的好的搜索引擎在计算出他们的搜索词并满足他们的需求方面似乎具有积极的洞察力。
无论你有几百个网页还是几百万个 SKU,Algolia 都能让你的电子商务搜索覆盖 尖端的功能和速度,加上一个新的混合 API。注册一个 免费试用版 或个性化产品 演示版 ,看看我们如何帮助您熟练地处理访客的搜索查询,并通过虚拟收银台快速获得它们。
地理搜索如何改进搜索和发现
原文:https://www.algolia.com/blog/product/how-geo-search-improves-search-and-discovery/
相关的搜索结果对于创造一个有价值的、个性化的、周到的搜索之旅至关重要。今天的用户从许多不同的设备上进行搜索,有不同的限制,所以有一个策略让用户尽可能快地得到最好的结果是关键。随着许多人在旅途中搜索,满足移动用户独特需求的搜索工具和功能对于实现业务目标和改善用户体验尤为重要。
在这篇文章中,我们将讨论地理搜索或基于位置的搜索如何增加你的网站或应用程序的搜索和发现体验的相关性。
什么是地理搜索?
地理搜索,也称为基于位置的搜索或本地搜索,根据特定位置向用户提供特定结果。一个人可能会使用基于位置的搜索来找到附近的企业或服务,通常是通过像谷歌或 Yelp 这样的网站。或者,企业可以在其网站或应用程序上启用地理搜索,以允许用户根据用户的位置找到相关结果。
从餐馆、社交媒体和搜索引擎到娱乐、银行和个人护理网站,许多企业受益于为用户提供特定位置的结果。
为什么地理搜索很重要?
随着谷歌地图、苹果地图等服务成为无缝定位事物的标配, 基于位置的搜索成为用户期待。
此外,随着网上购物的大幅增长,消费者通常开始通过移动设备购物。使用手机作为浏览工具,然后他们开始在实体店购物。对于其他用例,人们使用地理搜索进行研究,目的是亲自采取行动。
谷歌自己的研究 为地理搜索和移动使用之间的联系提供了有力的证据:
- 95%的移动用户搜索了本地搜索结果
- 61%的用户致电该企业,59%的用户在搜索后访问了该位置
- 44%的人进行了购买(26%在网上购买,36%在商店购买)
- 这些用户中有 88%在搜索后一天内采取了行动
如果你有一个既有实体位置又有在线业务的企业,你需要地理搜索。客户想知道哪些产品和服务是近在咫尺且随时可得的,而地理搜索弥合了您的在线存在和实际位置之间的差距。如果你的企业不提供这一点,你就错过了捕捉有价值的业务。
如何在你的网站或 app 上实现地理搜索
在您的内部搜索中实施地理搜索主要取决于您的搜索提供商。
如果您的 搜索即服务 提供者是 Algolia,那么添加带有给定纬度和经度的` _ geoloc '属性就很简单:
"_geoloc": {
"lat": 40.639751,
"lng": -73.778925
}
如果您没有现成的地理搜索服务提供商,您可能需要获得第三方包装。不幸的是,这可能是一个乏味的实现过程,因为供应商需要为您的数据建模,并且您可能需要彻底改变数据库的模式。
在您的搜索和发现策略中使用地理搜索的两种方式
在您的整体搜索和发现策略中,有两种主要方式可以使用地理搜索:
1。开发和完善您的全渠道战略
具有前瞻性思维的品牌知道整合和连接不同平台和位置的客户体验的重要性,包括应用程序、实体店、网站以及消费者可以与品牌互动的任何其他地方。一个全面的 全渠道零售战略 就是创造一个统一的体验,而地理搜索是一个伟大的工具,可以帮助你在这些不同的平台之间架起一座桥梁。
对于一家电子商务零售商来说,这看起来像是,但不仅限于,允许在线用户搜索他们附近的产品。在你的全渠道战略中实施地理搜索的可能性只受到你的创造力和知识的限制。你越了解你的用户喜欢怎样购物,你能增加什么来改善他们的体验,你能提供的体验就越好。提供基于位置的结果可以加强和扩大他们与你的品牌的接触。
2。提供准确快速的实时结果
无论是可租赁的滑板车和自行车、食品配送、租赁汽车接送,还是其他完全的东西,实时数据对于一些商业模式来说都是至关重要的。客户需要相关和准确的地理数据来确定在哪里可以找到他们需要的东西,企业需要能够跟踪有价值的资产。
像汽车租赁服务这样的公司经常在更新和维护汽车位置数据的数据库时遇到困难。借助作为强大搜索引擎一部分的地理搜索工具,整个过程可以无缝衔接。数据更新迅速,客户和企业用户可以快速灵活地进行搜索,从而保持运营顺畅。
通过地理搜索将用户导航到他们需要的位置
地理搜索是一个很好的工具,可以增强您的搜索策略,并在搜索结果中对基于位置的上下文进行分层。如果你正在微调你的搜索地理战略,你需要一个能处理你的用例的合作伙伴。从 地理搜索 到即时搜索,Algolia 提供了您需要的 UI 和后端搜索组件,无需使用大量开发资源即可创建一个开箱即用的有效搜索。
要了解更多关于设计满足并超越用户需求的搜索的信息,请阅读我们的电子书“ 7 种方法,从 Algolia 搜索中获取更多信息 ”
我如何用 Algolia 重新创建 r/place
原文:https://www.algolia.com/blog/engineering/how-i-recreated-r-place-with-algolia/
你可能听说过 r/place,一个由 Reddit 在四月的第一周创建的合作像素艺术项目。
如果你不知道 r/place 是什么,这是 Reddit 在 2017 年推出的一项实验:由数十万用户同时制作的合作创建的像素艺术画布。今年四月,他们又做了一次,这次用了更大的画布。
了解 Reddit 如何构建 r/place
我亲自参加了这个项目。也许你也是!我在这里和那里放置了一些像素,非常喜欢。
这也让我开始思考。我想知道我是否可以利用 Algolia 的能力及其快速索引/浏览功能来创建一个受 r/place 启发的实时实验。
从构思,到初稿
最初的想法是创建一个索引,包含几百条记录 &,每行呈现一些点击,使用 CSS grid 来放置它们。
每条记录是一个像素,每条记录包含以下属性:
{
"objectID": 0,
"id": 0,
"bg_color": "#FFF",
}
我使用了 algoliasearch
包,来呈现我页面上的每一条记录。
这个想法非常简单:每个记录(或点击)是一个 div,每个 div 是一个像素。div 的背景色是点击的bg_color
值。
当你点击那个 div 时,它发送一个index.saveObject()
到 Algolia,并用你选择的颜色替换bg_color
属性。
基本上,它是这样工作的:
<main className="canvas">
{allHits.map((hit) => {
return (
<div
data-cell-id={hit.id}
key={hit.objectID}
onClick={(e) => handleClick(e, hit)}
style={{
background: hit.bg_color,
}} />
);
})}
</main>
而在 JS 这边:
const handleClick = (e, hit) => {
e.target.style.background = pickedColor;
index.saveObject({
objectID: hit.objectID,
bg_color: pickedColor,
id: hit.id,
});
};
对于调色板,我创建了一个简单的Palette
组件:
// import colors from "constant/colors" which is an array of colors
<div>
{colors.map((color) => (
<button
key={color}
onClick={(e) => { e.preventDefault(); setPickedColor(color); }}
data-color={color}
style={{
background: color,
appearance: "none",
}} />
))}
</div>
因为 Algolia 根据它的默认排序算法(排序公式)对结果进行排序,所以我必须进入我的索引设置,删除排序配置中的所有内容,以防止点击被“随机”呈现,并使用 ID 属性和升序排序将像素按从 1 到 x 的正确顺序排列。
Algolia’s ranking and sorting index settings
现在基础已经就绪,是时候点击一下,看看它会如何渲染了。这是我生成的第一批截图之一。我很高兴看到这个想法仍然存在,并且正在发挥作用!
First screenshot I did of the rendered canvas
我需要提到的是,我计划让它实时工作,这意味着当其他人参与时,当你在画布上时,你将能够看到像素被着色。
为了实现这一点,也为了避免等待服务器对像素着色的响应,我需要使用所谓的""
*> 乐观 UI 是一种模式,您可以使用它来模拟突变的结果,甚至在收到来自服务器的响应之前更新 UI。
让我们潜得更深!
既然我对自己想要什么以及如何实现有了一个基本的想法,我决定用 Vercel 来托管它。我已经在使用一个 NextJS 应用,这是我选择的框架,而且我有一个 Vercel Pro 账户。Vercel 最后非常有用!稍后我会解释原因。
然后我更深入,从几百条记录到一千条;一幅 1000 像素的画布,可以开始“着色”我和几个同事聊了一下,他们就在我收拾自己乱七八糟的代码的时候开始玩了。
画布现在看起来像这样:
The canvas when people started trying it
我认为添加边框是个好主意,这样你可以看到你点击的地方,这也清楚地表明“像素”并不完全是正方形。对于无边框版本来说,这很容易猜到,但这使得它更加清晰。这是我最终解决的问题,在未来的迭代中使像素平方。
这就是事情变得有趣的地方:我的同事开始发送改进想法和修复“错误”的方法,这些错误实际上是 Algolia 的功能。例如:
On this gif we can see that clicking on a color will fetch the cached state of the canvas
当你点击时,颜色被应用;然后,当您选择另一种颜色时,先前单击的像素会恢复为其先前的颜色。这是因为 Algolia 的响应是缓存的,单击调色板会触发组件更新,所以它会显示缓存的响应。
为了解决这个问题,我的同事莎拉·达扬建议使用 Algolia 提供的NullCache
方法,如下所示:
import { createNullCache } from "@algolia/cache-common";
import algoliasearch from "algoliasearch";
export const searchClient = algoliasearch(
process.env.NEXT_PUBLIC_ALGOLIA_APP_ID!,
process.env.NEXT_PUBLIC_ALGOLIA_BROWSE_API_KEY!,
{
responsesCache: createNullCache(),
requestsCache: createNullCache(),
}
);
NullCache
表示不会缓存请求和响应。每个方法调用都会发出一个 API 请求。阅读更多
放大画布
接下来,我在索引中添加了一些点击,并将画布放大到包含 4020 像素的网格。我把链接发给更多的朋友,他们开始玩它。
The canvas after some talented folks started drawing in it ⚡️
这给了我足够的反馈来改进应用程序的代码。
我还使用 CSS 将光标颜色替换为用户选择的颜色,这样他们就可以看到将要应用的颜色。
为了实现这一点,我将这部分 CSS 添加到我的主页面组件中,这样它就可以使用pickedColor
状态:
const css = `
html,body,button {
cursor: url("data:image/svg+xml,%3Csvg
xmlns='<https://www.w3.org/2000/svg>'
viewBox='0 0 48 48' width='32' height='32'
style='transform: translate(10px, 10px);
enable-background:new 0 0 19.9 30.8'
xml:space='preserve'%3E%3Cpath d='...' fill='${pickedColor.replace(
"#",
"%23"
)}'/%3E%3Cpath d='...'/%3E%3C/svg%3E")10 10, auto}
`;
The cursor color changing on click
I 实现用户计数器
我认为实现一个用户计数器来显示有多少人同时在画布上是一个好主意。
对于用户计数器,我用 socket.io 做了一个项目,托管在 Heroku 上,用io.sockets.on('connection', (socket) => { ... })
的方法统计用户数。每当用户连接时,就会向客户端发送一条socket.emit('user_connected')
消息。这将向我显示同时连接到画布的用户数量。为了保持最新的用户数量,我设置它在用户断线时发送一条socket.emit('user_disconnected')
消息。
设计非常简单,但我不需要更多的东西:
The pretty basic user counter
第一张图纸
在这一点上,画布上出现了一些图形,但是有一个重要的问题:索引 API 键被公开,这将允许人们破解它,并使用批处理请求更改像素的颜色。
为了解决这个问题,我决定使用 NextJS API routes 来处理请求,并对我的 API 密匙保密。还记得我说过 NextJS 最终非常有用吗😊?
缺点是索引时间略有增加,但对我来说,这没什么,因为它只有几秒钟,而且那个项目是一个实验,一个概念的证明。
所以将 API 调用延迟几秒钟是完全没问题的。另外,还记得乐观的 UI 方法吗?这给用户留下了快速的印象,所以一切都很好。现在,每当用户点击一个像素时,这个函数被调用:
const handleClick = async (e, hit) => {
// if the color of the clicked element is the same as the color of the current hit
// Do nothing
if (
e.target.style.background !== hexToRgb(pickedColor!)
) {
e.target.style.background = pickedColor || "";
await fetch(`/api/indexData`, {
method: "POST",
body: JSON.stringify({
objectID: hit.objectID,
bg_color: pickedColor,
id: hit.id,
}),
});
}
};
并且在 API routes 文件夹内移动这个索引代码,api/indexData
允许我在 API 端点内执行我的函数,安全地保存我的敏感数据。
正如您所看到的,单击已经具有相同颜色的像素不会有任何作用,因为更新具有完全相同的background_color
值的记录是没有意义的,所以这一步消除了一些索引操作。
制作互动画布
现在是有趣的部分:让画布互动。如前所述,当有人点击一个像素时,一个index.saveObject()
呼叫就会被发送到 Algolia。
我希望协作体验能够实时发生,所以我需要稍微突破一下极限。出于性能考虑,Algolia 的默认分页设置为1000 次点击 ,而的点击上限为每页 1000 次,因此我需要找到一种方法,在不分页的情况下一次性获得所有记录。
Pagination & Hits per page settings of Algolia
Error message stating that 50000 is too big for the hitsPerPage
这就是 Algolia 的浏览方法派上用场的地方。我每隔几毫秒运行一次查询(准确地说是 600 毫秒,它浏览了整个索引,并将所有命中结果放入一个数组中。
代码如下:
useEffect(() => {
const id = setInterval(() => {
let hits = [];
index
.browseObjects({
query: "",
batch: (batch) => {
hits = hits.concat(batch);
},
})
.then(() => {
setAllHits(hits);
});
}, 600);
return () => {
clearInterval(id);
setIsLoading(false);
};
}, [allHits, shouldFetch]);
那工作得很好!令人惊讶的是,Algolia 每隔 600 毫秒一次更新数千个项目,而不会冻结甚至变慢。
多了很多空间
是时候把它变得更大了。
我的朋友凯文·格兰杰提出了一种方法,将画布从之前的 4020 像素放大到四倍,这就是我们最终完成这幅画布的原因。我们还修改了每行的像素数量,最终得到了一个16080像素的画布!
这是最终的结果:
甚至更大的
当人们开始使用画布时,我认为把它做得更大会更好,这样可以画更多的东西,人们也有空间释放他们的创造力。我只对公司人员开放。最多的时候,大约有 18 个 T2 人同时使用它,这导致了一场小的像素战争。但这对我来说还不够。
因此,我将空间增加了一倍多,从的 16080 次点击增加到包含的 36180 次点击的最终大小,以允许更多的绘图并增加实验的趣味性。
Final canvas form with the grid shown
看到人们共同创造像素艺术真的很有趣。这是我为了捕捉历史而制作的一个画布探索者的录音。这描绘了最初几天的活动:
How I recreated r/place with Algolia
我是如何构建画布浏览器的,它允许我重放整个画布历史。
每隔 10 分钟,Heroku 上托管的节点脚本将以与每 600 毫秒刷新画布时相同的方式查询索引,这意味着它使用 Algolia browse 方法并将所有命中连接在一个颜色数组中。
颜色保存在仅包含三个属性的新对象中:
{
"objectID": "unix timestamp",
timestamp: unixTimestamp,
snapshot: [...]
}
该快照是代表 36,180 种颜色的值的数组。然后在 Algolia 索引中对其进行索引,使用timestamp
属性进行排序,从而使历史保持正确的方向。
All the attributes inside one of the explorer’s hit
起初,我使用的是全色值,例如:
snapshot: ['#FFFFFF','#FFF000','#FFF000'...]
但是我受到了 Algolia 的限制,因为最终的记录大小太大了(记录大小限制),而且由于性能原因,不能被索引。
因此,需要将颜色从十六进制的 6 位数字减少到十六进制的 3 位数字,并且我还删除了#
符号,从而产生了一个更小的数组,从而改善了 hit 的整体大小。
所以这个:
snapshot: ['#FFFFFF','#FFF000','#FFF000'...]
变成了这样:
snapshot: ['FFF','FE0','FE0'...]
现在我有了一切工作,并能够从头开始播放画布的演变。我喜欢从事这个有趣、有创意的项目,在这个过程中我学到了很多东西。我也喜欢它被公司如此热烈地接受的方式。
希望你喜欢这本书;如果你想了解更多,不要犹豫,在 Twitter 上 ping 我!
这里,你会找到该项目的 Github 资源库。
State of the canvas on April 22, 2022*
通过电子商务客户服务提高投资回报率
客户服务在任何公司的销售和增长战略中都占有很大一部分。毫无疑问,卓越的客户服务有着令人印象深刻的投资回报率。根据最近发布的sales force Research的研究,89%的客户更有可能再次购买,78%的客户愿意在一次失误后再次做生意,因为这是一次积极的客户服务体验。
企业在客户服务团队和支持方面的支出每年都占据企业预算的很大一部分,并分散到多个在线业务和行业,如零售、电子商务市场、媒体、SaaS 和社交媒体。尽管支持成本很高,但糟糕的客户服务对公司盈利能力的影响是巨大的。糟糕的客户服务导致 58%的客户愿意换公司,根据 微软 的分析。此外,根据 Zendesk 的报告,如果这种经历重复一次以上,这一数字将增长到 80%。
随着消费者行为向在线空间的巨大转变,公司必须适应新的用户行为和客户期望,以便保持相关性并优化其交易流程和用户旅程。
为什么要投资自助式客户支持?
根据 Zendesk 的客户体验趋势报告,消费者对独立解决问题有明显的偏好,69%的消费者倾向于独立查找支持相关信息。不幸的是,只有三分之一的公司向客户提供自助服务选项,如知识库。根据 ICMI 分析 ,如果将每次呼叫的实时帮助/支持服务成本(平均约为 6 美元)计算在内,自助式客户支持代表着客户和公司的双赢局面。
客服中心:零售
在线零售公司通过将支持相关内容集成到联合搜索体验中,在用户输入客户服务相关查询时显示支持横幅,并在网站上提供易于发现的专用支持中心部分,为客户提供无缝的客户之旅。
重定向至客户支持页面上与体育相关的帮助查询&商品零售商:Arc'teryx
当体育零售商 Arc'teryx 的电子商务网站上的客户输入与客户服务和支持相关的查询时,他们会被引导至专门的支持页面,无需花费时间浏览网站。
【T2
支持横幅搜索电子桌面:PC 组件
当用户在搜索框中输入与支持相关的查询时,西班牙电子网站 PC Componentes 会将用户引导至全面的支持资源页面。
零售商客服页面高亮显示和截图:Arduino
Arduino 在其帮助中心网站上使用 Algolia 高亮和剪贴功能。高亮显示向用户显示为什么 Algolia 显示一个特定的结果,而 snippeting 提取相关的上下文。
客户支持中心:商场
电子商务品牌和市场通常会处理包含数十万种产品的大型目录。集成支持中心使他们能够在用户寻求帮助时将他们与最相关的帮助中心资源联系起来。用户可以轻松、灵活地获得所有必要的信息,而不必花时间打电话给客户支持热线,也不必长时间等待客服代表或浏览网站搜索信息。
帮助中心搜索移动市场:Mercari
当 Mercari marketplace 购物者搜索特定问题时,界面会自动将他们引导至最相关的支持资源。
成功指标: Mercari 能够通过 Algolia 搜索功能为用户提供卓越的搜索和发现性能。用户查询返回的搜索结果和响应时间快如闪电,相比之下,平均等待时间和与呼叫中心现场客户服务代表的交谈时间,或用户浏览网站以搜索支持相关资料的时间更长。
- 整体 500 毫秒,端到端延迟
- 平均搜索延迟小于 200 毫秒
结论
客户服务是任何电子商务公司销售和增长战略的重要组成部分。出色的客户服务体验,以及由此带来的客户满意度的提高,有助于销售工作,有利于投资回报和客户维系。在极端的客户至上方法的时代,有时被称为客户痴迷——这是主要行业领导者设定的趋势——客户对每个电子商务网站或应用程序都有很高的期望。为你的客户提供低于标准的客户服务的风险转化为客户对你的竞争对手的忠诚度的损失。此外,自助服务解决方案的重要性正在上升。随着越来越多的客户倾向于独立寻找支持相关问题的答案,支持服务解决方案必须不断发展,以跟上新的趋势和期望。
客户支持软件的投资回报率和品牌忠诚度
今天的消费者期望的不仅仅是标准的客户服务,还包括他们访问的每个网站上的全面、响应迅速的自助服务支持。客户希望公司为他们提供与大型行业领导者相同的体验,这些领导者为他们可能遇到的任何服务相关问题提供卓越的支持解决方案。
我们倾向于将客户服务与零售和电子商务行业联系起来,但随着零售巨头向新行业扩张,他们对在线支持也抱有同样高的期望。媒体、游戏、SaaS 和其他行业现在有望通过现场代表和自助服务解决方案(如易于搜索的帮助中心、聊天机器人和人工智能生成的自动答案)提供一流的客户体验。
客服中心:媒体
高效的自助服务支持中心对于基于订阅的服务非常重要。一方面,客户从轻松找到所有支持相关问题的答案中获得了巨大的好处,而不必仔细浏览网站上的各个页面,这不可避免地会导致搜索疲劳和沮丧。
另一方面,组织本身受益于消除或大幅降低客户的支持成本。运营成本的节约,加上客户满意度的提高,对组织和客户来说都是双赢的局面。
在媒体网站上提供卓越的客户服务解决方案有多种互补方式。其中包括:
- 在多索引搜索中合并支持相关查询
- 将客户重定向到专门的支持页面
- 添加支持相关的横幅,当用户输入支持相关的查询时就会出现
- 以聊天机器人为特色,回答用户关于支持相关主题的问题
游戏支持中心:Playstation
当索尼 Playstation 网站上的用户在搜索栏中输入查询时,单个搜索结果页面会显示来自许多不同来源的结果,如内容页面、游戏和客户支持。为用户提供单一的信息访问点,可以省去大量浏览网站所需的时间和精力。
当客户在 Sony Playstation 的网站上搜索与客户服务和支持相关的主题时,他们会被定向到一个专门的支持页面,因此无需单独浏览网站。
支持搜索电视节目和视频的横幅:NBC
当用户专门搜索有关客户支持的主题时,在横幅中显示可用资源。
客服中心:SaaS
寻找支持相关信息的 SaaS 用户希望快速找到相关答案。在网站上实现支持中心的好处不仅限于降低成本和方便。这是 SaaS 公司调整和更好地适应用户偏好的一种方式,因为技术用户往往更喜欢独立搜索信息。
突出显示和剪切 SaaS: Adyen
SaaS 公司 Adyen 在其网站的支持中心使用联合搜索体验。他们基于单个查询提供各种信息,通过使用高亮和剪贴,Adyen 帮助用户理解为什么特定的搜索结果匹配。
结论
客户服务是任何组织收入和增长战略的重要组成部分。良好的客户服务体验有利于投资回报和客户保持,而低于标准的客户服务会导致客户忠诚度的损失。此外,随着越来越多的客户喜欢独立寻找支持相关问题的答案,自助服务成为客户服务流程中不可或缺的一部分。此外,今天的客户期望以闪电般的速度独立地找到相关信息,并且只需最少的搜索工作。
为了跟上客户互动、行为和期望的趋势和变化,公司必须利用新兴且性能越来越强的人工智能技术来实现客户服务产品的现代化。
为什么值得查看您的用户搜索分析
原文:https://www.algolia.com/blog/ux/how-leveraging-search-analytics-can-boost-user-engagement-and-roi/
你是否曾希望能读懂顾客的心思,了解他们想要什么或需要什么?
你当然有。
现在想象一下,你能够利用这种超能力,通过可操作的见解来提高你的搜索引擎性能,最终带来收入的巨大增长。
你不需要斗篷或者氪星血统。事实上,答案就在你面前。这一切都在你的网站搜索跟踪的用户搜索分析中。你在每月网站搜索报告中读到的关于网站访问者(或使用你的应用程序的人)的量化数据点和统计数据是提升你的内容策略和网站性能的关键。
什么是用户搜索分析?
用户搜索分析是详细的数据,使您能够准确分析潜在客户如何在您的网站上搜索产品。当他们到达你的网站主页或登陆页面时,它帮助你准确地理解他们想要什么,然后输入搜索查询,最重要的是,他们是否设法找到并购买它,或者以其他方式注册转换。
例:你的公司是一家高端服装品牌,一名顾客正在你的电子商务网站上搜索冬装。搜索框是他们的第一个停靠点。他们输入一个搜索词,比如“羊毛围巾”,仔细阅读搜索引擎的选择,然后到达一个产品详情页面。
完成这个搜索(以及其他搜索)的步骤会成为你潜在有用的用户搜索数据库的一部分。有了这些有助于理解你的搜索功能是如何工作的关键信息,你就可以确保你的网站或移动应用程序购物者正在做正确的事情。
它们为什么重要?
用户搜索分析不仅仅是一件好事;它们至关重要,因为它们让你的产品团队能够发现:
- 顾客在寻找什么: 冬装、周末度假、家居装饰
- 他们使用了哪些搜索词:10 号冬靴,曼哈顿的两居室公寓,蓝色卧室灯
- 哪个搜索词的销量最高:10 码黑色耐克鞋,中号红色连衣裙,新款特斯拉汽车
- 他们在搜索时找不到的物品 :黑色牛仔裤 xxl,黑胶唱片 vintage
因此,你收集的网站搜索数据为你提供了全面了解你的用户体验和参与度的基础。
然后,您可以使用分析工具迅速采取行动,解决任何不一致或不规范的问题,例如没有结果的热门搜索,从而让您的购物者感到沮丧。
然而,为了迈出这关键的一步,你需要一个搜索数据分析软件 工具 让你监控你的关键指标并模拟你的用户行为。
利用用户搜索分析的好处
了解用户的想法和需求有其明显的优势。除此之外,您还可以:
1。发现意想不到的模式
当你手边有大量的用户搜索分析数据时,谚语“知识就是力量”听起来是正确的。发现你的用户如何与你的站点上的元素交互,以及他们搜索你的网页的方式,给你一个他们当下需求和愿望的详细快照。
有时候,当你深入挖掘网站搜索分析的本质时,你可能会对某个特定搜索的发现感到惊讶。搜索模式实际上是艺术作品,检查你的网站曲折的用户旅程可以帮助你发现人们到底想在他们的搜索结果页面上看到什么。明确地知道这一点,你就可以提供更多。
2。自信地做出正确的决定
我们都知道在我们的个人生活和职业生涯中,做出决定是多么艰难。如果你能毫不犹豫地做出正确的决定,会怎么样?
借助数据驱动的用户分析,您可以。至少在你的职业生涯中,它让你不再猜测。
能够准确定位客户需求是做出正确决策的关键。例如,如果你正在制定一个策略来提高你下一季度的转换率,确定你网站上最受欢迎和最热门的搜索对于衡量你的成功和订购剩余库存是至关重要的。类似地,发现哪些搜索没有搜索结果表明您可以在哪里扩展您的产品。
3。降低你的跳出率
如果你的用户找不到他们要找的东西,他们就会离开。就这么简单。然而,有了搜索分析工具,你可以找出他们点击的具体原因,并防止这种消极的情况发生。
这都与相关性有关,提高相关性是利用用户搜索分析的主要好处之一。怎么说都不为过:一旦你知道你的用户想要什么,你就可以做出改变来满足他们的搜索并满足他们的购买欲望。这是一个很好的赌注,利用网站搜索分析,找出他们到底想要什么,将有助于您保持他们在您的网站上。
例如,如果你是一家运动鞋零售商,并且你发现你的网站上有很多访问者在搜索一个你网站上没有的独立教练品牌,你可以采取行动购买。当他们看到你带着它时,他们可能会把它添加到购物车中,然后不停留在那里——他们也可能会考虑添加产品。
4。提高参与度(和回头客)
当潜在客户登陆你的网站时,由于他们在谷歌和亚马逊等网站上享受的一流搜索体验,他们期待的不仅仅是一个平稳的旅程。他们希望快速、轻松地找到他们想要的东西。
这就是你的用户参与度发挥作用的地方。你需要能够自然地吸引人们——希望留在你的网站上——这样他们就能成功搜索,然后继续浏览。
用户搜索分析照亮了你的用户旅程,因此你可以做出对搜索者有意义的修改,并提供卓越的客户体验。这是有道理的:在你的网站上有很好的 搜索经历的人更有可能回来!
5。提高您的投资回报率
达到关键绩效指标总是很难——这是网上做生意的本质。然而,你可以超越猜测,让你的商业决策变得更容易。再次,它归结为坚实的搜索数据。没有用户数据,你怎么知道客户想要什么?搜索数据突出了差距,并向你展示了人们最想要和最想买的东西,以及他们是如何找到这些东西的。简而言之,提供 伟大的搜索 ,加上你的用户想要的产品和服务,是获得更好回报和将你的收入推向新高度的一个可靠途径。
如何利用你的用户搜索分析
所有这些权威数据科学的好处听起来都很棒,不是吗?你可以到达那里。从功能的角度来看,需要做一些事情来充分利用你的用户搜索分析:
1。关注搜索相关性
这就是你从用户搜索分析中获得最大投资回报的方式。通过提高搜索相关性,您可以为您的用户创造更好的体验,这样他们就可以快速找到他们想要的东西,而无需更多的麻烦。
相关结果不只是让人们留在你的网站上;他们鼓励他们购买,逗留更长时间,并定期回来。
2。对“没有结果”说是
有了分析平台,并不总是关于你的网站提供了什么,而是关于它没有什么。深入调查,找出哪些搜索让你的用户想要更多或者放弃你的网站。这是真正有价值的商业情报,可以成就或打破你的指标。
然后考虑优化:应用你的内部网站搜索数据来增强对你的产品或服务的搜索(以及你的网站导航,如果适用的话)。增加相关性的这一步可以很容易地提高你的用户参与度,并产生更高的收入。
3。与拼写错误和同义词交朋友
当搜索者很匆忙的时候,他们想要的词并不总是在搜索栏中完整地出现。为了解决这个问题,你可以优化你的搜索栏,找出明显的拼写错误(例如,Carribean dress 或西班牙语语法书),以准确解读你的用户意图,从而使一个平稳,连续的游客旅程。
最迷人的(气人?)英语的一个特点是有很多单词可以(正确或不正确地)互换。有病又有病。嫉妒又羡慕。这样的例子不胜枚举。
人们搜索的产品和服务名称也是如此,尤其是在不同国家之间。例如,一些购物者寻找一件毛衣,而其他人寻找一件套头衫。确保将所有术语作为标签添加到产品名称中,有助于提供快速、轻松的搜索体验。
读懂客户的心思
准备好释放你的内部网站搜索分析的商业价值了吗?
很容易用 来分析 。我们的搜索解决方案让您能够了解活跃用户的需求,然后实施数据驱动的决策来改善搜索体验,从而改善您的搜索指标并刺激您的盈利能力。
借助 Algolia 的高级分析工具,您可以:
- 在您的分析报告中发现令人惊讶的重大搜索趋势
- 确定没有产生结果的热门搜索和搜索字符串
- 查看用户在网站搜索结果中点击的确切位置,他们点击搜索结果的频率,当然,还有你最关心的事情:有多少百分比的搜索会带来高点击率和转化率
- 配置您的搜索设置,解决阻碍您购物的问题
现在是行动号召:想要更好地了解你的用户和他们的需求——并在合适的专家分析帮助下提高你的网站可用性和客户保持率?我们打赌你知道。联系 我们的团队 ,我们将让您专业地分析您的内部搜索数据,为您的网站或应用程序进行专业级升级。
电影和视频推荐是如何工作的?
你如何在线观看电影和视频?在你电脑上的 YouTube 上?手机应用程序中的网飞?或者更好的说法是,你使用多少流媒体服务来观看你推荐的电影和视频?
像网飞这样的视频流媒体公司——也被称为媒体服务——已经开始主导娱乐行业,不仅改变了消费者的观看习惯,也改变了行业的运营方式。
就像音乐领域的 Spotify 一样,OTT 媒体服务使用了一种现在很常见的方法;一种“胜利公式”它看起来是这样的:免费试用后相对便宜的月订阅费,然后是推荐内容的扩展库和高度个性化的用户体验。
让我们来看看流媒体服务如何为用户生成个性化的视频推荐,为什么获得正确的内容推荐很重要,以及您的企业如何利用这些知识来改善您的客户体验。
神话般的算法
在谈论高质量的 个性化推荐 时,人们往往关注一个方面:推荐算法是如何工作的。对许多人来说,算法——一套循序渐进的程序或遵循的规则——呈现出一种近乎神话的形式。对另一些人来说,这是一群硅谷天才无比复杂的大脑产物。不管怎样,这都被视为一家公司成功的秘密。
但是这些算法并没有你想象的那么神秘。算法功能并不局限于拥有最聪明的计算机科学家的精英组织。你不需要和谷歌竞争来雇佣最好的工程师。任何企业都可以通过电影推荐 API 使用这项技术,您可以轻松地将它与您的产品和服务集成在一起。此外,这项技术可以帮助企业通过吸引和留住高度参与、满意的客户来增加收入。
为什么客户体验很重要
毫不奇怪,亚马逊是这方面做得最好的公司之一。可以说,杰夫·贝索斯对客户的痴迷和他对亚马逊成为“地球上最以客户为中心的公司”的 愿景 导致了对用户体验的重视。如今,推荐是必不可少的,因为客户期望并要求与他们使用的每件产品或服务相关的高度个性化的体验。
它带来的不仅仅是卓越的客户体验。麦肯锡 的研究 发现,做好个性化客户体验的组织可以从中获得 40%的高收入。
这对于视频和电影流媒体服务尤为重要。有了如此多的选择——想想网飞庞大的电影和电视节目库或 YouTube 推荐——推荐已经成为提供成功客户体验的重要方式。否则,用户会继续浏览,直到被 的选择淹没 ,他们决定做些别的事情:做饭、开车兜风、玩游戏。或者查看竞争对手的视频内容。
商业案例视频推荐
为了说明这一切有多重要,有必要快速概述一下推荐视频的商业案例。电影和视频推荐至关重要,因为它们:
- 提高用户参与度: 客户希望他们的服务能够了解他们的偏好并提供无缝的个性化体验。他们希望能够看着他们的手机或打开他们的电视,并立即收到一个符合他们心意的推荐。
- 提供竞争优势: 建议是一种竞争优势。如果你的推荐引擎和竞争对手的不一样,客户会很快改变忠诚。
- 增加订阅数量: 在竞争激烈的行业,吸引和留住订阅用户是关键。当你能优化你的推荐时,你就有了更满意的客户,他们会长期坚持你的服务。
- 发展业务: 没有以上这些要素,你的业务根本就跟不上。没有比这更有说服力的商业案例了。没有好的推荐,几乎不可能发展你的业务。
引擎盖下有什么
那么一个 推荐引擎 是如何工作的呢?我们可以获得关于数据科学的技术,但这种讨论不会增加太多价值。在这一点上值得知道的只是 Algolia 这样的公司提供电影推荐 API。
但是既然你问了,这里有一个基本的高层次概述。
有 两种方式 生成视频推荐:
内容基础
这种方法会考虑客户的偏好(喜欢、不喜欢、活动),并根据他们的电影推荐相似的内容。如果客户一遍又一遍地观看 【侏罗纪公园】 ,电影推荐系统会推荐相关视频,比如另一部恐龙电影或特许经营。为了有效地完成这项工作,你需要有效地标记和描述你的内容,例如,包括类型、子类型、导演、演员和节目长度。通过这种方式,推荐引擎可以提供您的客户渴望观看的播放列表内容。
协同过滤
这种技术利用了过去围绕用户喜欢的电影类型的交互,但也考虑了其他用户的偏好。通过在多个用户的偏好之间建立联系,它可以预测其他观众可能喜欢什么。当你大规模这样做的时候,你可以得到一些非常准确和有趣的推荐视频和电影。
预建推荐系统的好处
听起来很棒,但是从头构建一个推荐引擎不是很复杂吗?
不,如果你选择正确的解决方案来照顾你的技术方面,就不会。
Algolia 完善了一个电影推荐 API,易于实施和调整,因此您的企业可以立即开始提供个性化的视频推荐。使用 Algolia 推荐 ,您的开发人员将获得一个简单而强大的 API,来交付您的客户所期望的推荐体验。
要了解电影推荐 API 如何工作以及如何为您的客户改进视频和电影推荐,请立即联系 美国 。
相关内容推荐如何提高用户保留率
原文:https://www.algolia.com/blog/ux/how-related-content-recommendations-keep-users-engaged/
你喜欢你在 Medium.com 上读到的一篇文章,这篇文章是一个青少年写的,关于青少年对各种社交媒体网站选项的看法。嘿,你会不会 也 这样一个 60 多岁的婴儿潮一代对脸书的看法?
当你在网上浏览时,类似内容的推荐会让你保持兴趣和求知欲。它们让你觉得在线内容提供商,如视频和电视节目网站、报纸出版商和写作网站、社交媒体、求职板和其他内容类型的中心正迎合你的需要。它们会让你怀疑,即使是你自己也不一定是你想阅读、观看或互动的内容的专家,毕竟,有时它们会建议你不要查找的相关内容。无论如何,如果你认为自己是一个信息海绵或某个主题的初露头角的专家,你可能会特意去寻找相关内容的推荐。
你是贵宾
像你这样的人对提供在线内容的公司来说是个好消息。如果你关注他们网站的链接,你就在推动页面浏览量。你这样做的时间越长,你就越有可能转化,比如注册成为会员,以便阅读(或观看或收听)更多有趣的内容。帮助您找到您需要或想要的内容页面,并延长您花在 captivated 上的时间,是他们推动转化的关键。
对于内容网站所有者来说,这就是相关内容推荐的来源。当他们能够在附加内容推荐功能方面一针见血时,这就构成了一个令人信服的理由,让你继续留在他们的网站上,并不断回来,也许会成为一个忠实的会员或订户。
有哪些相关内容推荐?
相关内容推荐是基于用户的搜索活动或其他指标,指向相似相关内容的链接。想想有一次你上网去 找一部新电影 ,界面怎么没忘记你一周前一直在找的东西;它推荐了让你想了解更多的项目。或者当你阅读纽约时报网站上的那篇新闻文章时,它会提示你另外一篇有趣的文章,你会从头到尾地阅读。
相关内容生成是如何工作的?
在技术层面上,推荐引擎分析用户与不同项目之间的交互,以绘制这些项目之间的链接。从那里,它使用定性数据来显示相关的内容推荐。
但这只是开始。用户记录的输入和动作(例如,完成的搜索)越多,他们的推荐就越准确。最终,搜索软件会建立一个可靠准确的个人资料。如此可靠,以至于有些人觉得它就像是一个“了解他们”的老朋友。嗯,这种高质量的意识很容易导致较低的跳出率和稳固的长期“友谊”
做相关内容正确的好处
到目前为止,一切顺利。但是许多网站都没有达到(甚至没有试图达到)像网飞这样的大型网站所达到的在线个性化水平。这很不幸,因为越来越多的消费者希望及时收到相关内容的建议。
请记住,你的任务——如果你选择接受的话——是让人们更愿意呆在你的网站上,看看你还在做什么。相关推荐的存在有助于这种有价值的努力,这可以极大地提升你的网站的吸引力。
你可以想象到目前为止这篇文章的主旨,建立相关内容推荐有很多好处,其中很多都有连锁反应。这里可以说是前三名:
欣喜、感激的用户
被提供一个系列中的下一个调查性的故事或者博客网站上的下一个相关话题,或者他们喜欢的类型的最新电影,吸引人们。他们对它很感兴趣,并且可能记得他们是多么喜欢它的内容。他们将你的网站加入书签,并经常访问你。你获得了他们永恒的忠诚。
提高用户参与度
非凡的用户参与度和一流的用户体验是相辅相成的。当相关的信息推荐以正确的方式呈现时,网站访问者会情不自禁地在你的网站上搜索,探索相似的主题,并丰富他们的理解。
暴涨转换
推荐相关内容(无论是关于产品、博客文章、新闻还是其他内容)是个好主意;事实证明,这也是推动转化率和收入的一个因素。正如在线零售商Gymshark发现的那样,通过 Algolia 推荐 ,他们可以为点击推荐产品的顾客增加 5.5%的订单率。此外,他们的移动订单率增长了惊人的 150%。
如何摇滚相关内容
好的,那么你被说服了做相关内容推荐这件事的重要性。但是你如何让你的网站合作呢?你的用户能从他们刚刚阅读或互动的内容中看到你的相关内容的路径吗?
要从推出相关内容建议中获得最佳效果,请记住:
对就是错
有一种 倾向 让人们在网上把页面右侧的某些网页元素视为广告,因此忽略它们(不管它们是不是广告)。是的,人们训练自己避免被转移到广告商的登陆页面。这意味着右侧不是介绍相关内容的最佳位置。
最下面是出局
将相关内容链接放在页面底部的网页模板是一个失败的命题。你的用户根本看不到他们在那里。
我们在这里排除了选项。那么,这些东西放在哪里呢?
营销专家建议网站将 放在内容 的正下方(而不是页面的最底部)。这是观众可能会将目光投向的最佳位置;进一步探索内容的起点。
关联性是必备的
如果有人在寻找关于气候变化的新闻文章,他们不会想看到关于卡戴珊的文章。如果他们在看一部可爱的浪漫喜剧片,他们可能不希望你推荐一些令人沮丧的纪录片。
提供大量的链接似乎是明智的,但是如果这些项目没有足够的相关性,它们就不会被注意到。所以,即使你非常想推广某个特定的内容,如果它不相关,也要三思。人们登陆你的网站是出于特定的内容驱动的原因,现在不是偏离主题的时候。给他们你最好的相关内容菜单。
可用专家帮助
要让相关内容推荐发挥作用,拥有能够满足你建立参与度和增加转化率目标的技术是有帮助的。易于实现、调整和简化,以满足用户的内容需求。这样,无论人们是直接进入内容详情页面还是随意点击主页标题,你都可以确信你提供了正确的建议。
我们为您推荐?了解更多信息
我们很高兴您能抽出一分钟来查看这些内容,我们希望这些内容能帮助您改变网站的表现。感谢您的关注!
现在为几个相关内容推荐(并在正确的位置引导):
你可能也喜欢
搜索如何帮助商业团队增加销售额
原文:https://www.algolia.com/blog/product/how-search-helps-business-teams-increase-sales/
从获取和留住客户的测试方法到寻找强有力的数据来支持决策,可持续发展的公司知道完善您的战略并衡量结果是多么重要。但即便如此,许多企业还是忽略了一个强大的战略工具——搜索栏。如果你认为搜索框只不过是 UX 的一个要求,那你就错过了。适当优化后,搜索可以被调整以匹配业务目标,并生成关于您的用户的有洞察力和可操作的数据。
通过帮助你更好地理解和服务你的用户需求,伟大的搜索也让你的用户高兴,推动销售,转换和用户参与。
内部搜索、搜索即服务和站点搜索
无论是内部搜索、搜索即服务还是网站搜索,所有这些术语都指向网站的搜索功能,只是有一些细微差别:
内部搜索, 或现场搜索,是一个总括术语,指的是个人网站上的搜索功能,帮助用户在网站的产品或内容目录、子域或数据库中找到东西。搜索可以在本地或云中进行。
搜索即服务 是一种云托管的内部搜索,由第三方供应商维护网站搜索的托管、运营和维护。 有了这款 SaaS,网站就能即时访问到厂商提供的搜索功能、创新和更新。这使得企业能够快速无缝地实现非常强大的搜索功能,而不需要大量的搜索专业知识或开发资源。
站点搜索 是大型站点内部搜索和搜索即服务的一种具体形式。
为什么业务和销售团队要关心搜索?
如果你的企业在互联网上提供产品、内容或服务,你的用户就会期待在你的网站上搜索。事实上, 43%的用户会直接进入搜索栏 。搜索栏会影响 用户对你的品牌和底线的认知 。
相关、有效的搜索可快速将您的用户与他们的需求联系起来,推动平均购物篮价值、转化率、潜在客户生成、注册/订阅的增长,并改善用户体验。糟糕的搜索(或者根本没有搜索)会阻止他们找到他们想要的东西。一次不成功的搜索经历 会导致 12%的用户去竞争对手的网站 。
任何网站都可以从为用户提供速度更快、相关性更强的搜索结果中获益。大型 电子商务网站 等拥有大型产品或内容目录的网站尤其需要搜索。没有它,用户就不可能浏览网站。如果他们不能导航,他们就不能皈依。
搜索也不仅仅是将用户与他们的需求相匹配。设计良好的搜索可以感受到个性化,即使没有个性化工具, 引导用户发现他们尚未预料到的需求 。相关搜索可以成为建立品牌忠诚度战略的有效鼓励回头客和访客 。
这里有 8 种搜索方式可以支持你的商业策略并推动销售:
1。基于业务优先级的直接排名规则
有效的内部搜索引擎为企业提供了在 默认排名标准 之上分层特定业务标准的能力,因此它们提供了卓越的搜索相关性。这允许业务用户区分业务需求和优先级的优先级,并更有效地定位他们的用户。自定义排名允许业务团队根据他们知道的重要因素(如受欢迎程度、最近添加等)调整和指导排名。),这有助于提高重要产品、内容等的可见性和用户参与度。
2。使用营销工具推广产品和内容
对于精心打造一个服务于用户需求和商业目标的搜索和发现体验来说,监管是至关重要的。使用 搜索营销 工具,您可以确保您网站上的搜索体验符合您的营销战略,支持促销活动,并帮助您实现收入目标。您可以开展季节性活动,在搜索结果中显示促销横幅,推荐类似产品,战略性地提升和隐藏产品,将用户重定向到常见查询的专用页面,最终提供令人满意的个性化体验。
搜索结果的商业化通常是一个耗时的过程。Algolia 的用户友好型拖放界面使跟单商能够轻松创建规则。
3。在本地应用您的全球战略
如果你的企业有几个由本地团队管理的不同网站,你应该知道在所有网站上复制一致的 搜索和发现策略 的难度。有了一个强大的搜索工具,你可以在你的本地站点上统一你的核心策略。然后,借助营销、定制排名工具和本地相关关键词的知识,您的本地经理可以负责他们所在地区的营销和内容推广。
4。轻松扩展站点
随着业务的扩展,网站通常也需要这样做。您网站的搜索应该支持而不是阻碍您的发展,允许新的内容、产品、资源等立即被搜索到,以防止失去销售和/或参与的机会。通过有效的搜索,拓展业务的挑战性要小得多。诸如站点爬虫之类的工具和诸如联合搜索之类的搜索功能确保您的内容仍然是可搜索的,并且您的产品是可快速检索的,无论您站点的内容和产品目录变得多么大或多么分散。事实上,当涉及到快速构建跨各种实体的联合体验时,爬虫可以成为一个很好的替代解决方案来替代 API 集成。通过将这些需求外包给专门的搜索供应商,企业可以缓解搜索可用性和安全性的日益增长的烦恼。
5。支持更好的决策
当用户与你的搜索界面交互时,他们会直接告诉你他们需要什么和渴望什么,并以搜索查询的形式整齐地打包。分析这些用户行为和趋势信息有助于您在决定如何为用户提供最佳服务时消除一些猜测。一个 搜索分析仪表板 以一种易于理解的格式呈现相关信息,例如关键词和关键短语搜索、过滤器和方面选择、没有返回结果的搜索、搜索建议点击等。这些有价值的、可操作的数据可以帮助您发现您的策略中可能缺少的东西,并找到改善搜索体验的机会。
6。通过热门搜索了解你的用户
热门搜索极具洞察力和可操作性。这些搜索揭示了人们访问你的网站的原因,包括哪些产品、服务或品牌产生了最大的影响,以及他们可能有的常见问题。这样的信息对于完善推销和完善营销工作是非常理想的。随着对与用户群产生共鸣的内容的了解增加,销售人员可以突出关键功能,并立即用新线索先发制人地解决热门问题。
7。使用“无结果”搜索来填补空白
在网站上没有返回结果的搜索揭示了内容策略或产品路线图中的差距。该数据可以指示对广泛改变的需求,例如,开始新产品和/或内容开发,或者简单改变,即,向同义词库中添加新的同义词以捕捉人们搜索事物的各种方式。通过将“ 无结果”搜索数据 与现场收集的反馈进行匹配,销售团队可以帮助企业确定未来产品增强(与产品开发团队)或内容创建(与营销团队)的优先顺序。
8。创造更好的自助服务内容
如今,在客户与销售代表交谈之前,大量的购买者旅程就已经开始了。销售团队可以让客户通过网站上的高质量内容进行自我教育,从而获得成功。利用来自网站文档或帮助部分的搜索分析数据,您可以创建有用的内容,主动回答问题,并使潜在客户能够自行适应您的产品。这种类型的自我教育对于满足销售渠道至关重要,尤其是当客户可以通过搜索随时使用公司的服务和产品时。
所有这些搜索功能都通过用户友好的仪表板、报告和自定义排名选项得到了显著增强。有竞争力的搜索解决方案甚至允许商业用户自己微调他们网站搜索的不同方面,只需要很少或不需要开发团队的帮助。
3 家公司如何利用搜索即服务实现业务和销售目标
搜索是推动业务绩效的战略工具。以下是三家公司如何利用搜索来发展业务的:
安德玛:提高搜索转化率
当安德玛需要一种便捷的方式来维护和改善搜索体验时,他们转向了搜索即服务解决方案。通过搜索分析,安德玛发现了没有返回结果的查询。他们采取行动,优化搜索以产生相关结果,这反过来又导致跳出率下降。他们还根据受欢迎程度、新颖程度和可用性对产品进行定制排名。有了这些改变,安德玛能够将转化率提高 35%,并在强大的零售垂直市场中拥有最高的运动服装品牌搜索转化率。
iflix:增加内容收视率
对于 iflix 来说,搜索一直是应用导航的关键,也是访客是否观看内容的关键驱动因素(一个关键的商业指标)。不幸的是,一个优化不佳的内部解决方案让用户很难找到他们感兴趣的电视节目、电影、新闻视频和其他内容。当 iflix 将其搜索转向 Algolia 时,他们看到了高度定制、高度相关的搜索引擎的好处。与内部解决方案相比,业务和开发团队使用这种方法能够更快地迭代和改进搜索。优化搜索结果以更好地服务于其客户群导致 iflix 的转化率增加了 20%。伟大的搜索使 iflix 能够在主流市场上与同行竞争。
PubNub:缩短买家旅程
PubNub 是一个实时消息传递 API,它依靠超过 10,000 个内容资产的广泛目录来满足各种客户角色的需求。虽然他们已经准备好向任何潜在客户展示他们的价值,但如果没有一个系统的内容入口,这些用户永远也找不到出路。PubNub 实现了 Algolia 的网站搜索,以将大型目录转变为智能、个性化的搜索体验 。通过网站搜索,PubNub 的用户可以访问任意数量的网站,以获得符合他们需求的搜索结果,这大大缩短了客户的旅程和价值实现时间。
通过搜索增加商业价值
搜索栏是一个小而强大的工具,可以增加商业价值。优化的搜索可以让您的用户在需要时快速找到他们想要的东西,最大限度地提高用户体验和客户参与度。不要错误地认为只有你的开发者才能设计你的搜索。Algolia 的 可视化编辑器 使商业用户能够根据最重要的因素轻松引导搜索和发现体验。
通过我们的电子书 了解更多关于改善搜索体验和底线的实用方法,从 Algolia 搜索中获得更多益处的 7 种方法 。”**
搜索和设计如何帮助你的生意,是什么?搜索+商品
原文:https://www.algolia.com/blog/algolia/how-searchandising-can-help-your-business/
你听说过搜索。你听说过销售。请允许我们给你介绍一个你可能还没听说过的术语:搜索和设计。
正如我们之前在 Algolia 博客上分享的那样, 搜索和使用 是一种允许企业结合实体和电子商务优势的做法。如果做得好,它可以引导客户在你的网站上进行一次引人入胜的旅行。它还可以增加您的转化率和收入,以及与客户的相关性。但是我们超越了自己。在我们深入研究之前,让我们先弄清楚 到底是什么。
“searchandising”到底是什么?
正如你可能从名字中猜到的那样,searchandising(也称为 searchandizing 或 search merchandising)是搜索和销售的混合体。所以让我们先定义这两个术语。
先从 开始搜索 。电子商务环境中最狭窄的一种是客户在搜索栏中输入查询,而不是浏览。虽然过去搜索和浏览是有区别的,但多年来我们发现这两种活动并不完全不同。
事实上,超过 50%的搜索活动发生在搜索栏的 之外的 ,就像是在一家网店点击某个特定的类目。从功能上讲,该操作背后仍然有一个查询;你点了那个类别是因为你在找东西。从技术上来说,现在是搜索引擎和它访问的产品数据推动了浏览体验。
现在让我们考虑一下 商品销售 的定义。当商业用户、营销人员和网站所有者在用户搜索和浏览时推广他们的业务时,就会发生这种情况。有了搜索引擎提供的商品销售 规则 ,商家可以对结果重新排名,展示横幅,促销商品,突出新发布的商品。良好的商品销售确保顾客消费的是对顾客和零售商都有益的正确内容。
将所有内容整合在一起——搜索、浏览和销售
当我们拓宽搜索的定义时,术语 搜索和搜索 就出现了。它使用搜索和营销的元素来管理搜索结果,以产生更多的结果来推动某些指标。
正如我们在前述博客中提到的:
Searchandising 允许产品所有者、营销人员、商人和网站所有者推广产品,以符合业务目标的方式组织搜索结果,甚至跟踪人们如何与产品互动。搜索是一个迭代和持续的过程,可以不断改进,最终推动更多的销售。
那么,searchandising 到底能让你做些什么呢?让我们来探索一下!
searchandising 如何影响你的底线
有几种方法可以理解搜索和设计的好处。先从商业角度来看。
对于电子商务从业者来说,搜索引擎可以帮助你增加收入和转化率。如果没有 searchandising,也就是说,如果你的搜索功能是严格基于规则的,你最终可能会发现损害你业务的产品,比如缺货或低库存商品(或者甚至是非常符合搜索标准但评价很差的商品)。
使用 searchandising,你可以优先选择一个比当前排名第一的商品库存更多或顾客满意率更高的商品。即使从严格基于规则的角度来看,一些搜索结果可能更与文本相关,searchandising 让您有机会应用一些控制,以便更好的项目可以排名更高。
换句话说,searchandising 给企业带来的好处是,它允许你将自己的专业知识融入其中,打造出你自己完全可定制和可扩展的搜索体验。
搜索和设计是双赢的,因为它也让顾客受益。让我们看一个例子来说明如何操作。考虑一下季节性对在线服装零售商的影响:4 月份访问该网站的人可能在搜索栏中键入“夹克”,然后得到一些打折的冬季夹克,而他们实际上在寻找的是的一件轻薄的春季夹克。突然间,几个月前相关的结果或多或少都过时了。Searchandising 允许你重写规则来解释这些异常,这最终会带来更好的客户体验。
这是另一个用例:对于一些搜索查询,数据显示随着时间的推移,人们没有点击顶部的结果。也许他们总是点击第 10 或第 11 个结果。在这种情况下,客户搜索的内容和他们看到的内容之间存在差距。有时,这样做的原因并不清楚,但是通过使用 searchandising,您可以将更有可能被点击的结果推到更靠近结果顶部的位置。同样,向客户提供的结果与其在线购物体验的更大背景更相关。
如何搜索搜索
我们可以一整天都在谈论搜索和设计的不同应用,以及为什么它对企业和客户都有好处。但是你实际上是怎么做的呢?这就是事情可能变得更复杂的地方,这取决于你使用的是哪个搜索平台。
传统上,搜索引擎总是由工程师为工程师开发的。他们的算法是透明的,就像看某人的数学作业是透明的一样:它就在你面前,但除非你理解核心语言,否则很难知道你在看什么——更不用说试图对它进行任何更改了。
然而,在过去的 5-10 年里,开箱即用和专门构建的解决方案激增。例如,有了 Algolia ,营销人员和电子商务从业者实际上可以打开引擎盖并做出改变,而不会搞乱算法或商品销售。
当你有一个具有适当透明度和可用性的平台时,你就能更好地控制搜索在你网站上的运作。像我们这样的工具将控制权交给了能够为其业务提供最有效解决方案的人。
eye buy 如何直接使用 searchandising 来驱动转换
当 EyeBuyDirect 在 2015 年重新推出其网站时,它已经准备好成为眼镜零售行业的主要参与者。然而,随着网站获得更多的流量,他们的前端开发人员意识到,他们没有为客户创造更相关的搜索体验的灵活性。
然而,通过 Algolia,EyeBuyDirect 能够引入 searchandising 来优化客户的搜索和发现体验。使用 A/B 测试和目录个性化,该团队能够为每个客户提供真正的定制体验,提供相关的、智能排序的内容。
在 EyeBuyDirect 的案例中,结果确实不言自明。在实施 Algolia 个性化服务的两周内,该网站的总收入增加了 4%,其中转换率增加了 2.5%,平均订单价值增加了 1%(AOV)。
GymShark 如何使用 searchandising 增加相关性
总部位于英国的时尚品牌 GymShark 的搜索和发现功能遇到了大问题。糟糕的搜索结果把最畅销的商品埋在了页面的底部,而脱销的商品则显示在页面的顶部。当然,这导致了较差的转化率以及企业和客户的挫折感。
在 Algolia 的帮助下,GymShark 团队再次戏剧性地扭转了局面。如今,他们的搜索体验是根据需求、受众和目录量身定制的。该团队还在他们的排名中添加了标准,以便脱销的商品不会首先出现。
他们还使用人工智能来调整某些搜索词的相关性。例如,搜索“运动裤”的美国顾客得不到任何结果,因为这些产品在网站上被列为“慢跑者”。通过检测这一错误,他们能够纠正它,并向客户展示他们实际上在寻找什么,无论他们在哪里。
GymShark 认为他们的搜索和设计任务成功了。一年后评估结果,他们发现他们的搜索转化率从 6.2%上升到超过 10%。此外,虽然搜索曾经在不到 10%的订单中发挥作用,但在 2020 年黑色星期五,它在超过 30%的订单中使用。最后,来自搜索用户的收入同比增长超过 400%。
你将如何使用 searchandising 来改善你的业务?
搜索和设计的理由很简单。当您能够为客户创造更好、更相关、更有针对性的体验时,您的业务也会受益。最好的消息是,工具已经存在,你今天就可以开始你的搜索和使用之旅。
要了解如何转变您的数字战略, 免费注册 Algolia并亲自查看。或者 今天就从我们的搜索专家那里获得定制的演示 。
Swedol 如何创造更好的 B2B 数字体验
原文:https://www.algolia.com/blog/customers/how-swedol-created-a-better-digital-b2b-experience/
“[阿尔戈利亚]从一开始就非常专业。我们有一个伟大的客户成功经理和团队,他们提供了很多帮助,是一个很好的合作伙伴。
当我将它与其他公司进行比较时,他们“向你推销 CSM 和与你一起工作的团队”,“但随后他们让你去“看文档”,我不禁要问,“如果我必须自己寻找一切,团队还有什么意义?”Algolia 没有出现这种情况。"
Clint fischer strm——Alligo 电子商务主管
对于一个服务于 B2B 客户的电子商务平台来说,很难让从买家到销售团队等所有人都满意——尤其是一个拥有大量产品的平台。这是 Swedol 电子商务主管 Clint Fischerströ面临的挑战。他通过 Algolia 更快、更好、更容易的搜索克服了这一挑战。现在每个人都很高兴,可以找到他们需要的一切,这转化为收入的增加。
确保 100 家商店的最佳 B2B 购买体验
自 1963 年开业以来,向运输专业人士销售润滑油,直到今天,向多样化的客户群提供从工具到工作服的各种产品,【Swedol为企业和消费者提供了卓越的客户服务和定制的购物体验。它们现在跨越建筑、工业和车间、运输、农业、林业和公共服务等行业。
Swedol 电子商务主管 Clint Fischerströ的使命是提供工具和指导,以帮助客户的业务增长,难怪他每天都在努力为整个北欧地区的 Swedol 在线商店创造个性化的差异化体验。但是工作并不止于此。为了创造一流的体验,其 100 家零售店的 1000 多名销售团队成员还必须配备一流的技术,以便快速高效地为客户服务。
不灵活且开发人员过多的解决方案阻碍了业务目标的实现
2019 年,Clint 和他的网络开发人员/系统专家 Viktor sre Lind 终于厌倦了 Swedol 销售团队对他们持续糟糕的搜索体验的无数抱怨。
“在我们改用 Algolia 之前,组织内部普遍的看法是,当你去网上商店时,每个人都说,‘这个网站太糟糕了,因为搜索太糟糕了。“这太可怕了!”"
viktor sre Lind,Alligo (Swedol)网站开发人员/系统专家
当时,Clint 和 Viktor 正在使用为 B2B 和 B2C 电子商务领域打造的全包式开箱即用定制开箱即用解决方案定制 解决方案。该解决方案为 Swedol 这样的企业提供了有用的功能和分析,但缺乏灵活性和相关性,给数字团队带来了诸多挑战,尤其是糟糕的搜索体验。为了适应日益增长的 B2B 买家的期望,需要一种新的解决方案,能够更好地吸引他们的在线客户,并帮助 Swedol 扩大他们的数字业务。
“我们有这些想要解决的问题,但是没有开发人员我们什么也做不了。这个解决方案本身非常好,但是我们没有仪表板之类的东西。以前,无论我们想做什么,我们都必须向开发团队发送一张票…或者必须从一开始就在设置中完成,因此很难持续优化网站和搜索结果。你不能开展任何活动,也不能重新订购商品或诸如此类的事情。”
Clint fischer strm——Alligo 电子商务主管
为了更好地服务 Swedol 销售团队及其客户,并帮助他们成长为北欧地区数字商务领域的头号玩家,Clint 知道必须做出一些改变。该团队需要一个灵活的工具来改善他们的开发人员体验,并很好地响应他们的 B2B 业务的高技术需求。它还必须是他们可以快速、轻松实施的东西,并且来自一家对成为市场第一有明确未来愿景的公司。
“我们希望围绕这一点创建一个新的战略,建立一个新的系统,但同时也需要一些时间和精力来清理我们的 ERP、PIM 和 MDM 中的坏数据。”
viktor sre Lind,Alligo (Swedol)网站开发人员/系统专家
速度、相关性和灵活性
为一个 B2B 电子商务网站建立一个快速且相关的搜索体验绝非易事。与其 B2C 电子商务业务类似,Swedol 的团队拥有数千种产品,每种产品都包含数千种产品。但是当销售给企业时,每个客户必须被给予不同的访问不同的分类,不同的价格,专业项目,等等。即使在每个企业及其各种自定义项目中,也有多个用户角色对特定项目具有不同的访问权限。显然非常需要定制的结果。
得益于 Algolia 快速索引商品的能力,Swedol 现在可以无缝、高效地在 Adobe Commerce (Magento)托管网站之间传递信息,以更好地管理产品分类,只显示最新和库存商品,同时只提供客户特定的产品分类。向正确的客户展示合同特定的产品组合(有时包括定制产品)是提供 B2B 买家期望的在线体验的关键。
事实证明,速度、相关性、自助式仪表盘和 Algolia 合作伙伴团队的访问相结合正是 Swedol 需要的解决方案,有助于其扩展和发展业务。
“Algolia 的速度确实是我们最喜欢的东西之一,还有仪表板……另外,对于未来,如果我想要什么,我们真的可以从 Algolia 那里获得我们需要的帮助,找到最佳的前进方式……我们可以获得我们需要的帮助,在对我们真正重要的事情上做出决定。”
Clint fischer strm——Alligo 电子商务主管
改进的搜索提高了转化率
自从实施 Algolia 以来,Swedol 的数字团队再也听不到来自现场的不满抱怨。他们的客户和内部团队更加高兴,因为他们可以轻松浏览产品并找到他们想要的东西。
Web 团队决定放弃之前的交钥匙电子商务 解决方案,转而使用 API 驱动的搜索和发现体验,这一决定被证明是成功的,提升了搜索结果。在使用 Algolia 的 API 进行了一年的搜索和发现后, Swedol 的客户现在在网站上花费的时间增加了 26%,搜索量增加了 7.5%,转化率增加了 22%,这当然直接转化为收入的增加——cha-ching!
工作才刚刚开始
Swedol 团队的下一步是什么?如果你还没听说,Swedol 和北欧地区的另一家重要企业工具联手组成了 Swedol 母公司 Momentum Group 旗下的 Alligo 业务部门。未来两年将为 Clint 的团队带来更多机会和更大的项目。
合并完成后,统一 Swedol 和工具系统的工作已经开始。TOOLS 的 Adobe Commerce platform (Magento)网站必须重建,建立一个新的 PIM 系统,同时将大量数据迁移到 Swedol 的 ERP 系统中,并且——你猜对了——在 Algolia 中索引 TOOLS 的分类。
“现在有了工具,我们的规模扩大了一倍。现在我们有 2000 名员工和 200 家零售店。(合并后)我们最终拥有了不同的网站、不同的网络平台、不同的搜索引擎等等。现在,我们的目标是拥有相同的系统…以一种智能的方式构建我们的架构,以此为基础,这非常重要。当这项繁重的工作完成后,我们会卖出更多。”
Clint fischer strm——Alligo 电子商务主管
Clint 和他的团队将在接下来的一年里致力于开发一个完整的无头商务解决方案。“当繁重的工作完成后,”Fischerströ说,“我们希望拥有市场上最好的搜索引擎。我们希望审视一切,寻找为我们的业务实施 Algolia 的最佳方式。我们会卖出更多。”
——
Algolia Search and Discovery 与传统的自主电子商务平台和 headless 商业生态系统紧密结合。要了解它如何转变您的数字战略, 免费注册 并亲自查看。或 今天就从我们的搜索专家那里获得定制演示 。要了解更多关于 Swedol 的故事,请点击下载案例研究。
可共享、可组合架构的技术匹配
对于工程师来说,一个在线市场意味着 生态系统——经营一个企业的前端和后台系统。现代生态系统由第三方软件组件组成,这些组件由各自领域的专家构建。例如,搜索和人工智能专家构建搜索和发现组件,金融公司提供支付功能,业务专家创建交易和订购流程。
生态系统工程师不必编写一个 可组合架构 的业务逻辑。相反,他们将第三方 API 组件集成到他们现有的基础设施中,并且只专注于管理组件之间的数据和业务逻辑交换。
在我们之前关于 匹配和白标 的文章中,我们展示了组件和可组合生态系统本身可以 共享 ,其中一个企业直接与其他企业共享其基础设施和软件组件,或者向他们展示如何在自己的基础设施上运行相同的组件。本文的重点是“牵线搭桥”,或者说涉及一个市场的部分 将 专业编写的 API 组件引入其他市场。
典型的相亲场景
为了说明匹配,我们在第一篇文章中描述了两位企业家如何建立一个成功的市场生态系统。他们的故事从这里开始。他们开始共享他们的接口 和 基础设施,这基本上是亚马逊、Etsy 和所有其他市场所做的。随后出现了衍生产品、牵线搭桥和白色标签。
多个 ui
他们的一家供应商,一家硬币收集公司,想要一个不同的界面,但不想构建或购买自己的基础设施。marketplace 架构(API 组合的、无头的)使工程师能够将用户界面从后端组件中分离出来。通过这种方式,硬币收藏家能够从他们自己的网站访问生态系统的 API 服务。
从电商到媒体
另一家厂商想要流媒体音乐。他们创建了一个混合基础设施:一些组件运行在市场的基础设施上;其他组件(用于媒体流)在供应商的基础设施上运行。
白色标签
其他厂商看到了需要 复制 的基础设施,利用自己的基础设施建立自己的网站。那时,最初的 marketplace 工程师看到了一个给他们的 marketplace 生态系统贴上白色标签的机会,这使得外部供应商能够通过以下方式构建他们自己的 market place:
- 购买原始市场生态系统的白标版本,并将其安装在他们自己的基础设施上
- 购买第三方组件,然后根据他们的需求进行集成和配置。
那么这是怎么做到的呢?快速概览[剧透警报]
共享其生态系统的企业(A)提供了一个数据交换 API,允许另一家公司(B)将其数据发送到 A 的索引中。公司 A 的数据交换 API 接收、验证并在没有错误的情况下更新其基础设施上的数据。这为公司 A 提供了一个扩展机会,因为他们引入了这些合作和整合渠道。我们将看到这一切是如何与 Algolia 的搜索和发现 API 一起工作的。
更进一步,A 可以通过白标共享其生态系统,允许 B将其生态系统软件 复制到自己的服务器上。在这个场景中,B 管理自己的生态系统,并成为提供第三方 API 组件的公司的直接客户。
让我们进入细节。
软件组件背后的生态系统和客户旅程
这里有几个关键的驱动力在起作用:
- 搜索
- 发现
- 订购
- 付款
- 交货
当然还有更多。例如,在后端,有库存管理、客户关系管理、定价工具和其他此类从头到尾运营业务的应用程序。在前端,有用户评论、建议和图像,仅举几例。
市场生态系统提供以下服务来创建客户之旅:
- 首先,顾客搜索和发现,然后决定他们想要什么
- 接下来,他们订购、付款并收到一份快递(或流、阅读、下载)
我们不会讨论第二部分。您可以探索管理订购流程(购物车、愿望清单、客户账户、CMSs)支付(一般支付、一键式、延期支付)和交付(链接–快速、提货/收集、流、读取)的大量 API 和平台。
在本文中,我们感兴趣的是客户旅程的第一部分,即搜索和发现,在这一阶段,消费者搜索或浏览他们想要购买、浏览、阅读或下载的内容。正如您将看到的,搜索和发现不仅仅是一个搜索栏,它还涉及最终用户与数字市场交互时内容的显示和导航。
共享搜索和发现 API 的 3 种方式
Algolia 为搜索和发现之旅提供软件组件。如前所述,搜索和发现不仅仅包括搜索栏,还包括菜单导航、搜索、浏览、分面&过滤,以及搜索结果、分类页面和产品视图的相关性和视觉布局。从本质上讲,在客户选择他们想要购买的商品(或观看、阅读、下载)之前,搜索和发现涵盖了前端用户旅程的每个部分。购买后,它还会通过“继续购物”按钮继续。
所有生态系统共享的基础是一个灵活的 API 优先、功能丰富的产品。首先,A 公司使用 Algolia 这样的搜索和发现 API,创建了一个以搜索为主导的生态系统。公司 A 与公司 1 共享其生态系统..无论是合作伙伴还是衍生产品。
要理解分享是如何工作的,重要的是要理解什么是。Algolia 的搜索和发现技术主要依靠一个特别设计的索引和快速索引过程。一旦一家公司提取并格式化了它的数据,就会使用一个索引 API 来添加、删除或更新 Algolia 服务器上的数据。因此,数据位于 Algolia 托管的服务器上,这些服务器位于世界各地,以最大限度地减少交易延迟。该公司可以选择最适合其用户群的任何地区。该 API 可以访问任何地区的任何服务器。
这里有三种方法可以共享搜索和发现 API:
- 相同的指数,相同的网站——公司使用相同的网站和指数。这是第一步,没有分拆,没有白标。亚马逊和 Etsy 就是这么做的。所有供应商将他们的数据发送到同一个共享索引,市场提供网站。
- 同一指数,不同网站——公司共享同一指数,但不一定是同一网站。在这种情况下,公司 1..n 将他们的数据直接发送到 A 公司的索引,但是他们建立了自己的网站,并从他们自己的独立网站访问共享的索引。这是一个 UI 匹配场景,其中网站的功能(如搜索、导航、商品销售和其他所有功能)作为他们自己网站的组件介绍给供应商。
- 相同的指标 结构 ,不同的服务器——公司从 marketplace 中 100%分离出来,创建自己的 marketplace。但是首先他们获得了索引结构的副本(没有数据),并在他们自己的 Algolia 帐户/服务器上重新创建它。然后他们用自己的数据填充它。这两个指数现在已经分开,两者之间不再有任何联系。这些公司必须建立自己的网站,成为 Algolia 的直接客户。在这里,我们看到了匹配和白标,在前端和后端,供应商购买、集成和配置他们已经了解的组件。
如何分享搜索索引,以及什么组成索引
索引面临的挑战是如何管理供应商发送给市场索引的数据。这是通过数据交换层完成的,数据交换层接收数据并对其进行验证。为此,市场向其供应商公开了一个数据交换 API。这个 API 接受供应商的数据,对其进行验证,如果数据没有问题,就将其发送给 Algolia。
因此,有两个 API:
- 更新搜索索引的 Algolia API
- 接收和验证输入数据的市场 API
我们不会把 marketplace API 称为 ETL。一个 ETL 通常是Eextracts,Ttransforms, L oads data。但是如这里所定义的,不需要任何 E 提取或 T 转换,因为市场会要求已经在同一个 JSON 中结构化和格式化的数据被发送到 Algolia 的 API。
因此,marketplace API 的工作是接收-验证-加载数据。验证过程应确保:
- 数据完整,格式正确,不会破坏 Algolia 索引
- 数据不太大或发送不太频繁,从而降低系统速度
索引的内容
市场必须创建一个索引结构来驱动其业务和网站的搜索需求。一个指标包含 属性 ,其中有四个用途 :
- 用于搜索的属性(用于匹配用户在搜索栏中键入内容的关键字和文本信息)
- 显示的属性(图像或额外的屏幕信息,如价格、作者、品牌)
- 用于过滤和刻面的属性(品牌、大小、流派)
- 用于排序(价格,日期)和排名(销售数量,评分)的属性
此外,一些市场将提供可用于销售和内容管理的属性,如横幅或商品促销。
数据结构
只有在市场设定标准的情况下,共享指数才能发挥作用。Algolia 接受一个无模式 JSON 文件,它足够灵活,允许任何结构或内容。市场利用这种灵活性为其独特的需求创建精确的结构。然而,外部供应商受到更多的限制,因为他们必须使他们的数据符合市场设计的结构。以下是一些指导方针:
- 一些属性需要对所有供应商通用,如项目名称、价格、描述。每个供应商都需要提供这些必需的属性。
- 其他属性将是可选的。虽然每个可选属性都有明确定义的目的(用于搜索、显示、刻面或排名),但供应商可以随意忽略它。当然,为了在共享网站上最好地展示他们的商品,供应商应该提供大部分(如果不是全部)属性。
- 最先进的市场网站包含动态前端逻辑,因此如果供应商提供某个可选信息,网站可以为该供应商显示不同的内容。
内容管理,商品销售
- 某些属性可用于促销个别商品。这些属性在销售和内容管理中的实际使用将由市场来管理:工程师为促销设置屏幕占位符,供应商可以通过提供正确的内容来利用这些占位符。
相关性&指标设置
- 这里不多说了:相同的索引设置会被所有厂商共享。这意味着,所有的配置,如错别字容忍度、排名、可搜索性和方面属性,以及许多其他影响相关性的设置,都将由市场而不是供应商来配置。
关于数据交换 API 的更多信息
市场应用编程接口应该有以下特点:
- 获取将要发送到 Algolia 的相同 JSON 文件。
- 发送响应——成功或错误,并提供详细信息。
- 执行批处理,这意味着如果数据非常大,它会将记录分成小批,并以固定的间隔(每批 2 分钟左右)发送。
- 像任何 API 一样,是向后兼容的。
将索引迁移到供应商自己的基础架构
- 这不需要市场或供应商进行结构性改变。供应商只需建立自己的 Algolia 帐户,并将相同的市场设置应用于自己的索引。然后,供应商开始使用相同的 JSON 向自己的索引发送数据。
如何分享搜索 UI
关于前端,首先要注意一点:同一个索引可以支持多个用户界面。这是生态系统共享的关键:不同的供应商创建他们自己的 ui,同时使用相同的索引 API 方法。这是可能的,因为用于搜索的 API 方法可以指向相同的索引和服务器。
搜索 UI 体验,及其观感
- 搜索的基础是:搜索栏、搜索结果、分面、分页、排序。
- 这些功能从一个用户界面到另一个用户界面看起来非常不同。它们可以放在屏幕上的任何地方。不同网站的用户界面会有很大的不同。但基本面不会改变,基础指数也不会改变。
搜索结果
- 指标 设置 驱动关联。相关性可以归结为搜索结果的顺序 。
- 也就是说,索引中的 数据 可以根据其内容和格式对这些设置做出不同的响应。因此,当供应商发送数据时,他们需要仔细遵循索引提供商的内容指南。
- 当供应商将其数据移动到自己的 Algolia 帐户和服务器时,它们最初可能会保持相同的结构和设置。然而,随着时间的推移,他们可能会改变索引配置和数据格式,以适应不断变化的需求,从而保持竞争力。这也是复制生态系统和白标的主要原因——对搜索体验的更多控制。
发现
分享你的专长
任何关于技术的讨论总是与创造技术的人有关。虽然 API 提供财务、业务和用户界面专家功能,但故事是关于设计和开发软件的人,以及最终以 API 的形式公开他们的专业知识的人。这些专家既有技术性的,也有非技术性的。他们的勇气和分享是我们数字经济的动力。
—
Algolia 搜索和发现与无头生态系统紧密结合。要了解它如何改变您的数字战略,请免费注册,亲自体验。或者今天从我们的搜索专家那里获得一个定制的 演示 。
知识管理软件的好处
您的组织是否给予 知识管理 应有的重视?
在公司内部,不同类型的知识分散在各处,从内部电子邮件和即时聊天线程到内容管理系统,内容管理系统包含演示文稿、销售合同、由问讯台支持团队编写的自助常见问题解答、员工入职资料、客户支持数据等。此外,还有大量的第一手知识藏在员工的大脑中——这些信息最好能通过知识管理系统提供给最需要的人。
小型企业和大型组织都可以从用户友好的知识管理实践中受益。知识管理软件确保信息资产随时可用,以帮助企业中的人员完成他们的工作并实现他们的工作目标。知识库软件发挥着关键作用,因为它让员工在您的企业中共享信息。本质上,知识管理软件建立和简化您的组织,将知识转化为价值。反过来,这可以将您的公司转变为一个灵活、蓬勃发展、具有独特竞争优势的企业。
什么是知识管理系统?
术语“知识管理”听起来不言自明,但是让我们回顾一下商业大师 Gartner 定义的这个概念,以确保我们都在同一个博客页面上:
知识管理 (KM)是“将企业的智力资产的管理和使用形式化的业务流程。知识管理提倡一种协作和综合的方法来创建、获取、组织、访问和使用信息资产,包括人们隐性的、未捕获的知识。
那么,大多数公司不是都有良好的知识管理实践吗?毕竟,这似乎是商业成功的一个非常基本的方法。
嗯,这将是一个巨大的否定。如果统计数据是可信的,在大多数组织中,知识管理功能被大大低估,甚至从未考虑过。通常只有当组织中出现严重问题时,例如关键数据在以前同事的电子邮件客户端中丢失时,管理层才会考虑保护公司知识的重要性,并随后考虑知识管理系统。
像这样的时机可能太晚了,或者迟到总比不到好,但要真正实现知识管理的价值最大化,它有助于巩固知识管理作为企业运营的核心部分,使其成为云 it 设置增长的基础。当你做对了,你将会得到很多正确的 其他 事情,比如员工在更短的时间内在 内部网 上访问急需的信息,更好的员工协作,全面的、最新的培训材料,以及改善的客户体验,等等。
好的公里能帮你 多少生意?
为了评估你知识管理能力的现状,这里有一些很棒的问题:
- 当有经验的员工离开你的公司时,他们的知识财富是带走了,再也不见了,还是有某种正式或非正式的知识转移?
- 您的员工能够在工作流程中轻松分享知识吗?
- 管理层积极鼓励知识共享吗?
- 是否有记录在案的知识共享流程?
- 如果需要的话,员工是否觉得他们可以随时进入你的公司“蜂巢思维”?
- 如果处理治理问题需要文档或其他资产,需要它们的人是否可以轻松访问它们?
- 是否为不同的企业集团明确指定了信息访问权限,以便人们可以访问适当级别的数据?
如果你对这些思想煽动者的回答表明,知识管理部门的情况并不令人满意,那也没关系。如果您的企业因为任何原因而严重错过了知识管理的好处,好消息是您仍然可以用任何数量的可用选项来纠正这种情况。
现在,我们来看看正确的知识管理解决方案能为您带来哪些好处:
能够改变您业务的知识管理优势
知识管理效益的预期范围和规模是巨大的,然而,许多企业并没有释放全部潜力。德勤 2021 年 全球人力资本趋势 调查发现,55%的受访者认为知识管理只是“简单的知识记录和传播”只有 36%的人将知识管理视为推动价值的一种方式。
让我们现在就纠正这个误解。为了支持这一点,这里列出了为你的企业建立一个好的知识管理系统的主要好处。
有了知识管理软件,你可以:
真正拥有并保护自己宝贵的知识
如果你想变得有竞争力或保持竞争力,公司知识是一种你绝对不能失去的力量。无论是为了提高生产率、改善团队合作,还是为了令人满意地满足治理和法规遵从性要求,易用性和快速访问知识都是必不可少的。
对于你的 员工 或客户(或两者)来说,你是否以及如何利用你的信息资产可能是一个关键的竞争优势。有了知识管理软件,您可以选择主动拥有并保护您的私人知识库数据,然后您可以以有意义的方式利用这些数据来推进您的业务目标。
规范信息访问流程
标准化存储、共享和保留公司知识的流程有显著的好处。形象地说,它让每个人都“在同一页上”,提高了效率。当您的所有数据都可以在单个系统中访问时,您不再需要处理需要从过时的信息孤岛中获取数据的一部分人;您的信息存取得到了完全整合、优化和简化。
驱动创新保持领先
在快速变化的商业环境中,你需要超越竞争对手,这可能需要自发或有计划的解决问题和创新。能够创新取决于高管们手边是否有正确的信息,信息的组织方式要让他们能够分享信息,然后做出更好的决策。当您拥有一流的文档管理结构时,您就有更好的机会采取必要的创新措施,使您朝着正确的方向前进,例如提高客户满意度。
解放您的员工远程工作
本周你的工作地点在哪里?你的团队成员呢?
很有可能至少你们中的一些人是从家里或另一个遥远的地方拨入的。有了好的知识管理软件,你就能做到,因为你不必跋涉到办公室去获取完成工作所需的文件或数据。
知识管理软件意味着,如果您的任何员工兼职或一直远程工作,您的业务不会受到任何影响。
建立便于访问、保留和共享公司数据的渠道和流程,让每个人都能访问他们需要的信息,无论他们在哪里积极参与帮助您取得成功。有效的知识管理不仅可以让您的员工实施强大的项目管理并在不同的地点相互联系,还可以提高团队协作工具(如 Slack messaging)上的交互质量,从而提高员工的幸福感和对远程工作能力的长期满意度。因此,本质上,良好的知识管理转化为员工保留。
改善团队决策
当您通过正确的知识管理工具轻松访问所有相关信息时,就更容易做出正确的决策。当员工能够深入研究全部数据,并挖掘同事的经验和意见时,直觉决策会得到改善。知识管理软件使这一部分变得相对容易。
鼓励员工不断学习
需要您的员工了解对您所在行业的成功至关重要的最新信息吗?在一个技术创新挑战现状并推动各行业颠覆的世界里,围绕培训和知识库文章共享来构建您的运营结构是值得的。知识管理软件可以在帮助您优化这一领域和培养持续学习的企业文化方面发挥关键作用。
提高工人生产率
使人们能够快速找到相关信息有助于减少他们在死记硬背和重复任务上花费的时间。结果是:简化了流程,降低了费用。通过访问同事的知识、经验和以前完成的工作,员工不需要从零开始项目,项目可以更顺利地运行。这些关键特性很快就会对您公司的底线产生影响。
最好的知识管理软件
准备好开始转变您公司的运营方式并为成功做好准备了吗?
当您将您的系统、流程和人员加入一个内部知识库、一个信息“屋顶”——一个真实的单一来源——时,您就选中了无缝知识共享的复选框。
Algolia 是实现这一目标的绝佳方式。我们一流的 workplace SaaS 软件可让您保护和管理所有与信息相关的宝贵资产。我们灵活的 网站搜索 即时引导人们跨系统找到正确的知识,并让您:
- 指标无限制
- 通过灵活的集成进行定制
- 连接后台系统
我们的软件定价允许你只为你使用的东西付费。 立即联系我们 了解我们的知识管理平台如何为您的企业释放知识管理的全部潜力!
如何开始社交商务
原文:https://www.algolia.com/blog/ecommerce/how-to-boost-ecommerce-with-social-media/
社交商务是一个快速增长的领域,目前占据全球电子商务市场的 7%。预计到 2025 年,这一比例将达到 17%,相当于 17 万亿美元的年销售额。
(来源: 方舟投资管理有限责任公司)
虽然社交商务仅占美国电子商务总销售额的 1%,但在中国,该市场已经成熟到 3900 亿美元的规模,占该国所有电子商务销售额的 22%。
(来源: 方舟投资管理 LLC )。
什么是社交商务?
疫情加速了电子商务和社交媒体在全球的普及。今天,我们见证了这些平台对两者的各种混合进行实验。社交商务涵盖多种实现方式,例如具有社交功能的电子商务交易、社交媒体上的电子商务功能,以及整合到电子商务网站和移动应用程序中的社交方面。 (来源: 方舟投资管理有限责任公司 )。
继微信在亚洲的 电子商务成功 之后,Instagram、FB、Twitter、Snapshot 和抖音都在其平台上增加了电子商务功能。脸书正在提供 直播购物功能 ,Instagram 开发了强大的 电子商务功能 ,Twitter 正在 试点电子商务 功能,Snapchat 正在投资 增强现实工具,以便在其平台上实现电子商务 ,最后,抖音宣布与 shop 合作
社交媒体已被证明在活动期间,如 2020 年黑色星期五,会推动电子商务行业的更多在线销售。例如,在感恩节周末,社交媒体带动了零售网站十分之一的访问量,同比增长 17%。(来源:**Adobe 2020 年假日购物季报告 )。)
实现社交媒体商务
社交商务的兴起趋势为零售商和市场提供了一个机会,将他们的电子商务行业专业知识与现代实时在线购物体验的互动性相结合,以主动和有意识地影响购买决策。
从功能上讲,社交商务可以通过不同的方式实现,与品牌愿景、公司能力以及最终客户的在线购物行为和期望相匹配。
微信整合:
- 将您的产品目录与您的微信商店 整合,通过将微信应用程序实时连接到股票管理工具,实现全渠道电子商务数字体验。这将使您的电子商务公司能够实施高度个性化和精确定位的直接面向消费者(D2C)销售和数字营销战略。
- 在您的网站或您的产品推荐电子邮件/外发电子邮件活动中包含微信二维码,以消除购物过程中的摩擦,并确保您的客户始终能够轻松便捷地访问他们选择的平台。
综合社交媒体图册或图库
- 展示您网站上社交媒体平台上精选的用户生成内容。例如,在你的电子商务网站的登陆页面上整合一个 Instagram 灵感图库。画廊将精选社交媒体帖子,展示您想要推广或展示的产品。
- 您可以通过将社交媒体网站上的特色产品与每个类别或搜索结果页面进行匹配,对内容进行重新排名和排序,以确保最受欢迎的商品显示在最前面,从而优化呈现给用户的内容。此外,对于注册用户,您可以对内容进行个性化设置,以确保他们总能看到与他们唯一的用户资料相匹配的最相关的项目。
商品列表页面上的用户生成内容
- 展示你的产品目录中的产品,这些产品出现在相关产品页面上用户生成的社交媒体帖子中。您可能希望使用人工智能推荐来展示社交媒体帖子,展示您目录中的其他产品,如相关产品或经常一起购买的产品。
- 在产品列表页面上显示用户生成的产品评论。Baymard Institute 的 研究 发现,“用户生成的产品图像可以丰富和补充现有的图像,使产品——以及销售产品的网站——看起来更值得信赖”。
直播流媒体商业
- 使用实时流媒体商务加速购买流程。在活动期间,主持人(影响者、品牌代表、名人)将展示产品并向观众推荐。观众可以实时提问,并直接从主持人那里得到答案。这种类型的影响者营销是一种非常强大的方式,可以让你的品牌在经常基于社会证明购买产品的潜在客户以及营销他们的人中间获得可信度。
- 通过设置仅在直播会话期间有效的库存和限时优惠,加快产品结账和购买流程。
了解更多关于 如何利用直播增加和加速消费者需求。
结论
社交媒体不仅作为一种广告工具,而且作为一个功能齐全的电子商务平台,为电子商务行业提供了一个有利可图的机会。将社交媒体电子商务整合到销售工作流程中,为公司提供了从不断增长的细分市场中获益的机会,并通过跟上客户的购物需求和习惯以及提供增强的客户体验来与客户保持联系。
如何通过品类销售促进在线销售
原文:https://www.algolia.com/blog/customers/how-to-boost-online-sales-with-category-merchandising/
一份精确而准确的营销战略计划为电子商务购物者提供了一个顺畅的旅程,在文本、商业和上下文三种类型的相关性之间保持着持续的平衡。
用户通过两种方式在网站上浏览产品:
- 搜索:直接在搜索栏中输入他们的查询(参见 如何通过搜索营销增加在线销售 了解更多关于搜索营销的详细信息)
- 浏览:导航到各种网站页面和类别,点击横幅、主导航下拉菜单项,并通过选择不同的方面来过滤类别页面结果。
为了确保电子商务用户的统一购物体验,零售商同时应用搜索和类别页面销售。
类别销售工作流程使电子商务公司能够将业务逻辑应用于类别页面。这样,每次购物者在浏览网站和不同的产品类别时,结果都会以特定的顺序出现,可以根据当前的促销业务需求轻松调整。
- 钉住、隐藏、推进和掩埋类别
- 向类别登录页面添加内容传送带
- 添加动态登陆页面
锁定、隐藏、增强和隐藏类别
在分类页面上锁定结果:Nuts.com
在 Nuts.com 网站上,基于特定的类别页面,产品列表页面在所选杂货类别的产品列表中的特定位置突出显示钉住的产品。例如,在“腰果”类别中,列表顶部的前三种产品被固定在各自的位置上。
将内容轮播添加到类别登陆页面
产品内容传送带—市场流行系列:ManoMano
ManoMano 通过可点击的销售横幅吸引购物者的注意力。他们到达一个特殊的登录页面,利用内容传送带展示每月交易,特价商品按产品类别以网格格式组织。
成功指标:
- 仅两周时间,多个市场的转化率增加了 20%
添加动态登陆页面
体育动态登陆页面&商品零售商:文化王者
街头服装时尚零售商 Culture King 使用动态类别登录页面来推广他们的产品。当用户点击“老高尔夫球手”促销横幅时,他们可以在登录页面上查看特色的新老高尔夫球手头饰。
时装零售商动态登陆页面:shoebaca
在线鞋类零售商 Shoebacca 使用链接类别登录页面来突出产品类别。例如,当用户点击“春天的时尚来了!”促销横幅,他们看到了新的春季系列的登录页面。
结论
营销策略的准确性和精确性对于任何电子商务企业都至关重要,有助于零售商保持竞争力并转型为行业领导者。通过确保整个网站的统一购物体验来优化客户旅程,为零售商提供了竞争优势,提高了品牌忠诚度,增加了销售和转化率,并降低了跳出率。
构建文档搜索— Laravel 文档搜索
使用逻辑和组织良好的信息架构来构建网站内容,使爬虫和搜索引擎更容易为特定查询索引相关内容。
这是因为当你把网上内容组织成网页的层次结构,并把每个网页组织成小的属性,如标题、描述、章节和段落时,搜索是最好的。
幸运的是,网络上的大部分信息都可以用这种方式组织。然而,有些内容并不容易分解,例如文档搜索或纯文本内容,如博客、技术文档和在线新闻期刊。
基于文档的搜索初看起来似乎很容易——它只是将内容文本与查询文本进行匹配。但是,对于网页结构,有几个陷阱需要注意和避免。本文解释了这些缺陷,提出了大型文档搜索中的最佳索引和网页结构。
虽然本文中的建议可能适用于任何提供有组织的文本内容集合的网站(blog、newsfeed ),但我们只讨论技术文档上下文中的大型文本,使用我们的 Laravel 技术文档实现。
网站信息架构与文档搜索
在深入这些陷阱的细节之前,让我们先来分析一下要点。
索引–如何构建数据
将每页分成小块,并将每个小块保存为单独的记录。将网站的层次结构合并到每个记录中。
搜索引擎——查找和排名记录
Algolia 不使用统计或类似 NLP 或 TF-IDF 的技术来理解或解密文本。相反,它专注于文本本身的字符,通过将查询与内容进行文本匹配来创建相关性,然后应用排名公式、打字错误容忍度、接近度和其他智能方式来读取文本并对结果进行排序。
前端 UI/UX-最佳实践
在搜索结果中只显示部分文本,而不是大部分。不然就是看多了,扫描多了。此外,只允许同一页面的两个实例出现在结果中,以便为其他匹配的页面腾出空间。
这是构建大型文本的一般策略。现在来看实现细节和一些要避免的陷阱。
看看 DocSearch ,这是将搜索添加到文档中的最简单快捷的方法。看一看,是免费的!
陷阱 N 1:将网页作为默认入口
开发者文档通常意味着充满大量内容的冗长页面。大多数人试图在他们的搜索引擎中将整个页面作为一个条目进行索引。但是,他们后来发现有很多边缘情况,他们试图通过相关性调整来修复它们,但这很快成为一个无休止的故事,因为问题来自实际的索引本身:
例如,查询"composer upgrade"
将匹配快速启动页面,因为菜单包含"Upgrade Guide"
并且第一段包含"composer"
单词。这不是那种提供良好用户体验的匹配。
2。页面包含太长的文本
开发人员不喜欢太频繁地改变网页,他们喜欢包含大量信息的长页面。如果这样一个页面作为一个文档被索引,它将几乎系统地触发相关性问题。这就是为什么我们不建议使用标准的网络爬虫,而是使用 scrapper 来访问原始内容(Markdown 中的大部分时间可用)。
例如,查询"cache incrementing value"
将匹配查询构建器页面,因为它包含一个带有单词"cache"
的段落和另一个带有单词"incrementing"
和"value"
的段落。这是一个误报,因为它是不相关的:页面上的文本越多,得到的不相关的结果就越多。
3。右侧锚定部分
为了提供最佳的用户体验,在匹配的准确位置打开页面是非常关键的。如果每页只索引一个文档,这将非常困难。这就是为什么有这么多的文档搜索只是在顶部打开页面,用户需要滚动或使用浏览器的搜索来跳转到正确的部分。这并不容易,而且是浪费时间。
陷阱 2:仅索引标题
对文档页面的标题进行索引可能会回答一些常见的问题,但这还不够。下面的段落包含了你的用户将要搜索的大部分单词。为了获得更高的相关性,对包括正文在内的全部内容进行索引是很重要的。
在本例中,需要文本来正确回答"rememberForever"
或"cache driver"
查询。
陷阱 3:关联性差
对于大多数搜索引擎,相关性是配置中最棘手的部分,因为它通常由一个独特而复杂的公式来定义,该公式混合了许多几乎无法管理的信息。工程师经常调整公式或添加一些加分/扣分来改善特定查询的结果。由于他们没有任何非回归工具,他们无法衡量所有查询的实际影响。后果可能很严重。
为了保持排名在控制之下,关键是要把排名公式分成几个你能理解的部分,并能独立调整。在实践中,我们可以用一个平局决胜算法来拆分排名公式。
假设您的排名公式分为两部分:
- 第一个定义匹配命中的文本相关性,
- 第二个定义了匹配命中的重要性(从用例/业务角度)。
然后,您可以首先应用文本相关性,并且只有当两个匹配具有相同的值时,才移动到用例/业务相关性(重要性)。这是确保您的最终用户始终首先获得相关匹配的最佳方式(从文本视点,精确匹配他们的查询词),然后——就相关性平等而言——使用业务相关性将结果联系起来。
由于您没有将文本&业务相关性混合在一起(而是一个接一个地应用它们),您可以修改业务相关性,而不会影响文本相关性的工作方式。
实时搜索入门
我们的菜谱
1。创建小型分层记录
为了解决所有这些陷阱,我们通过使用页面的 HTML 结构将页面分成许多较小的块,作为单独的记录进行索引(H1、H2、H3、H4,P)。
参见 Laravel 文档的验证页:
生成的第一条记录将是验证页面标题。它将被转换成下面的 JSON 对象。“link”属性只包含 URL 的最后一部分,第一部分可以很容易地用标签重建:
{
"h1": "Validation",
"link": "validation",
"importance": 0,
"_tags": [
"5.1"
],
"objectID": "master-validation-13148717f8faa9037f37d28971dfc219"
}
然后,页面的第一部分(介绍)将变成下面的记录。链接现在包含一个锚文本,并保留页面的标题:
{
"h1": "Validation",
"h2": "Introduction",
"link": "validation#introduction",
"importance": 1,
"_tags": [
"5.1"
],
"objectID": "master-validation#introduction-eeafb566c2af34e739e2685efdb45524"
}
H3 部分下的这一页的一个段落将被翻译成以下记录:
{
"h1": "Validation",
"h2": "Validation Quickstart",
"h3": "Defining the Routes",
"link": "validation#validation-quickstart",
"content": "First, let's assume we have the following routes defined in out `app/Http/routes.php` file:",
"importance": 6,
"_tags": [
"5.1"
],
"objectID": "5.1-validation#validation-quickstart-380c9827712413dbe75b5db515cd3e59"
}
这种方法解决了第一个和第二个缺陷。我们通过将每个文本块作为一个独立的记录进行索引,同时保持每个记录中的标题层次结构,从而解决了这个问题。
2。使用平分排名算法
Algolia 的设计初衷是使用平局决胜算法来确保每个人都理解并能够调整排名。现在,通过应用我们为文档搜索实现推荐的设置,可以很容易地解决陷阱#3:
匹配命中现在将根据这六个排名标准进行排序:前 5 个与文本相关性相关,最后一个是自定义业务相关性。
排名标准 N 1:匹配单词数(单词数)
首先,我们对记录中找到的查询词的数量进行排序。我们决定将所有单词作为强制项(以及查询词之间)来处理查询。如果没有足够的匹配单词,我们再次运行查询,所有单词都是可选的(或者在查询词之间)。这个过程配置了一个索引设置,使您可以两全其美:和保证减少误报的数量,而或允许返回结果,即使查询范围太窄。
排名标准 N 2:错别字数(typo)
如果两个记录匹配相同数量的搜索词,我们使用错别字的数量作为区分符(所以我们首先有精确匹配,然后匹配 1 个错别字,然后匹配 2 个错别字,…)。
例如,如果查询是“validator”,包含“validate”的记录将与一些输入错误匹配,但将在包含“validator”的记录之后检索。
排名标准 N 3:查询词之间的接近度(proximity)
当两个记录对于单词和错别字排序标准相同时,我们接着移动到下一个标准,该标准比较记录中查询词的接近度。它将基本上计算它们之间的单词数,直到达到一个极限(在某个点之后,它们被认为“太远”)。
例如,"cache configuration"
查询在与句子"The **cache** **configuration** is ..."
匹配时的接近度为 1,在与句子"... in the config/**cache**.php **configuration** file"
匹配时的接近度为 2。我们按升序对该值进行排序,因为我们更喜欢包含查询词的记录先靠近在一起。
排名标准 N 4:匹配的属性(attribute)
如果两个记录对于前 3 个排序标准是相同的,我们使用匹配属性的名称来确定首先需要检索哪个命中。在索引设置中,只需按重要性顺序排列要搜索的属性:
这意味着,如果匹配是在 h1 中确定的,那么它将比在 h2 中更好,比在 h3 中更好,等等。您还可以注意到每个属性上都有一个“无序”标志。这意味着在排序中不考虑属性内匹配的位置。这就是为什么对于包含相同属性的"[Cache Configuration]"
或"[Obtaining a cache instance]"
的记录,查询"cache"
将匹配相同的属性分数。
排名标准 N 5:完全匹配的项数(exact)
如果两个记录对于前 4 个标准是相同的,那么我们使用记录中完全匹配的查询词的数量来确定首先需要检索哪个命中。因为我们在每次击键后都返回结果,所以最后一个查询词将作为前缀匹配(它将匹配单词的开头)。该标准用于在前缀匹配之前对精确匹配进行排序。
例如,查询“valid”将在包含“ valid ation”的记录之前检索包含“ valid 的记录。
排名标准 N 6:业务排名(自定义)
仍然缺少一个重要的东西:您的用例/业务标准。如果两个记录的所有先前标准都相同,我们将使用用户定义的自定义排名。
例如,搜索"Validation"
将使用最重要的“h1”属性匹配以下两条记录。这导致与所有先前的条件相匹配,但是我们想首先检索页面标题,因为另一个记录是一个段落。这就是"importance"
属性在添加到记录中时的表现。
{
"h1": "Validation",
"link": "validation",
"importance": 0,
"_tags": [
"5.1"
],
"objectID": "master-validation-13148717f8faa9037f37d28971dfc219"
}
{
"h1": "Validation",
"h2": "Working With Error Messages",
"h3": "Custom Error Messages",
"link": "validation#custom-error-messages",
"content": "If needed, you may use custom error messages for validation instead of the defaults. There are several ways to specify custom messages. First, you may pass the custom messages as the third argument to the `Validator::make` method:",
"importance": 6,
"_tags": [
"5.1"
],
"objectID": "5.1-validation#custom-error-messages-380c9827712413dbe75b5db515cd3e59"
}
“重要性”值是一个从 0(页面标题)到 7(H4 下的文本部分)的整数,我们在自定义排名中以升序使用(越小越好):
完整的重要性范围如下:
- h1 为 0,
- 1 代表 h2,
- 2 对于 h3,
- 3 对于 h4,
- 4 对于 h1 下的文本,
- 5 对于 h2 下的文本,
- 6 对于 h3 下的文本,
- h4 下的文本为 7。
这是一个通用配方
我们已经在几个技术文档中成功应用了这个方法,比如 Laravel、Bootstrap 和许多其他的文档网站。显示结果的方式不同,但我们使用完全相同的方法和相同的 API。
我们的任务之一是帮助所有开发者浏览技术文档。如果你正在进行一个开源项目,我们很乐意帮助你——以下是如何开始使用 DocSearch 的方法。我们将为您提供免费的 Algolia 帐户和任何支持,使您的实施成为一流的参考。给我们留言!
如何建立一个 JavaScript API 客户端作为 SaaS 产品
原文:https://www.algolia.com/blog/engineering/how-to-build-a-javascript-api-client-as-a-saas-product/
一个基于产品的 JavaScript API 客户端应该能够在浏览器中运行,直接前端 DOM 访问,以及在 节点环境 中运行,访问后端服务器和服务。
此外,基于产品的 API 客户端应该提供对其所服务的应用程序的所有特性的详尽且简单的访问。并且它应该与每个新特性保持同步。
最后,API 客户端应该通过添加以下功能为应用程序增加额外的价值:
- 重试逻辑,避开网络或任何其他瞬时故障或超时
- 速率限制和节流策略,以降低服务器负载和使用成本
- 批处理,API 执行一组动作来完成一个普通任务
- 和其他助手功能
- 底层 Rest API 的友好视图
什么是基于产品的 API 客户端?
一个 API(应用编程接口)不仅仅是一个包装器;这是一个独立的轻量级应用程序,使开发人员能够与全功能软件平台进行交互。
A 基于产品的 API 是一个公司作为产品销售的 API。谷歌卖谷歌地图 API,Stripe 卖金融 API,我们卖搜索 API。
基于产品的 API 客户端 是一种 API,有不同的编程语言、框架和 JavaScript 风格。我们的客户端位于不同的 REST API 端点之上。
通过以开发者自己的语言提供 API 客户端,他们获得了以下好处:
- 更快地实施应用程序的基本和高级功能
- 更简单地集成到他们自己的代码库中
- 已经为他们编写了大量代码,包括重试、节流和批处理
最好的 API 设计也试图限制实例化、使用或参数化 API 方法所需的样板代码的数量。
我们还可以举出一些基于产品的 API 客户端的其他定义特征:
- 小码尺寸
- 低依赖性或无依赖性
- 智能参数灵活定制
- 在请求和响应的命名和使用上的直观 DX(相对于RestAPI)的改进)
- 完整的 API 文档和教程
- 不间断版本控制
- 使用 API 密钥或令牌进行身份验证
- 用 JSON 实现简单通用的数据交换
- 跟上底层编程语言和技术的变化和最佳实践
如何对一个 API 产品进行版本间的改进
首先说一下流程:我们有超过 10,000 个客户在使用我们的 API 客户端。有了这种用法,我们就可以根据客户支持单、聊天和日志中的使用统计数据来微调我们的 API。
然而,事实的更大来源是我们自己的工程师。我们的 API 不仅仅被我们的客户使用。我们的仪表板使用我们的 JavaScript、PHP、Ruby 和其他 API 客户端;我们有实现 API 客户端的内部用例;我们面向客户的技术支持团队使用我们的 API 客户端创建演示、原型和解决方案。通过所有的 API 测试和内部使用,我们直接了解了 API 客户的痛点和积极方面。
有了这些反馈,每个版本都包括:
- 重构 接口和背后的代码(不中断)以跟上底层技术不断变化的标准和演进。例如,我们最新版本的 JavaScript 客户端支持 ES6 和 TypeScript。
- 改进 DX 面向各种开发人员——有经验的、初学者、领域专家。
- 瞄准更多用例 。新的或现有的方法来更好地解决某些用例,有时甚至采用行业术语。
- 生成跨所有 API 语言的通用接口 。许多客户在不同的语言之间切换。拥有一个通用的界面对此有所帮助。使用 JSON 也有帮助。
我们对 JavaScript API 客户端进行了一些升级
对于像我们这样的 SaaS 公司来说,JavaScript API 客户端至关重要,因为它能够直接从我们的云服务器请求服务,而不需要客户通过他们自己的后端服务器。其中,客户端 API 请求改善了新 API 的响应时间,并简化了前端的前端代码。由于这些好处,我们的 JavaScript API 是我们使用最多的客户端。
考虑到这一点,JavaScript APIs 必须管理客户端应用程序开发的挑战,以及 JavaScript 语言的特殊性及其风格,如 React、Vue 和 Angular。
这是我们最近做的一些改进
同时支持 require 和 import,以及 default 和 lite 版本
// For the default version
const algoliasearch = require('algoliasearch');
// For the default version
import algoliasearch from 'algoliasearch';
// For the search only version
import algoliasearch from 'algoliasearch/lite';
参数化实例化
我们从一个简单的实例化开始——客户端应用程序 id 和 API 键:
const algoliasearch = algoliasearch('YourApplicationID', 'YourAdminAPIKey');
然后我们添加了第三个参数,允许开发者定制一些额外的特性:
const algoliasearch = algoliasearch(
'YourApplicationID',
'YourSearchOnlyAPIKey',
{
timeouts: {
connect: 1,
read: 2,
write: 30,
},
requester: createBrowserXhrRequester(),
logger: createConsoleLogger(LogLevelEnum.Error),
responsesCache: createInMemoryCache(),
requestsCache: createInMemoryCache({ serializable: false }),
hostsCache: createFallbackableCache({
caches: [
createBrowserLocalStorageCache({ key: `${version}-${appId}` }),
createInMemoryCache(),
],
}),
});
可以看到,第三个参数允许开发者定义:
- 唯一超时
- 请求者的行为
- 定制节点请求或浏览器环境
- 日志回调
- 日志记录使我们能够跟踪客户端的生命周期,记录并分析 API 活动。
- 记录 API 活动有助于我们改进 API 在未来版本中的使用。它还使我们能够通过从成本中去除某些常见用途来降低定价。
- 此外,通过允许开发人员向我们发送他们自己的日志记录方法,我们可以存储他们认为重要的信息,从而提高我们自己日志的质量。
- 响应缓存
- 例如,开发人员可以管理他们自己的节流。
- 他们也可以禁用我们的响应缓存。
- 他们可以管理本地存储,即使在浏览器刷新后也能保持搜索状态。
- 请求缓存
- 允许承诺共享,例如。
缩小了 JavaScript 的大小
使客户端树可摇动:
// Tree shakable ( 1 kb, dead code elimination )
// list the methods you use and don’t include the code of any other method
const client = createSearchClient({
// ..
methods: { search }
});
定制请求
专家有时需要一个非固执己见的、开放的请求来处理意想不到的用例。例如,开发人员可以传递读/写请求来覆盖 API 中没有的内容:
client.transporter.read ({
path: '',
verb: 'GET'
});
关于日志记录的注意事项:当我们记录这些定制的请求时,我们可以利用这些信息在将来创建新的方法。
将依赖性减少到零
只要遵循 JavaScript 标准并使用 Typescript,就可以实现零依赖。
配料常见,多任务操作
代替单一的Save()
方法,我们增加了更多健壮的方法,如replaceAllObjects()
、reindex()
、copyIndex()
。这有助于确保此类数据敏感方法的最佳实践。此外,我们已经编写了管理重试和零停机逻辑的所有代码。
打字支持
管理发布日程
最后但同样重要的是,基于产品的 API 客户端必须遵循测试和发布实践的最佳策略。我们将把测试留给另一个博客,但这里是我们发布周期使用的总体策略:
- 为内部用例、应用和演示发布测试版
- 与文档团队合作,标准化并记录 DX
- 帮助升级依赖我们 API 客户端的产品
- 向少数客户发布最终测试版
- 发布稳定版,同时发布更新文档
- 通过支持电话、博客帖子和社交媒体促进和鼓励移民
如何为任何特性构建一个模拟器——第 1 部分:单元测试
不久前,我的时间线上出现了一条推文,要求 Twitterverse 用三个词吓唬一位产品经理。在精彩的回答中有“还有一件事…”,“差不多完成了”,“那是遗留代码”,以及可能被低估的“我测试过了”。最后一条让我难以忘怀,因为它可能是最恐怖的一条。
这引出了更多的问题:你是如何测试的?你涵盖了所有的边缘案例吗?测试是否准确地反映了该产品的实际使用情况?测试是否只检查了预期的结果?测试是否涵盖了变更是否会破坏应用程序中的其他东西?令人欣慰的是,美国开发人员已经提出了一个很好的系统来系统而彻底地回答这些问题,所以让我们在本文中探索两种主要类型的自动化测试。
单元测试
在我们开始构建单元测试之前,最好后退一步,问问我们为什么需要它们。总的来说,我们希望确保我们的应用程序正常工作!单元测试只是一些小的代码片段,用来验证事情是否正常运行。然而,为了理解单元测试是如何做到这一点的,重要的是首先要认识到现代开发涉及模块化(将功能分割成尽可能小的部分)。一旦我们把我们的大任务分成这些小函数,它们中的许多将碰巧是纯函数:给定相同的输入,确定性函数总是返回相同的输出,不影响函数之外的任何东西,也不受函数之外的任何东西的影响。
这些属性使得纯函数易于测试,因为我们可以模拟这些函数将如何被使用,并根据它的预期来检查输出。这就是我们所说的“单元测试”的含义:使用我们想要用假数据测试几次的函数,并确保我们得到正确的结果。例如,以用 Python 编写的著名的 Sigmoid 函数为例,它下面有一个简单的单元测试:
import math
def sigmoid(x):
return 1 / (1 + math.exp(-x))
def test_sigmoid():
assert sigmoid(0) == 0.5
assert 0.9999 < sigmoid(10) < 1
assert 0.2689 < sigmoid(-1) < 0.269
assert sigmoid(-100000000000000000) == 0
果然,最后一行揭示了我们代码中的一个错误。谁能想到 Python 中的math
库不能处理-100000000000000000
这样的数字?事后看来,对我来说很明显——我们输入到math.exp
的正面版本稍微超出了双精度的范围,但是我以前没有想到这一点!这个小错误很好地证明了我们不可能知道关于我们的工具的所有事情。尽管这里的公式在技术上是正确的,但我使用的工具无法处理处理如此大的数字的边缘情况。幸运的是,如果我们给它一个负数(这是对sigmoid
的一个正输入,因为我们给math.exp
和-x
),那么math.exp
会处理好这个问题,因为结果会舍入到 0,但是在x
为正数的情况下,我们需要编写稍微不同的函数:
def sigmoid(x):
if x >= 0:
return 1 / (1 + math.exp(-x))
else:
ex = math.exp(x)
return ex / (1 + ex)
现在,我们的单元测试返回了,没有触发任何警报!如果我们的项目经理碰巧想到了一个我们没有想到的边缘情况,那么向测试函数添加另一个assert
是微不足道的。
但是,如果我们要测试的函数不纯呢?这里有一个想法:尽你所能重构一个新的纯函数,使不纯的函数包含尽可能少的内容。例如,以这个 JavaScript 函数为例,它在运行 Caesar 密码之前从 DOM 获取一个字符串值:
const runCaesarCipherOnInput = () => {
const input = document.getElementById("input");
const result = document.getElementById("result");
const key = 4;
result.innerText = input
.value
.toUpperCase()
.split("")
.map((letter, i) => {
const code = input.charCodeAt(i);
if (65 <= code && code <= 90) {
let n = code - 65 + key;
if (n < 0) n = 26 - Math.abs(n) % 26;
return String.fromCharCode((n % 26) + 65);
} else return letter;
})
.join("");
};
这个管用!但是很难进行单元测试,因为正在发生的一切。它不是确定性的(也就是说,对于给定的输入,函数并不总是返回相同的输出),并且它包含一些超出函数范围的副作用。甚至.map
调用中的内部循环函数也不纯粹!我们如何解决这个问题?
现在让我们试着去掉所有使函数不纯的东西,给我们留下一些易于测试的功能,然后我们将把这些部分重新构建到原始函数中。
const caesar = (msg, key, rangeStart=65, rangeEnd=91) => msg
.split("")
.map(letter => shiftLetter(letter, key, rangeStart, rangeEnd))
.join("");
const shiftLetter = (letter, key, rangeStart, rangeEnd) => {
const rangeLength = rangeEnd - rangeStart;
const code = letter.charCodeAt(0);
if (rangeStart <= code && code < rangeEnd) {
let n = code - rangeStart + key;
if (n < 0) n = rangeLength - Math.abs(n) % rangeLength;
return String.fromCharCode((n % rangeLength) + rangeStart);
} else return letter;
};
const runCaesarCipherOnInput = () => {
const input = document.getElementById("input");
const result = document.getElementById("result");
const key = 4;
result.innerText = caesar(input.value.toUpperCase(), key);
};
注意,在这个例子中,我们仍然有两个不纯的函数:第 3 行的函数被提供给.map
和runCaesarCipherOnInput
。但是,这些功能足够简单,不需要测试!它们实际上不做任何逻辑(它们主要是为了提供纯函数参数而存在),常量声明和 DOM 读取非常容易理解,所以我们可以放心地认为它们会做我们想要做的事情。如果我使用一个for
循环而不是map
,我甚至可以走得更远,但是这里的要点是,创建单元测试通常不需要作为开发人员的你做很大的改变。这个小的重写实现了相同的目的,它更容易阅读,并且现在是可测试的——像caesar
和shiftLetter
这样的重要逻辑位是纯函数,所以我们可以像以前一样为它们编写断言测试:
const testCaesar = () => {
if (caesar("HELLO", 1) != "IFMMP") throw "Assertion error"; // test basic case
if (caesar("these are all lowercase letters, so nothing should happen", 8) != "these are all lowercase letters, so nothing should happen") throw "Assertion error"; // test lowercase
if (caesar(caesar("DECRYPTED TEXT", 19), -19) != "DECRYPTED TEXT") throw "Assertion error"; // test negative keys for decryption
};
const testShiftLetter = () => {
if (shiftLetter("L", 3, 65, 91) != "O") throw "Assertion error"; // test basic case
if (shiftLetter("s", 14, 65, 122) throw "Assertion error"; // test wrap around, and custom ranges
};
这些函数应该去它们的逻辑对应的地方!为了使批处理测试更容易运行,将单元测试打包到逻辑组中,或者甚至使用专门的单元测试框架来为您处理样板文件可能会有所帮助。
但是,当我们试图测试一些不容易封装在函数中的东西时,会发生什么呢?用简单的单元测试来测试 UI 元素和整个工作流并不简单。接下来我们能做什么?查看本系列的第 2 部分:模拟整个浏览器。
如何为任何功能构建模拟器—第 2 部分:浏览器仿真
当然,我们不能自动化那个过程,对吗?这样做似乎太依赖人工和人脑了。事实证明,解决方案不在于自动化应用程序内部的任何东西,而在于自动化浏览器的输入,模拟你的鼠标和键盘,这样你正在测试的应用程序就无法区分模拟器和真人。这个过程被称为浏览器自动化。还有什么比浏览器本身的无头版本更好的工具来自动化浏览器呢 Chromium 项目维护了一个名为puppet er的 API,我们将为此使用它。
木偶师——无头浏览器
第一步是用一个 dev 实例启动并运行我们的站点,因为我们想在投入生产之前测试这些东西。由于我们只是在这里演示,我将在 Algolia 的生产主页上运行该测试。
接下来,我们将设置一个节点。JS 程序。为此选择一个逻辑位置(可能是项目根目录中的一个文件夹,以便您可以将它与您的构建过程集成)。在这个文件夹中,您将想要创建一个调用所有测试的index.js
文件。这样,只要从 repo 的根目录运行node test
就会运行所有的测试,并且您可以隐藏到文件夹中运行更多的特定测试。
现在,在一些情况下,在构建过程的最后让它成为一个后构建命令可能是有意义的,但是这些将是更复杂的测试,您可能想要手动运行,所以如果您正在本地开发和测试,最好就把它留在那里,让您的开发人员手动运行node test
或node test/specific-test.js
,当他们实际上想要运行 Puppeteer 测试时。如果您的应用程序有一个更复杂的构建过程,包括更少的本地测试和更多的云中开发实例,那么建立一个无服务器项目(这是 Vercel 和 Netlify 擅长的),将它设置为 lambda 函数读取测试,然后修改测试以在 ping 该端点时运行,可能会更容易。测试实际上不需要从与应用程序相同的地方运行(因为测试是完全在客户机上运行的),所以您可以制作一个带有一些按钮的小 GUI 来触发云中的每个测试。
运行完npm install puppeteer
后,你需要一些样板代码。下面是一个示例测试的结构,它以我的身份登录到 Algolia 并获取某个应用程序的凭证:
const puppeteer = require('puppeteer');
const login = async ({width, height}) => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('<https://algolia.com>');
await page.setViewport({
width,
height,
deviceScaleFactor: 1
});
// test logic here
await browser.close();
};
module.exports = async () => {
login({
width: 375,
height: 667
});
login({
width: 1150,
height: 678
});
};;
快速概述:
- 第一行只是导入了木偶师。木偶师是由 Chromium DevTools 团队运行的,所以它本质上是该生态系统的一部分。在这里导入它会链接到 Chromium 的一个 headless 版本(那个版本只是假装它有一个 GUI),因为它是与 Chromium 一起开发的,所以那个版本保证能与 Puppeteer 一起工作。
- 第一个函数叫做
login
,它运行我们的测试。我们现在在这里没有任何测试逻辑,只有启动 headless Chrome 浏览器的样板文件,转到 Algolia 网站,并将视窗设置为我们传递给函数的任何内容。最后,我们关闭浏览器,这样它就不会在内存中保持打开状态。 - 然后,我们导出一个函数,在不同的屏幕尺寸上运行相同的测试。
要从test
文件夹中的index.js
内部运行这个测试,我们只需要运行require("./login")();
。有了这种一行一测试的设置,我们甚至可以将测试分组为批次,并在命令行上用标志来触发这些批次,例如node test --dashboard
。这里的定制没有限制,所以可以根据应用程序的需要进行调整。
在我的例子中,每当测试失败时,我都会遇到throw
错误,而不担心批处理任何东西——我没有足够的测试来让我把精力集中在那里。不过,在您的应用程序中,这些测试函数返回测试结果可能会有所帮助,而不仅仅是在失败时显示错误,因为这将使您能够基于从index.js
运行的测试打印出更详细的消息。现在,我的目标是让一切都安静地运行,除非有我们需要解决的问题。
让我们更深入地研究一下实际的测试逻辑,它可能比您预期的更简单:
// step 0\. accept cookies so the site works like normal
await page.waitForSelector('a[href="/policies/cookies/"] + button');
await page.click('a[href="/policies/cookies/"] + button');
// step 1\. wait for the log in link to appear and click on it
if (width < 960) {
await page.waitForSelector('[data-mobile-menu-button]');
await page.click('[data-mobile-menu-button]');
}
await page.waitForSelector('a[href="/users/sign_in"]');
await page.click('a[href="/users/sign_in"]');
// step 2\. wait for the email input to appear on the new page, focus on it, and type the email from .env
await page.waitForSelector('input[type=email]');
await page.focus('input[type=email]')
await page.keyboard.type(process.env.email);
// step 3\. focus on the password input, and type the password from .env
await page.focus('input[type=password]')
await page.keyboard.type(process.env.password);
// step 4\. click the log in button
await page.click("form#new_user button[type=submit]");
// step 5\. if we're on mobile, we'll need to click one more button to indicate we'd like to stay on mobile
if ((await page.url()).includes("mobile")) {
await page.waitForSelector('.continue-button');
await page.click('.continue-button');
}
// step 6\. wait for the application selector to appear and click it
await page.waitForSelector('#application-select');
await page.click("#application-select");
// step 7\. click on the application with the name in .env
await page.$$eval(
'div > span.options',
(options, applicationName) => {
const matchedOptions = options.filter(option => option.innerText.split("\\n")[1] == applicationName);
if (matchedOptions.length) {
matchedOptions[0].click();
} else {
console.log(`Application ${applicationName} does not exist`);
}
},
process.env.applicationName
);
// step 8\. wait for the api keys button to appear on the new page, and click it
await page.waitForSelector('#overview-api-keys-link');
await page.click("#overview-api-keys-link");
// step 9\. wait for the page to load and get the application id and public api key for this project
await page.waitForSelector('#api-keys-page-heading');
const [applicationID, publicAPIKey] = await page.$$eval(
'input[readonly]',
inputs => inputs.slice(0, 2).map(input => input.value)
);
// step 10\. log the results of our test
if (applicationID != process.env.applicationID)
throw `Application ID is not correct. Test produced "${applicationID}", but it should have been "${process.env.applicationID}"`;
if (publicAPIKey != process.env.publicAPIKey)
throw `Public API key is not correct. Test produced "${publicAPIKey}", but it should have been "${process.env.publicAPIKey}"`;
// step 11\. close the browser
await browser.close();
这不是一个微不足道的例子——如果你读了这个过程中每一步上面的评论,这些都不会太令人惊讶。它只是在真实的浏览器中模仿用户的行为,考虑到 Algolia 的主页处理移动和桌面的不同。伴随它的是一个.env
文件,我在其中定义了用于登录的email
和password
、目标应用程序的name
(用户将使用它来找到正确的应用程序),以及测试应该返回的publicAPIKey
和applicationID
。如果一切顺利,这不会输出任何内容。但是如果有什么东西坏了,它会抛出一个描述性的错误,这样我们就可以在构建完成之前修复它。
那么我们从这个系列中学到了什么呢?有两种主要的测试方式:
- 单元测试 — (正如本系列的第 1 部分所讨论的)这对于不与外界交互的简单、纯粹的函数来说是完美的。甚至隔离不纯函数的纯部分也是一个很好的实践,这样你就可以用简单的断言单独测试它们,这些断言和你测试的代码放在同一个文件中。
- 浏览器仿真 —对于更大的工作流,你需要你的测试实际上假装成一个用户,所以我们启动了 Chromium 的无头版本 Puppeteer 来“操纵”一个假用户,并遍历整个过程,浏览器甚至不知道它正在与另一个程序交互。
应该注意的是,这些方法并不相互排斥——在 Algolia 仪表板中向开发人员显示正确的 API 凭证这一特殊功能非常重要,足以用这两种方法进行测试。我们已经编写了一个木偶程序,从用户的角度来遍历整个工作流程,但是除此之外,分解我们搜集的 API 关键页的水合过程也是有帮助的。如果我们在该页面中隔离尽可能多的纯函数,我们可以用单元测试来测试它们,以确保绝大多数的进程不会无声无息地中断。因为它是从数据库中提取数据来显示在视图中,所以不可能使整个事情变得纯粹,但是这就是使用两种类型的测试的好处:我们不需要用任何一种方法来获得 100%的覆盖率。只要它们涵盖了所有内容,我们就可以对应用程序的持久性和长期可持续性充满信心。测试愉快!
实施成功的全渠道零售战略
原文:https://www.algolia.com/blog/ecommerce/how-to-build-the-best-omnichannel-retailing-strategy-in-2022/
说到购物,大多数人天生懒惰。我们希望我们的浏览和购买,无论是在线还是离线,都相当于躺在游泳池边,享受美味的饮料和小吃。我们希望得到人类销售代表和非人类数字助理的青睐。我们已经被个性化的专家帮助找到我们想要的东西(以及我们甚至不知道我们想要的东西)并且能够以一种极度放松的方式做到这一点宠坏了。
疫情对电子商务的影响
可以肯定地说,电子商务已经从新冠肺炎疫情最糟糕的时期走出来,其外观和感觉与几年前大不相同。数字零售商一直忙于让“零售疗法”变得越来越轻松。疫情加快了网上销售的某些变化,包括使用全渠道零售。全渠道体验的重点是创造一种无缝的购物体验,这种体验自始至终都是一致的、集成良好的个性化购物体验,无论我们是在公司的实体店中浏览,在在线市场上阅读产品信息,在社交媒体平台上点击广告链接,还是通过其他销售渠道参与其中。
跨渠道销售无疑创造了无缝的客户体验。这意味着,无论人们使用数字渠道还是线下渠道,他们都会得到一致的品牌和内容营销信息。无论他们如何与您的公司互动,他们的个人信息都可以从中央知识库中访问,以确保整个购买流程接触点的一致性。
谁能否认“全渠道”这一时髦词汇符合“无缝体验”的宣传呢?也许没有零售预算的公司会为此烦恼。然而,全渠道,可以说是零售业的未来,对于那些在顾客满意度方面跟不上的企业来说是一个难题。因此,随着越来越容易的全渠道零售的出现,想要成功,甚至只是想在所在行业保持竞争力的企业高管必须考虑升级公司多渠道用户体验的好处。
已经接受多渠道以获得更好的客户体验?开始步入更高盈利轨道的一个方法是将 广度 添加到您的全渠道方法中,以便您的客户可以通过您的各种渠道轻松找到您并与之互动。
哈佛商业评论 引用了一项涉及近 46,000 名购物者的研究一家公司 73%的购物者在购物过程中使用了不止一种渠道。“更令人信服的是,”研究人员说,“随着他们使用的每一个额外渠道,购物者在商店里花了更多的钱。”
嗯。那么,在 2022 年及以后,你如何开始升级你公司的全渠道互动以获得客户满意度呢?
首先,考虑一下你对全渠道方法的这三个关键部分处理得如何
- 点击收藏
- 商场退货
- 客户忠诚度应用
在 点击取货 模式中,为了简化店内购买,消费者在网上点击选择或购买商品,然后去零售店或其他实体场所取货。
店内退货 选项让人们可以在网上购买商品,如果他们对商品有问题,可以很容易地将其退回实体店,消除了退货的麻烦(在许多情况下,还消除了不得不支付退货运费的愤怒)。
忠诚度应用 (通常是便于移动使用的移动应用)让消费者在购买商品的同时享受促销。例如,Peet 的咖啡应用程序为每花一美元分配一个“点”,并让客户通过扫描二维码方便地支付。
总的来说,这些功能有助于为消费者创造更好的整体体验,他们更喜欢被宠爱,除了懒洋洋地按下“购买”之外,不用从他们的象征性酒杯上拿开一根手指
什么是全渠道零售?
全渠道零售战略专注于提升线下渠道的体验,如店内体验和在线购物体验,无论是在电子商务网站上、通过社交媒体还是通过电子邮件营销。我们的目标是为客户提供一致的、高度个性化的体验,无论他们如何与企业互动。
全渠道战略并不新鲜。它是在近十年前构思的,为便利功能铺平了道路,例如可以预订产品,然后在商店里拿起它。重大进展发生在 2018 年疫情前夕,因为点击收集被 40% 的消费者所利用。
点击取货为标准产品交付提供了一种更便宜(通常也更快)的解决方案,是零售企业高度可扩展的选择。从那时起,全渠道商务的推出开始触及客户体验的方方面面——从营销到销售,从客户旅程到结账,一直到售后和忠诚度。
现代全渠道方法包括通过以下方式与客户互动:
- 移动设备
- 移动网络
- 社交媒体
- 电子商务网站
- 大街上的实体店
- 电子邮件活动
- 聊天机器人
- 专用购物应用
- 智能助手(Alexa、谷歌助手、Siri)
- 传统广告
打造制胜全渠道战略
尽管全渠道营销潜力巨大,但创造一个能提高客户参与度的全渠道购物策略却是一项挑战。随着零售技术的不断进步,存在着无数的可能性,也不存在适用于所有组织业务模式的一刀切的全渠道零售体验。
你怎么知道从哪里开始?深入思考你的人口统计。
【钉钉人口统计】
有效的全渠道战略需要极其准确的客户数据。如果你对你的客户了如指掌,那么你应该能够准确预测他们会在哪里与你的品牌进行第一次互动,他们在做出决定之前会阅读、观看或收听多少内容,以及你如何才能最好地尝试在多个平台上影响他们。
你很可能通过使用 cookies 在你的网站上收集用户数据,并通过专用仪表盘监控你的社交媒体参与度。但是,要让全渠道零售战略真正发挥作用,你需要能够汇集这些数据。
这就是一流的内容管理、知识管理和智能搜索的用武之地。移动设备是如何整合到您的多渠道战略中的?
先去移动
在一个以移动为先的世界里,你的移动网站保持一流的状态是很重要的,这样人们就可以在移动中快速找到他们需要的东西。这意味着他们可以在手机上享受流畅的浏览体验,这可以帮助你创造更多收入。
然而,还有一个更紧迫的原因需要加倍努力来完善用户的移动体验。根据 PYMNTS%20look%20up%20product%20information.) 的调查,几乎一半的智能手机用户在实体店购物时会使用它们 。在购买之前,人们通常喜欢查看产品评论,比较价格,也许还会找到其他商店出售该商品。如果你提供正确的选择,移动友好可以为你赢得潜在的忠诚客户,他们此刻正站在竞争对手的实体店中,准备购买。这就是简化的全渠道战略的强大之处,而这只是预期购物之旅的一个方面。
优化客户旅程
在疫情执政期间,顾客行为在某些方面发生了巨大变化。例如, 75%的美国消费者 由于经济压力、商店关闭或优先事项改变而尝试了一种新的购物行为。这些变化对品牌忠诚度产生了巨大影响,因为消费者已经转向自有品牌商店和他们信任的主要品牌,以做出购买决定。
考虑到这一点,你可能需要调整你的预期客户旅程,以满足客户的独特需求。
例如,假设你的公司销售婴儿用品——奶瓶、消毒器和配方奶粉。你可能会发现,在你的父母目标受众中,越来越多的人正在使用语音搜索来寻找你的产品,因为他们很少有时间或空闲时间在手机或电脑上搜索。
因此,在这种情况下,专注于语音搜索优化可以增加你的品牌忠诚度和收入。如果你的顾客想去你的实体店购买更多的配方奶粉,或者在他们的电脑上订购,全渠道营销将确保他们的个人偏好和其他数据被带到商店,在那里他们的商店提货体验可以得到一致的个性化。
保持一致
为什么持续的经历如此重要?确保在商店、在线、社交媒体上的一致体验,同时使用智能助理可以提升您的专业形象。它有助于与你的客户建立牢固的关系,并提升你的品牌。
为了实现这种一致的体验,您需要汇集来自后台程序的所有用户数据,并确保您的访问者的个性化体验在您的可用渠道中保持同步。您还需要确保您的不同渠道具有相同的外观和感觉。例如,如果你的商业街商店和网上商店没有相同的感觉,顾客可能会注意到缺乏对细节的关注。没有一致性,他们可能会犹豫是否完全信任你。
全渠道战略的枢纽
自从疫情成立以来,如果说全渠道零售战略需要什么的话,那就是 非孤岛数据。 如果您的渠道来自不同的数据仓库,将很难为您的客户创造一致的体验。例如,如果你的在线渠道不“了解”某人的店内购物,他们可能会因为你对你与他们的专业客户关系和他们已经建立的忠诚度看起来杂乱无章而感到厌烦。
创建有效的全渠道营销战略的一种方法是建立一个 Algolia 搜索和个性化引擎,它可以:
- 汇集来自不同应用、程序和数据库的客户数据,为客户创造统一的搜索和探索体验
- 根据从 CRM 到 CSM 的所有后台系统的数据,为您的客户量身定制建议
- 通过利用人工智能,让潜在客户在移动中(或在竞争对手的商店中)搜索价格
- 为使用谷歌助手、亚马逊 Alexa、iOS、Android、Chrome 或 Edge 的客户提供 语音搜索 功能的选项
- 为每位顾客创造一致的个性化体验
要了解更多关于我们全渠道战略增强功能的信息,请联系 Algolia 团队 。您也可以做一个简单的 免费试用 ,看看我们能如何帮助您获得良好的全渠道客户体验。
Tapcart + Algolia:为您的移动应用程序提供强大的 Shopify 搜索
原文:https://www.algolia.com/blog/algolia/how-to-create-an-easy-search-experience-for-your-mobile-app/
移动技术彻底改变了我们生活的方方面面,购物也不例外。移动商务将继续发展,品牌现在需要适应。
根据谷歌的一份报告,在你的移动商店中有负面体验的用户将来从你这里购买的可能性会降低 62%。虽然优化你的手机网站是必要的,但这并不是解决手机掉线问题的最终办法。 如果您希望您的客户再次光临,您需要提供方便易用的移动购物体验, 和 确保尽可能做到完美无缺。
这就是我们与 Tapcart 合作的原因。Tapcart 将 Shopify 商店转变为无代码的移动应用程序,具有一流的用户体验,为您的电子商务商店带来竞争优势。不仅仅是因为你可以为你的客户提供 5 秒的结账、即时页面加载和发送推送通知的能力,还因为你可以提供无缝的搜索体验。通过将 Algolia 连接到您的 Tapcart 移动应用程序,您的移动购物者只需轻轻一点就可以搜索和发现产品,从而提高参与度和转化率。
Algolia 插件特性:
- 一般搜索 :首页和收藏页搜索,可定制排名和商品规则
- 热门搜索: 开始输入,每次按键都会显示热门搜索建议
- 趋势搜索 :在你开始输入之前,趋势搜索查询会显示用户经常搜索的建议
- 过滤 :从 Algolia 仪表板上的预定面中提取
- 排序 :从你在 Algolia 仪表盘上创建的指数中提取
想了解更多关于集成的信息?安排一次演示。
拖车
Tapcart 是一家 Shopify Plus 认证移动应用提供商,为全球 20,000 多个发展最快的 Shopify 品牌提供服务,包括 Fashion Nova、Urban Planet、Chubbies、Planet Blue、Fanjoy 等。移动是下一代商务,精明的用户已经开始期待在手机上购物时获得最佳体验。使用 Tapcart ,您可以为您的品牌设计并发布一款世界级的移动应用程序,无需任何编码或开发工作即可提高转化率和参与度。将您的 Shopify 商店与您的 Tapcart 应用程序无缝同步,以提高留存率、建立品牌忠诚度并产生更多订单。
如何创造最好的搜索引擎体验
原文:https://www.algolia.com/blog/ux/how-to-create-the-best-search-engine-experience/
你已经有了一个外观鲜明的网站,有漂亮的网页和时髦的信息,你的主页色彩丰富,引人入胜。你有大量的交通。只有一个问题:你的购物者似乎没有像你希望的那样成群结队地改变信仰。事实上,你的用户会在几秒钟内离开你的网站。
为什么?因为他们在搜索查询中找不到他们想要的东西。他们可能得不到相关的结果。他们可能不会有结果。他们可能会得到不符合他们需求的结果。当他们勇敢地试图找到一件物品时,可能会发生一些奇怪的事情。严重的后果是,你不断失去潜在客户(或者订户,如果那是你的商业模式的话)。
更重要的是,你可能不太可能很快(如果可能的话)让这些潜在客户回来。从电子商务购物到新闻和播客选择,搜索控制着我们如何在网上做出许多日常选择。在我们的搜索中,我们被谷歌搜索和其他工具的便利所宠坏。难怪根据哈里斯调查,74%的顾客说他们会避开那些他们没有享受到一流搜索体验的网站。
是的,你可能只有一次机会。在这个即时满足的网络搜索时代,即使是一次糟糕的搜索体验也可能导致收入损失,以及一系列其他相关和不相关的负面事情,比如一个不太正确的网站的声誉。
建还是买?这就是问题
好消息是,你不必继续走平庸的商业之路。一个流畅、现代的搜索体验,提供优秀的搜索引擎结果相关性,可以让你的搜索者满意很长一段时间,其中许多人会转换,并可能在某个时候找到他们的路。是的,搜索可以很容易地使 产生巨大的 的差异。
那么,你如何找到合适的搜索引擎,专门为你的行业、你的网站、你的用户提供令人满意的整体 个性化用户体验 ?
与许多其他重要的技术工具一样,你有两种选择。建造还是购买,这是个问题。根据您的特定需求和企业规模,两种答案都可能是正确的。
剧透预警:如果你 造出来 ,他们可能会来。但是如果你买了, 你 可能会遥遥领先。
构建:为什么要从零开始创建搜索引擎?
打造一个定制的搜索引擎并不适合胆小的人。它甚至不适合内心强大的人。这是一个令人生畏的、漫长的、昂贵的过程。这就是为什么大多数决定建立自己的搜索引擎的公司倾向于:
- 以搜索为主要驱动力的科技巨头,如谷歌、亚马逊、必应、雅虎和 Ecosia
- 提供 SaaS 产品的搜索引擎开发商 ,如 Elasticsearch 和 Algolia
- 放弃文本搜索 并探索非传统方法的公司,例如视觉搜索
在你开始研究如何创建一个高质量的搜索引擎,深入研究 web 开发、索引、语义搜索、推荐以及其他创建最佳搜索框和熟练处理搜索词所需的细节之前,这里有一些关于这条路线的利弊。
利弊
你已经完全控制了
你是控制狂吗?那么,嘿,建立一个搜索引擎可能适合你。DIY 搜索引擎项目的一个明显优势是你可以决定一切是如何运作的。从搜索算法和核心功能集到设计和功能,用户搜索的定制选择完全由您决定。那是令人陶醉的东西…直到你意识到你对事情的结果负有 100%的责任。
这就导致了自己做搜索引擎的弊端。
弊
这就复杂了
就科技项目而言,组装一个搜索引擎并不容易。即使你选择了一个开源的企业搜索平台,这样你就可以下载源代码并从开发者社区获得在线支持,也需要大量的专业知识和时间来完成这个巨大的壮举。这样的项目无论如何也不适合技术上有挑战的人或小型创业公司。
不,这是少校。如你所知,科技巨头有数百名,如果不是数千名最聪明的程序员从事这样的项目,他们中至少有。理由很充分:他们希望在本世纪的某个时候完成,以一种保证有效的方式,让他们收回投资,甚至更多。
【路途】太长
如果你昨天需要一个搜索引擎,现在你正在调查和了解你的网站发生了什么,今天你认为你甚至更需要它,问问你自己这些关键问题:
- 你的企业有多大——你有人力资源和专门的时间来实现你的搜索引擎吗?
- 你能让多少开发人员参与这个正在进行的项目?
结果是:你将需要处理大量复杂的功能,比如实现同义词,教搜索引擎如何理解相似的术语和短语。在上线之前,一个小的开发团队通常不具备完成所有任务和测试的带宽或能力。此外,对于大多数公司来说,这些时间可以更有效地用于其他优先事项。
你需要软件工程来构建新功能
比方说,在完成软件开发、构建和新功能首次亮相后,你会想到如何让搜索结果对特定的网站用户更准确。然而,这个搜索结果页面更新将花费你的内部团队许多天或几周的时间来高效地构建和构建,更不用说细致的测试和调整了。又一次,资源流失。
非常昂贵
平均而言,实施定制解决方案的初始价格可能会更低,但从长远来看,维护和升级系统的成本可能会更高。然后是获得设备和技术。这样的技能专业化并不便宜…准备好削减你公司预算的大洞了吗?
买:为什么要用现成的?
从经过测试、尝试和调整的解决方案开始有其优势。
利弊
一切都在中烘烤
不管你对搜索引擎有什么要求,SaaS 解决方案都会提供一系列完全实现的有益功能,比如人工智能搜索能力和洞察力。您可以塑造和塑造经过道路测试的功能,使您的搜索功能正好适合您的用户。
无形中瞬间实现
如果你内部缺乏资源和人才来开发自己的搜索引擎,这是一个快速而肮脏的选择。
从零开始建立一个搜索引擎不再需要的时间可以被分配到重要的优先事项上。与其花上几周或几个月的时间来搞清楚如何构建搜索引擎,你可以通过获得一个满足你所有要求的现有解决方案,而不是专注于如何通过身临其境的简单搜索来增加收入。在那之后,你将很快就能坐下来,看着你的参与度开始攀升。
骨头上会有肉
SaaS 搜索提供商拥有深厚的知识和专业技能,可以帮助您打造量身定制的搜索体验。他们煞费苦心地建立了一个搜索引擎,它从第一天起就拥有你需要的所有广度和能力。这意味着您将能够超越自我构建的预期“基本”挑战,并开始进一步为您的用户增强和微调搜索体验。
专家 SaaS 搜索提供商将为您撑腰
SaaS 解决方案被认为是为访问者创造最佳搜索引擎体验的最及时、最省钱的方式之一。为什么?你可以借助那些知道如何构建最佳技术的人的专业知识。他们给你一个托管的 API,然后你可以继续利用他们的专业知识,例如,当你想用这个解决方案来以这样或那样的方式推进你的搜索野心时。此外,拥有一个可以自动更新的解决方案意味着您将始终拥有最高效的搜索引擎技术来为您的用户服务。
实施后成本降低
当您的初始解决方案设置完成,并且一切正常运行时,您的成本会更低,而如果您从头开始构建搜索引擎,更新和升级会让您花费更多时间。有了 SaaS 搜索提供商的支持,维护成本应该是一揽子计划的一部分,这将降低你的总体成本。
更灵活
当使用内部团队时,搜索引擎结果页面的功能,如多语言处理、错别字容忍和同义词支持,通常需要很长时间来构建。有了 SaaS 搜索提供商,您可以简单地选择并利用可用的功能,快速创建一个更加全面的定制解决方案。
弊
与专家合作可能有一个主要缺点:
你会觉得自己被锁在了
迁移项目可能既费力又昂贵,从经济或物流的角度来看,中途更换供应商是不切实际或不可取的。所以使用 SaaS 搜索提供商意味着你会和他们呆很长时间。
告诫:与 建立成功的长期合作关系合适的 供应商无疑是游戏规则的改变者。有合适的合作伙伴来帮助您优化意味着集成一个真正补充您的业务的搜索引擎,根据您的需要进行扩展,并且可以随着您不断变化的业务需求而灵活变化。哦,当然,与合适的提供商合作还有额外的好处:给你的用户留下深刻印象,增加你的收入。
买:那可能是答案
那么,你是应该建造它,还是最好买下它呢?
如果你倾向于购买阵营,我们希望你能考虑 Algolia。在众多 SaaS 搜索提供商中,我们相信我们在为我们的客户提供世界级搜索用户体验的的能力方面脱颖而出。
您将获得一个全面的搜索工具,它通过先进的机器学习算法来驱动用户体验,因此您可以获得更高的收入流并实现您的增长目标。我们的解决方案比竞争对手的快 200 倍,提供包括 A/B 测试、分析和人工智能生成的同义词在内的功能,并为您提供几个 定价选项 。
准备好购买合适的解决方案了吗?我们已经为您的行业做好了准备和微调,并在等待。联系我们的团队 获取详细信息,现在就开始创造您最佳的网站搜索体验。
为什么商品销售(和搜索)对电子商务很重要
对于包括电子商务在内的任何零售企业来说,销售都非常重要。商场或购物中心中的商店可以操纵物理空间来影响交通流量,战略性地定位产品或品牌特定的展示,调整货架,在墙上悬挂吸引人的图形,修改照明来营造气氛,播放音乐,甚至引入气味。
没有理由说在线企业不能做同样的商品销售——为数字表面空间量身定制。一部手机的屏幕, 大约占四分之三的网上销售 的地方,只有几平方英寸。似乎在那个狭小的空间里没有太多的工作,但这并不完全正确。事实上,当在线销售由数据和设计驱动时,它可以产生很好的效果。
设计和内容
数字营销既是一门艺术,也是一门科学。这里有一个 简要回顾 一些与设计、新鲜感和互动性相关的营销最佳实践,这些实践不容易量化,但绝对值得关注。
忠于你的品牌 。有些人认为品牌是字体、调色板和如何使用标志的规则的集合。有些人坚持认为,品牌必须提供明确的承诺,并代表一些东西。无论你如何看待你的品牌,你的电子商务网站必须反映它,并与你的其他销售渠道保持一致。
好看 。高质量的摄影不仅能帮助顾客做出购买决定,还能表明你对你提供的产品足够尊重,能给他们应得的视觉关注。你网站的美学设计也很重要。对于高端产品,可能需要优雅的设计,但如果你的网站旨在快速满足功利需求,它仍然应该有适当的设计。它应该 看起来 功利。
给你的顾客一个参观T2 的理由。如果你定期提供新产品、季节性特价、短期销售或其他经常变化的内容,你就给了你的客户一个超出实际需求的访问理由。麦当劳每年在美国销售 五亿五千万个汉堡 ,但他们仍定期推出新产品。
相关 。与季节性和节假日相关的商品是相关性的一个明显例子,但还有更多。像超级碗或奥运会这样的体育赛事,像越来越关注可持续发展这样的社会趋势,甚至社会事业都可以给你的网站带来额外的活力和个性。
利用用户内容。 复习是必不可少的,但你或许可以更进一步。一些网站展示了客户的 Instagram 照片,其中包括他们正在使用的产品。您还可以用大号字体展示带有正面客户评论的横幅。
打造互动购物体验 。如今,如果你在网上购买一副眼镜,借助手机的摄像头,你可以看到它们在你脸上的样子。有些网站会让你在购买之前看看你的房子或公寓里的家具是什么样的。技术的存在是为了大量的互动。只是需要投入使用而已。
更长的清单,看看我们的 电子商务营销指南 。
数据驱动搜索
上面概述的实践很重要,但是创造力和天赋只能带你走这么远。在线销售需要由数据驱动,而数据在搜索栏中的贡献最大。重复一遍,43%的电子商务网站访问者会直接进入搜索栏。此外,这些搜索者很可能是你最好的客户。在一项研究中,使用搜索栏的消费者转换 的次数比不使用的消费者多 1.8 倍 。将营销技巧直接引入网站搜索可以对底线产生巨大的影响。这种做法通常被称为。
什么是 searchandising?
搜索和筛选是以推动电子商务商店销售、转化和 KPI 的方式管理搜索结果的过程。
Searchandising 允许产品所有者、营销者、商人和网站所有者推广产品,以符合商业目标的方式组织搜索结果,甚至跟踪人们如何与产品互动。搜索是一个迭代和持续的过程,可以不断改进,最终推动更多的销售。
—路易丝·沃尔莱尔, 阿尔戈利亚公司产品营销经理
首先,searchandising 建立在一个关键的搜索原则之上:排名,即搜索结果出现的顺序。最近一项基于数十亿次谷歌搜索的研究表明,28.5%的访问者 点击了第一个有机搜索结果,而前三个占所有点击量的 50%以上。在亚马逊上,35%的访问者点击第一个搜索结果。简而言之,控制搜索结果的排名(顺序)可以让你处于最有利的位置,向你的客户提供你最想让他们首先看到并最终购买的东西。
虽然搜索引擎可能知道很多关于语言、产品,甚至是正在搜索的用户的信息,但也有很多是它不知道的。例如,搜索引擎不知道你的产品的利润,哪些产品有好评,哪些产品在打折,等等。幸运的是,有了现代网站搜索解决方案,搜索引擎可以根据任何属性或事件数据将某些产品提升到列表的顶部。这里有一个更完整的列表,列出了一些可能影响你想要的结果排名方式的常见因素。
- 页边距 。与查询的最佳匹配,甚至是价格最高的匹配,可能没有最好的利润,因此不是最有利可图的。
- 畅销书 。有时候把畅销书推到顶端是有意义的,因为,嗯,它们是畅销书。
- 点评 。至少有一个评论的产品页面的转化率比没有评论的页面高 350 %,所以这些项目的排名更高是有道理的。
- 初来乍到。比你可能意识到的更多的访问者正在访问你的网站来发现新的东西,这些东西是推上顶端的很好的候选者。
*** 折扣和打折商品 。对潜在买家来说,打折或促销通常是一个转折点。这也是一种移动短保质期商品或处理积压商品的方式。* 交叉销售 。有些商品比其他商品更有可能引发交叉销售,最终增加订单价值。事实上,您可能希望在搜索结果中包含一些交叉销售的商品。* 忠诚计划状态 。会员可以获得特定商品的奖励和特别优惠,这些应该得到加强。* 回报率 。回报是昂贵的,用最低的回报率来提升产品是有意义的。* 网站品牌 。如果你的品牌像沃尔玛一样靠价格竞争,你可能希望排名能反映这一点。另一方面,如果你的目标是被认为是高档和独特的,价格将不是一个因素,排名应该把更优雅(因此更昂贵)的项目放在顶部。* 时间敏感度 。一般来说,与节日有关的产品,像复活节彩蛋染料或圣诞饰品,需要在相对较短的时间内密集推送,然后掩埋(节后销售除外)。* 保质期 。食品是时间敏感性的一个极端例子。任何容易变质的东西都可以从高排名中受益。* 季节性 。成千上万的产品受到季节的影响,展示合适的产品——例如,雪铲与花园铲——将提供更好的客户体验,并增加销售的可能性。* 缺货缺货。大约 15%的顾客在遇到缺货商品时会去另一个网站,所以显然最好把这些商品埋藏起来。**
**至少在某种程度上,这些排名和布局功能可以引导客户的旅程,就像产品展示的过道和位置引导客户参观实体店一样。
事实上,在电子商务网站上寻找商品往往比在大型商店里寻找更容易、更方便。越来越多的电子商务网站可以包括“体验区”,目录页面上有可点击的邀请,例如,使用设备的摄像头虚拟试戴一副眼镜,或者看看新沙发在你的客厅里实际上会是什么样子。
类别页面
产品在页面上的展示方式很重要。下图基于最近的眼球追踪研究,显示了网站访问者的注意力通常是如何优先化的。你可以把你希望得到最多关注的产品放在访客最有可能看的地方(图中红色)。
眼球追踪研究表明,观众会优先关注台式机或笔记本电脑屏幕的各个部分。
行动中的搜索和搜索
出于搜索和分类的目的,搜索结果可以是手动的,也可以是自动的,这是你的选择。手动监管可以是一个简单的拖放过程,不需要编码。你只需按你希望的顺序排列商品,这将反映在搜索结果和目录页面中。这也叫。
手动处理的好处是你可以按照自己的意愿对结果进行精确的排序。缺点是,像任何手动过程一样,它很耗时。对于许多电子商务网站来说,手动排列每个搜索所需的时间会令人望而却步,并且结果的管理通常仅限于总目录的前 20%。
或者,您可以使用规则,根据您选择的任何标准(如品牌、利润、受欢迎程度等)自动排序(排名)和显示内容——基本上,就是上面“搜索和使用的驱动因素”一节中提到的所有内容
好处是双重的。首先是规模。你可以设置“首先显示打折商品”这样的规则,这将适用于所有类别和搜索结果。其次,这些规则可以在你推销的商品类别中推广高转化率商品。例如,如果你有一个耐克鞋的销售,你可以使用规则来促进最畅销,最高库存,或最接近(按地理或店内可用性)的客户。
使用相关性设置来调整搜索结果和分类页面的排名。
升压
如果搜索引擎可以根据销售额最高的产品来决定将哪些商品推至顶部,会怎么样?现在,如果你进一步提高这些项目呢?
我们有三种提升物品的方法。
您可以配置基本排名公式,以便根据数据将某些项目排在其他项目之前。例如,您可以添加业务指标,如畅销、高利润和受欢迎程度,并配置引擎以提高某些项目的可见性。
您还可以创建根据查询触发的规则。例如,如果用户键入“iphone”,您可以创建一个规则,在结果顶部显示(或固定)最新版本。
- 提升趋势项目——动态重新排名
最后,你可以通过应用点击、购买、转化或任何其他分析数据等成功指标,让引擎为你做推广,以推动最有可能带来更高转化的最佳结果。它不断学习和适应您的站点的性能,以最大化业务成果
条幅
除了优化搜索结果的排名方式,Algolia 还能让你 显示横幅 来将访问者的注意力集中在特定的商品信息上。横幅可以引起对新产品、新款式或颜色、销售活动、交叉销售商品或任何其他销售或品牌信息的额外关注。
个性化
搜索和设计的另一个极其重要的方面是个性化。这很有效,而且有大量的统计数据支持这一论断。根据一项研究,80%的消费者在得到个性化体验时更有可能购买。个性化的重要性越来越大。60%的消费者 在 2021 年的一项研究中表示,在经历了的个性化购物体验后,他们可能会成为 的重复购买者,高于 2017 年的 44%。
许多零售商使用带有算法的推荐引擎进行个性化,根据大量数据点返回结果,例如:
- 性别
- 奖励计划状态
- 年龄
- 社交媒体喜欢
- 地理位置
- 浏览器
- 购买历史
- 一天中的时间
- 网站搜索历史
- 浏览过的页面
个性化 发生在搜索本身内部或当客户浏览网站时。实际上,这意味着在其他搜索和排序算法的基础上进行个性化分层。例如,如果一个木工正在搜索一个电钻,搜索结果可以包括买家最有可能购买的电钻品牌或类型,这是基于买家过去的查看或购买历史,或者您选择利用的任何其他因素。
A/B 测试
测试是电子商务持续改进的关键。大多数人把 A/B 测试和优惠、标题、图片、横幅颜色之类的联系在一起,但是 A/B 测试 可以应用到搜索本身。例如,如果根据最受欢迎的品牌优先与最低价格优先对搜索结果进行重新排序,哪组结果会产生更高的转化率?通过回答这样的问题,A/B 测试可以将搜索收入提高 10%或更多,而且使用 Search.io 很容易执行。以下是一些需要记住的要点。
- 使用足够大的样本量给出相关结果 。事实证明,一个显而易见的问题是——多大才算足够大?–没有简单的答案。但最底端至少是 1000 次搜索。
- 随机化 。确保每个搜索给定术语的人都有同等的机会获得结果集“A”和结果集“B”。
- 一次只测试一个结果 。例如,测试较高的 CTR 或较高的 AOV,但不能同时测试两者。试图从一个测试中评估多个结果只会混淆决策。
- 不要延长测试期超过一个月 。任何更长的时间框架都会引入新的变量——变化的天气、学校里的孩子与夏天回家的孩子,等等。–这些可能会扭曲您的结果。
- 迭代 。任何给定搜索的第一个 A/B 测试的获胜者可能不是最佳结果集。
商品事宜
即使在最小的屏幕上,商品销售也有创造和创新的空间。数据驱动的在线销售——搜索和设计——是最有效的工具之一。优化和个性化的搜索结果排名会带来更好的商业结果。Algolia 不费吹灰之力就能提供这些结果。
如果你想通过 【商品销售】 提高你的电子商务网站的性能,请不要再搜索了——通过 现场演示 或 免费开始 !**
提高 C2C 市场的转化率
原文:https://www.algolia.com/blog/ecommerce/how-to-drive-higher-conversions-in-c2c-marketplaces/
用户生成内容是电子商务行业快速增长的新趋势。社交商务 结合社交媒体和电子商务平台,为客户提供高度个性化和精准定位的在线产品发现流程和购物体验。直播产品评论 正在席卷电子商务世界,并推动参与度、销售额、平均购物车量和在线购买速度。
无可否认,市场在采用这些新的创新实践方面处于领先地位。很多时候,他们面临独特的挑战,很少影响典型的电子商务零售商,例如管理非常大的目录,处理丰富的产品种类,同时管理客户体验和供应商关系。所有这些方面都需要创造性的产品发现方法。除了上面列出的典型市场挑战,C2C 市场在其独特的电子商务运营需求和商业模式要求中脱颖而出。
让我们考虑下面的类比:把一个在线市场想象成一个巨大的仓库。来自数千种类别的数百万种产品都在同一屋檐下。如果没有适当的组织,客户很快就会迷失方向,被大量的产品淹没。供应商也不会满意,因为顾客将无法在仓库中找到他们的产品,他们将不可避免地很快放弃搜索,而去另一家组织更好的商店购物。你现在可以看到,就像仓库一样,C2C 市场正在为卖家创造更高的转化率和为买家优化产品发现之间进行平衡。让我们试着找出 C2C 平台面临的挑战,并为每个平台找到有效和可行的解决方案。
优化 C2C 市场的产品和内容发现
目录管理
卖方收购
在市场的早期阶段,最重要的是有产品可以卖。仅举几个例子,像易贝、亚马逊、Etsy 和 Airbnb 这样的公司没有成为首选的电子商务平台,因为它们从第一天起就有很好的相关性和产品发现;相反,他们成为了市场领导者,因为他们拥有其他人无法提供的广泛产品。如今,新进入者必须通过获得比竞争对手更多的用户和内容来与老牌玩家竞争。
C2C 市场如何吸引卖家?
让卖家更容易列出自己的产品。可以肯定的是,一个典型的卖家会在多个 C2C 网站和平台上交叉发布他们的产品。在你的 C2C 市场上列出和销售产品越容易,卖家选择你的平台而不是竞争对手的几率就越高。这种卖方收购策略的缺点是数据不卫生。这意味着,由于没有收集足够的关于你的市场上出售的物品的信息,你最终会得到低质量的数据,这会影响你的市场上的买家。一旦你的 C2C 市场上的卖家达到临界质量,你的下一步应该是提高数据质量。
- 列表数据质量——确保卖家提供足够的产品信息
- 卖家质量——通过最大限度地减少欺诈、交易纠纷和较低的供应商响应水平,确保交易安全并建立对平台交易的信任。
推动高转化率
在某些时候,C2C 市场需要管理买家行为。随着你的在线市场的发展,C2C 商业目标从为卖家提供一个易于列表的平台转变为从买家那里获得高的结账转化率。为了成功实现这一目标,在正确的时间向顾客展示正确的商品至关重要。这种精确的相关性需要来自卖家的准确的列表数据——良好的数据卫生。
毫无疑问,产品列表要求的这种变化将在短期内导致卖方市场的损失。一旦市场上的 C2C 交易转化率提高,现有的卖家将更愿意留在平台上,潜在地吸引以前失去的卖家回来。这种战略变化的另一个好处是,通过为选定的人口细分市场赢得可信赖市场的声誉,提高了购买者的忠诚度。
实现
在线搜索和导航的数据检索精度
搜索和导航的核心是数据检索。为了提高准确性,C2C marketplace 需要确保平台上的每个列表都可以通过其数据轻松识别。为此,依赖卖方输入的自由文本将不是一个可用的解决方案。必须在整个目录中使用一组清晰、统一的标识符,以生成准确、精确的数据检索流程。
拥有一个清晰完整的数据模型是文本相关性&类别准确性的关键。文本相关性意味着买家将看到与他们的查询相关的搜索结果。类别准确性是指将产品分配到正确的类别。例如,当搜索“红色上衣”时,我们希望看到红色衬衫、红色 t 恤的搜索结果,但不是蓝色上衣(文本相关性),也不是红色运动鞋(类别准确性)。然而,在遵循产品列表流程时,依靠卖家的诚实并不一定是最佳方法。为了确保卖家遵守规则,C2C 市场的一个可能的解决方案是实现强大的排名策略功能。
激励卖家改进他们的物品
当卖家在 C2C 市场上列出产品时,他们的商品出现在分类页面或搜索结果页面上的位置与他们的商品销售的频率和速度直接相关。项目在列表中的位置由排序算法决定。将产品列在页面的顶部和底部对卖家的收入有很大的影响。在一大堆相似的商品中,脱颖而出是关键。商品销售的速度也很关键,因为新鲜度是买家在 C2C 市场购物时做出决定的一个重要因素。
排名算法为 C2C 市场提供了一个强大的工具,以激励卖家改善他们的列表,并在平台上进行道德行为。当向卖家传达市场平台上的变化时,透明度是需要记住的一个重要因素。为了与 C2C 市场供应商建立健康的双赢关系,应该一致地向卖方传达关于商业交易的排名算法、平台实践和期望的明确信息。当考虑排名时,市场需要考虑以下因素:
- 卖方质量
- 列表质量
- 物品质量
- 添加业务规则
卖家质量
较高评分的卖家有利于买家在平台上的购物体验和满意度,较高的销售额和转化率,以及品牌忠诚度。卖家质量可以根据以下标准进行排名:
- 交易争议率:高争议率或长响应时间会埋没以卖家为特色的结果,低争议率和短响应时间会助推结果。
- 用户/买家反馈:较高的评分会提升结果,而较低的评分会埋没结果。
- 在平台上的时间:在平台上拥有更多任期的可信卖家将在结果中比新的和不太知名的卖家排名更高。
- 对消息的响应时间:较短的响应时间会提升结果,而较长的响应时间会埋没结果。
清单质量
更高的列表质量提高了呈现给买家的结果的相关性和准确性。它提高了买家满意度、卖家转化率、市场利润和品牌忠诚度。在激励卖家准确罗列产品时,可根据以下要素对罗列质量进行评级:
- 卖方填写字段的百分比(%)
- 包含图像的列表(应排名更高)
- 用户反馈(例如,喜欢、添加到购物车操作)
物品等级
对市场上的产品列表进行排名时需要考虑的因素:
- 同品类/品牌/子品类/类似物品的转化率
- 查看次数统计:买家查看该物品所花费的平均秒数/分钟数,该物品在一天中的时间以及一周中被查看次数最多的日子
- 拍卖结束前的时间,如果拍卖的列表有截止日期
- 交易信息:售出的物品不应出现在页面顶部
添加业务规则
新鲜感和可用性是 C2C 市场非常重要的指标。排名算法需要考虑以下几个方面:
- 物品新鲜度:在平台上市的时间
- 物品的可用性:物品是否有库存,目前有多少
货币化搜索和发现
除了上面讨论的排名策略,C2C 市场可以利用其内部业务数据洞察力、先进的营销工具和人工智能能力来优化搜索和发现的货币化。
自定义排名
自定义排名 允许公司将业务数据合并到相关性算法中,以针对其独特的业务需求和行业特性进行自定义。例如,结果可以按受欢迎程度、利润率、浏览量或评级来排序。对于 B2C 市场,卖家排名、买家喜欢和类似的评级在排名策略中起着重要作用。
有几种策略可用于设置自定义排名。适合每个公司业务需求的策略的选择取决于数据变化的频率以及数据的数量。
- 降低自定义排名值的精度
- 如果您想要考虑多个自定义排名属性以获得良好的结果组合,您需要降低该属性的精度,否则其他属性可能永远不会被使用。
- 在本博客中了解更多关于 降低自定义排名值 的精度。
- 在自定义排名中嵌入业务逻辑。例子包括:
- 基于品牌的排名:“my brand:true”
- 基于类别的排名:“有机:真实”
- 基于库存可用性的排名:“库存:真”
- 基于销售利润的排名:56 美元(3)、55 美元(10)、54 美元(12)
- 基于内部人气指标的排名:售出 _ 过去 _ 月,售出 _ 过去 _ 周
https://www . algolia . com/doc/guides/managing-results/must-do/custom-ranking/
用户中心/上下文排名
这一步在你的相关性策略中包含了一个强大而有影响力的元素:个性化。个性化工具根据特定用户的每个跟踪操作来组织结果。一旦用户登录到他们的帐户,个性化就开始了,并针对每个独特用户的偏好和行为建议个性化的结果。个性化通过向相关性策略添加个人层来加强交互式搜索。在搜索体验中加入个性化的偏好会让搜索结果对个人用户更有吸引力。
【T2
搜索和分类页面营销
对于 C2C 市场,在搜索和分类页面上实现商品销售自动化是很常见的。电子商务市场通常会维护非常庞大的产品目录,这使得手动对每个产品应用销售策略变得不可行。虽然自动化提供了一种高效的解决方案,但在有些情况下,手动销售能够提供额外的价值,并优化平台上的整体用户体验。
搜索营销 确保所有必要的业务逻辑都包含在将呈现给用户的搜索结果中。有多种互补的方法可以为任何电子商务企业设计有效的战略,例如:
- 季节性促销和商品的商品热门搜索和趋势内容
- 商品空查询和无结果统计以及联合搜索
- 锁定、隐藏、提升和隐藏搜索结果
- 重定向搜索并在搜索结果中显示促销横幅
类别销售 工作流使公司能够将业务逻辑应用于类别页面。这样,每次购物者在浏览网站和不同的产品类别时,结果都会以特定的顺序出现,可以根据当前的促销业务需求轻松调整。
- 锁定、隐藏、增强和隐藏类别
- 向类别登录页面添加内容传送带
- 添加动态登陆页面
艾同义词建议
先进的人工智能算法根据用户的搜索生成动态同义词建议。启用同义词建议有助于发现产品并缩短搜索时间。这对于电子商务行业和市场尤其重要。对于包含数百万个产品的大型目录,有数千个卖家和买家活跃在平台上,可以有把握地假设相同的产品将使用不同的术语。在这种情况下,手动管理同义词是不可行的;因此,为了改善平台上的产品发现和货币化,应该应用人工智能算法。
【T2
建议
推荐是鼓励用户根据他们已经感兴趣的内容发现更多产品目录的理想方式。
- 经常一起买:推荐经常一起买的物品。对于给定的项目,它会根据用户在您的平台上执行的转换事件推荐一个项目列表。
- 相关商品:推荐彼此相关的商品。对于给定的项目,它根据用户在平台上执行的点击和转换事件返回项目列表。
结论
C2C 电子商务市场代表了用户生成内容和电子商务市场平台的融合。领先的 C2C 市场旨在建立一个社区,并鼓励卖家和企业家在平台上发挥影响。随着社交商务趋势席卷全球,C2C 市场企业在努力吸引优质卖家、改善产品发现以及优化其平台和在线商店的转化率方面面临独特的挑战。
针对常见市场挑战的解决方案以用户生成的内容为特色,包括高效的目录管理、C2C 特定实施步骤以及利用高级相关性和营销工具优化 C2C 市场上产品搜索和发现的货币化战略。
如何用强大的搜索引擎找到最好的开源包
原文:https://www.algolia.com/blog/engineering/how-to-find-the-best-open-source-packages/
开源软件包与软件开发密不可分。
开发人员使用软件包进行日期选择和图表、数据库和网络访问、时区和货币转换——几乎任何事情。
和 w e 广泛研究寻找合适的开源包。现在有超过 300 万个开源软件包,每天都有数百个新的冒出来,这使得寻找合适的开源软件包变得很繁琐。
寻找最佳套餐——老礼
假设您正在寻求实现自然语言处理。你从谷歌开始,寻找潜在包裹的线索。你打开像 npm 或 PyPI 这样的注册链接,筛选阅读材料,查看版本历史和下载次数。你打开 GitHub 库的链接,寻找项目维护良好的标志(最后一次提交是什么时候?软件包有足够的维护者和贡献者吗?问题积压看起来像什么?PRs 正在被合并吗?).你也要考虑一个项目有多受欢迎(主要是通过明星数量)。
但是流行度和其他类似的度量标准并不能告诉你事情的全部,因为它们不能传达使用软件包的细微差别,也不能告诉你开发者的体验是什么样的。要执行更定性的查询,您可以询问朋友和同事,并搜索博客帖子、综述、开发人员论坛甚至推文。
一定有更好的办法
在 Openbase ,我们认为 肯定是搜索开源软件包的更好方式。因此,我们建立了一个平台,为开发人员简化流程,在一个单一的多方面搜索界面中为他们提供相同的指标和资源。我们的开源搜索引擎 每次都能帮助开发者找到合适的包,没有麻烦。
鉴于搜索对我们产品的重要性,我们投入了大量的时间和精力来打造最好的搜索 UI/UX。对我们来说幸运的是,Algolia,一家领先的网站搜索 SaaS 提供商,为我们提供了一个无限空间、使用和功能的大幅折扣,以及一个持续的合作伙伴关系来帮助我们不断改进我们的产品。
用例:寻找合适的包来完成特定的任务
作为一名开发人员,你正在寻找一个包来完成一个别人已经完成无数次的特定任务,并且你不想重新发明轮子。
所以你开始寻找…
为了帮助缩小您的选择范围,Openbase 团队与开源社区持续合作,为想到的每个任务筛选成千上万个类别。
假设您正在为您的 web 应用程序寻找一个日历组件。
进入 Openbase 时,首先搜索“日历”,然后从搜索结果中选择日历类别。
在这个类别中,你可以享受一份精选的最佳日历库列表。虽然类别很有用,但真正的力量来自于根据框架(例如“React”)或其他基于您的特定需求的更高级的过滤器来过滤列表。
Openbase 允许你比较软件包的星级、下载量、最后提交量和用户情绪。
通常,你会列出几个看起来很合适的有前途的包。
然后,您可以打开每个包的专用页面。我们发现大多数开发者在这个阶段选择 2-4 个包。
在软件包页面,您可以在一个地方获得您需要的关于软件包的所有数据:
- 人气洞察: 了解各套餐的相对市场份额和趋势。
- 保养心得: 这个包有保养吗?我能依靠它吗?(另请查看“维护”选项卡,了解更多信息)。
- 包属性: 是否支持 TypeScript?它可以摇树吗?它有多少依赖关系?
- 评分和点评: 是硬还是好用?文档怎么样?是不是自以为是?来自 Openbase 社区的评论有助于您从其他开发人员使用该软件包的经验中学习。
掌握了所有这些知识,您就可以决定适合自己的套餐了!
附录:引擎盖下的一瞥
以下是我们用来构建 Openbase 的一些技术:
在幕后,Openbase 不断地从各种数据源中提取数据,以保持数据的新鲜:
我们会推出新版本、元数据、下载次数等等。
最后,这些包中的许多都伴随着 GitHub repo,所以我们有一个额外的服务 抓取 GitHub 来收集元数据,以及关于提交、问题和 PRs 的数据。
我们将继续添加新指标,帮助您选择合适的套餐。
如何黑掉用户研究
原文:https://www.algolia.com/blog/ux/how-to-hack-user-research/
在这篇文章中,我们分享了我们如何通过进行用户研究来发挥创造力,以快速展示其价值,并消除这是一个昂贵的瓶颈的观念。
理论上,我们大多数从事技术的人都知道,我们需要倾听用户的声音,了解他们的需求,并尽早、经常地测试我们的产品。实际上,当我们凭直觉尝试推出新功能时,很难做到这一点。用户研究通常与延长的时间表、额外的费用和有趣但难以实施的结果相关联(例如,“我们的用户不会立即看到我们产品的价值”)。
你的同事可能会试图完全跳过研究,并“在研究结束后学习和迭代。”这种方法会造成短期内节省时间的假象,因为产品会更快推出。然而,从长远来看,我已经看到了,它会导致浪费。如果你发布的产品,其最重要的假设甚至没有得到一点点验证,你可能不得不花费大量的精力重新设计和重建产品(在这个过程中可能会招致技术和设计债务)。
通过与几家初创公司的合作,以及现在在 Algolia(一家高速增长、由开发人员主导的组织)的工作,我了解到,为了在研究和快速行动之间取得平衡,我可以发挥创造力和灵活性。这意味着在招聘和完美的交付上花费更少的时间。这意味着有时与一个不完美的目标用户交谈,但仍能获得极其有价值的信息。
每个组织都是不同的,并为可交付成果和项目成果设定了自己的期望。这是在 Algolia 行之有效的方法,我不确定它在大型跨国公司是否会得到同样积极的回应。尽管如此,你还是会在这里找到一些可能对你有用的建议。
知道自己在试图做什么
让我们暂时回到基本问题上来。你想学什么将决定你将招聘谁,你将如何测试,你将需要多少时间。如果你想测试你的特性的可用性,你可以运行一个可用性测试。如果你想进行探索性的研究以产生新的特性想法,你可以进行观察性研究或深度访谈。作为项目的第一步,定义你的目标将帮助你选择正确的研究工具,并保持项目范围的集中和可管理性。
把时间节省在招聘上,而不是研究上
招聘,以我的经验来看,是用户调研中最痛苦的部分。你可以付钱给招聘公司来帮你做这件事,但是如果你的预算不多,你可以发挥创造力来节省时间。
就算招不到自己理想的目标用户,有人走一遍原型也比没人好。你可以在咖啡店招人:为人们提供 5 分钟的免费咖啡(专业建议:避开早晨高峰)。你可以试试在 Craigslist 上发个广告。你可以去一个共同工作的空间,建立一个研究站。周末见到你的朋友时,请他们看一下。
让用户来找你。如果有一个公司活动/聚会将会吸引你的目标用户,建立一个研究站,并分发礼品或礼品卡作为补偿。人们会去那里,因为他们已经对你的公司感兴趣了。利用这一点!让他们觉得他们在帮助塑造你公司的未来。培训公司内的其他人提供帮助,这样你就可以和更多的人一起测试。
我知道的一家公司有支持日,每周一次,用户可以亲自来回答他们的问题。在支持人员的旁边,总是有一个研究员在招募参与者并运行可用性会议
使用像calendary这样的工具来最大限度地减少来回的日程安排,这可能会增加时间。
考试用的人少
我通常选择 5-7 个用户(在每个用户类型类别中)。大多数时候,你有足够的数据来看趋势。如果你看不到趋势或者模式很弱,那么你可以多加几个参与者。有些研究总比没有研究好。
近似你的用户
当你需要快速得到结果时,有总比没有好。如果您正在测试一个原型,并且正在寻找一般的可用性,这一点尤其正确。不要花时间去寻找理想的用户配置文件,你可以接近你的用户,用具有相似配置文件的人进行测试。假设您正在构建一个 web 应用程序,它将帮助太阳能行业的销售人员起草太阳能项目的初步计划。您希望测试绘图工具的可用性,这些工具将用于在地图上放置项目并生成太阳能电池板布局。这个需要太阳能销售人员测试吗?不要!你需要对技术有着相同熟悉程度的人来观察他们会如何使用这些工具。另一方面,如果您需要测试特定行业输入字段的可用性,那么您肯定需要与您的目标用户一起测试,这是没有办法的。
一个重要的注意事项:这种技术不适用于生殖研究,在生殖研究中,你需要尽可能地接近你的确切用户。如果你不了解你的实际潜在用户的问题,你可能无法构建正确的产品。
最后,如果你有目标用户,那么做研究就容易多了。这需要一点前期的组织(更多在这里),但是可以帮助防止你需要测试,但是没有参与者的场景。如果你是一名产品设计师,并且研究不是你的全职工作,那么每周花 2-4 个小时来预先计划用户研究可能会在将来出现研究需求时节省你的时间。不断招募和建立对话,测试会议等。试着建立一个研究电话和活动的渠道,你可以在以后根据自己的需要进行调整。
使用所有工具
说到工具……当你时间紧迫时,你应该利用一切机会和工具来获取你需要的数据,这意味着走出一对一面试的舒适区。
- 首先,我将提到无数的用户研究工具:validally、UserTesting.com、 UserZoom 以及许多其他工具。你可以在这里阅读利弊,在这里阅读是一个老掉牙的,但是关于如何从诺曼尼曼集团选择这些工具的好东西。
- 与同事一起参加销售和实施电话会议。这些可以为你提供很多信息。
- 你们公司用对讲机吗?使用“参与”功能建立小型研究问卷,以收集数据和招募研究人员。
- 你有支持团队或呼叫中心吗?如果可以的话,监听电话。浏览支持单和对话,并跟进用户以了解更多详细信息。与支持团队成员交流他们听到的信息。(请记住,他们可能会从解决方案的角度对你说:“如果我们构建 x,我们的客户会更高兴,”试着找出问题的根源,而不是首先关注解决方案。)
- 考虑在你的网站上实现一个分析工具,如 Kissmetrics 、 Google Analytics 、 Hotjar 或 FullStory ,以获得关于它如何被使用的一些见解。虽然这些工具只讲述了故事的一部分,但它们可以为你的网站提供一些快速成功的提示。例如,我们最近通过 Hotjar 热图了解到,我们的文档页面上的“搜索 UI”部分太隐蔽了。因此,我们将在下一次重新设计中使其更加突出,以确保除了我们的技术知识之外,我们还分享我们的搜索 UI 专业知识。
- 与主题专家交谈。有时候,他们会告诉你十个以上的用户会。认识到他们的偏见(以及提出大量解决方案的倾向),并利用他们丰富的知识。
有很多很多的工具可以让你洞察用户的需求和想法。点击了解不同工具的更多信息。
迅速、经常地展示成果,不要做过头
虽然很诱人,但不要等到最后的结果发布会。一边走一边综合结果,激起利益相关者的兴趣。我通常在每天结束时做一个综合会议,然后在周末做一个更大的会议。我喜欢每天或每隔几天向我的团队(包括项目经理、开发人员和其他相关方)发送一份研究更新。这创造了一种进步感,我的利益相关者很高兴看到一些早期的见解。
当黑客攻击研究时,尽量不要落入交付品陷阱。我通常不会在图片完美的研究报告上花太多时间。我把主要发现和建议集中在“那又怎样”上,而不是为了创造有吸引力的交付品而花时间制作漂亮的人物角色表。它们需要时间,可能会给人留下深刻印象,但如果他们不知道如何处理这些交付品,那么我的时间就没有花好。关注你的研究的影响。你的利益相关者在阅读你的结果后应该采取什么行动?
正如我之前提到的,在实现这些方法时,考虑您的组织的期望和文化是很重要的。有一次,我向一家大型传统公司咨询,在那里,演示对推销想法至关重要。我们的项目经理雇了一个摄制组来制作一部关于我们项目的短片。对我来说,这似乎有些过分,但如果没有它,这个项目就不会成功。所以请记住,什么样的交付方式将确保你的项目成功,但如果可以的话,不要害怕在演示文稿上学习。
我公司的大多数人都喜欢听我们的客户在使用我们的产品时的感受。他们渴望获得真知灼见。作为用户研究的倡导者,我们有责任使我们的技术适应我们所服务的组织,这样我们就能不断地给用户发言权。
如何使用人工智能和机器学习识别用户搜索意图
原文:https://www.algolia.com/blog/ai/how-to-identify-user-search-intent-using-ai-and-machine-learning/
时间是我们最宝贵的不可再生资源。如果你像大多数人一样,你可能会发现浪费你的时间和精力阅读无关的广告是非常令人讨厌的,这些广告毫无帮助,有时甚至是完全误导。
我记得在我 25 岁的时候,我立刻就被婚礼服务的广告吸引住了。我一满 30 岁,它们就成了尿布的广告。虽然这种简单的基于年龄的目标选择策略有时会奏效,但它也可能是刻板的和有局限性的。
越来越简单的广告定位也带来了令人讨厌的用户体验。这就是人们开始使用广告拦截器的原因,这也是一家公司将营销资金扔出(浏览器)窗口的必然方式。
有一种更好的方法来优化你的营销预算,而不是把意大利面扔向墙壁,希望有东西粘在上面。我们之所以知道这一点,是因为我们的客户使用我将要描述的方法,通过广告活动将他们的点击率(CTR)提高了 15%。
没错,不断发展的技术让瞄准变得更容易,老实说,也更恐怖(我们正看着你呢,脸书!).但我们知道一个事实,有一个更有效的方法让用户点击并获得他们需要的东西,这与人工智能有关。
让我们探索一下用户搜索意图是如何提升广告活动绩效的。
为什么用户搜索意图风靡一时
SEO 专家和营销人员过去常常为不同类型的设备优化活动和内容。还记得你不得不用台式电脑上网的时候吗?是的,更简单的时代。
随着分析变得越来越强大,背后的技术也在不断改进,用于细分和锁定受众的标准也变得更加多样。然后,随着越来越多的人上网,位置成为营销和销售业绩的关键。然后是社交媒体:公司开始积累大量关于人的具体数据,这导致了更深入、更彻底的针对性。
那么,为什么尽管有这些数据和技术,仍有数百万人被浪费掉呢?
除非你真的关心客户,否则技术不是答案。
输入用户搜索意图。顾名思义,用户搜索意图揭示了人们在谷歌搜索某样东西时想要什么。(这个词适用于所有搜索引擎,但我们在骗谁呢?你不可能会 兵 什么的。)
用户搜索意图已经成为优化世界的甜心——无论是搜索引擎优化、转化率优化(CRO)还是其他学科——因为它提供了非常具体的见解而不显得呆板。用户提供意图,公司要做的就是关注并正确解读。
这就是事情变得棘手的地方。谷歌比任何人都清楚这一点。这就是为什么它改变它的搜索算法 500-600 次(!)每年。
通过每年处理数万亿次搜索,谷歌的算法已经开始理解每个查询背后的意图。它的频繁更新正在改变搜索引擎结果页面(SERP)的面貌,以适应搜索者的意图。
例如,当你搜索“哈利·波特”时,该算法知道你可能想找到关于书籍和电影的信息,因此它结合了这两种可能的意图,并使相关结果随时可用:
即使你的公司不是谷歌,你也可以通过使用人工智能来利用用户的搜索意图。,你就可以将由此产生的知识输入到你的营销机器中,并大规模地进行。以下是方法。
如何利用用户搜索意图帮助你的企业
当你知道 为什么 客户想要某样东西,你就能明白 如何 去交付它。
如果你知道某人在寻找什么,你可以在适当的时候传递适当的信息,帮助他们找到他们需要的东西,以及:
- 降低噪音
- 降低您的客户获取成本(CAC)
- 提高你的点击率
- 提高客户保持率
- 强化你的定位
- 给转介飞轮供电
- 优化你在营销上投入的资源
那么你怎么知道消费者想要什么呢?
我们接受了在广告技术领域为客户找出答案的挑战。他们要处理 17 种语言的大约 50 亿个搜索查询。对于这个项目,我们专注于英语。
钉钉用户搜索意图的老办法
利用用户搜索意图释放你的增长潜力从建立关键词列表开始。你能收集的关键词越多越好(想想五到六位数)。只要确保数量不会影响质量。
下一步需要数据挖掘,以便为下一阶段分类和选择关键词。无论你多么努力地想让这个过程自动化,你仍然需要手动检查你的关键词类别,以确保它们与你的目标相关。
相同的工作流程适用于识别关键字中的意图,包括指示意图的触发器和附加到每个关键字的意图类型(信息、交易、导航或考虑;这些我们下面会讲)。
当你完成了 所有这些工作——如果你从未尝试过,这可能需要几个小时——是时候使用专用工具清理数据并建立数据源之间的关系了。
然后,您将构建一个仪表盘,以便为营销团队提供有效的见解,用于创建营销活动和优化预算。
手动识别关键字列表意图的缺点是显而易见的:
- 时间和资源密集型
- 难以有效规模化
- 需要您的营销团队可能缺乏的特定专业知识
- 没有通过 API 提供可输入第三方平台的见解,以实现未来优化的自动化
出于这些原因,我们专注于寻找一种更具扩展性的解决方案来识别用户的搜索意图,随着营销部门不断完善他们的方法和策略,这种方法在大公司中变得越来越普遍。
用机器学习模型提取意义
我们的挑战是根据查询预测用户的搜索意图。用户的搜索意图自然会通过他们的搜索引擎活动(他们使用的查询和他们点击的链接)和目标网站上的活动来表明,但我们无法获得这些类型的数据。
我们的目标是从查询中提取尽可能丰富且可行的见解。我们试图回答的问题是,机器学习模型如何理解查询背后的意图?
对人类来说,答案是显而易见的:只要读那些传达意思的文字。但是在 ML 模型中,单词只是一组没有意义的字符。
当浪漫的伴侣问“怎么了,宝贝?”而得到的回应是“没什么”,大多数人知道那不是这个人的意思。不过,ML 模型无法知道。此外,即使对人类来说,用户意图也可能是模糊的。“什么都没有”可以有很多意思。
这里还有一个例子:如果有人搜索“iPhone 8”,他们想做什么?他们是在找产品说明书还是评论?他们想看手机照片吗? 我们无法确定,但可以根据几个意图类别做一个假设。
人类如何定义意图与人工智能如何定义意图
对于这个用例,我们将用户意图分为三类,第四类(考虑事项)稍后添加。这些类型的意图与营销漏斗中的层次相对应:
| Informational or Awareness与查找关于某个主题的信息相关。例子:《2013 年纽约市人口》“埃菲尔铁塔有多高” | Transactional与完成一个目标或从事一项活动有关。例子:《购买复仇者联盟 DVD》【iPhone 价格】 |
| Navigational亦称“亲临”与查找附近地点或其他类型的本地信息相关。例子:“附近的中餐馆”《公交时刻表》 | Consideration这些介于信息意图和交易意图之间。例子:《iPhone 评论》《三星 iPhone 对比》 |
人工智能面临的挑战是查询的模糊性。本质上,其中一些有多重意图。例如,如果有人搜索“酒店”,其意图取决于上下文。它可以是导航性的(寻找附近的酒店),也可以是考虑性的(在线预订)。它也可能是事务性的,尽管这个通用搜索词表明用户可能还没有准备好预订。
将单词转换成可以输入到 ML 模型中的数字
一个模特不能理解文字。如果我们试图使用原始数据,这就像通过给狗看其他狗的照片来教它服从命令一样。完全是胡言乱语。模型对算法进行操作,因此为了“说它们的语言”,我们必须将查询转换成它们的数学等价物。这个问题属于 自然语言处理(NLP )范畴。
文字到可理解格式的转换可以借助GloVe或fast text等 ML 模型来实现。这些工具将每个单词转换成一组数字(向量),同时保持单词之间的关系。这意味着两个相关的词(如“购买”和“购物”)将被视为比两个不相关的词(如“购买”和“鹦鹉”)更密切相关。
手动与自动标注意图—如何缩放
这样你就有了单词表示和意图类别。现在怎么办?
下一步是用每个查询的意图来注释查询,并使用这个数据集来训练模型。因此,经过训练的模型将学会预测用户对新查询的意图。这是一个类似于对象识别模型的概念。如果有足够多的有猫的照片,模特将学会在照片中认出一只以前看不见的猫。
回到注释查询,有两个选项:
- 手动标注数据
这是一种“查看查询并在旁边写下意图”的奇特说法
手动标注数据的主要优势是高质量的结果,因为这项工作是由人来完成的。然而,这是一个非常慢的过程(注释 1,000 个查询大约需要两个小时),所以在包含几百万个查询的数据集上不会有太大进展。
然而,得到的小数据集可用于验证,这意味着您可以将它与模型生成的结果进行比较,并查看它们之间的差异。
- 自动标注数据
自动标记过程需要创建一个脚本,该脚本使用多个规则将意图类别附加到每个查询。一种简单的方法是这样的:假设单词“buy”表示交易意图,一个脚本将所有包含这个单词的查询注释为交易。这种方法很精确,但是它限制了带标签的查询的数量,因为不是所有的事务性查询都包含这个单词。
对于我们创造的更进化的方法,我们使用预先描述的单词表示(向量),并且我们计算单词之间的距离。如果一个查询包括“购物”,一个与“购买”密切相关的词,脚本将该查询标记为事务性的。
这种方法的主要优势是它可以处理大量数据,尽管它也有局限性:它不能识别包含错别字或不在字典中的单词(例如,特定的智能手机型号)。
训练模型识别搜索意图
我们现在有了一个带有标签数据的数据集。下一步是选择模型类型、训练模型、评估结果和迭代。因为数据是有标签的,所以我们有一个多类分类的问题。以下是随机查询列表的结果:
请注意,意向是用 0 到 1 之间的值表示的概率。例如,查询“我附近出售的猫”表达了 和 两者的事务性 和 导航意图。我们可以通过查看最高预测值来确定最可能的意图。研究这个机器学习问题是高度迭代的。
在编程中,总是有多种方法来实现一个目标(例如通过实现一个特性),但是如果我们按照步骤来做,我们就能保证实现一个结果。
机器学习是不同的,因为它涉及大量的尝试和错误。我们没有明确的解决方案,所以我们可能会尝试许多方法,并衡量每种方法的结果。经过这一过程后,我们可以保留最佳解决方案,丢弃其余的。忽略沉没成本是我们的秘密武器。
机器学习模型
当处理话语或查询时,就像这里的情况一样,以循环的方式构建模型是非常自然的,而不是独立地处理它们。这是因为单词的时间顺序。因此,线性递归神经网络模型(RNN-1)是我们用来建模意图预测问题的第一件事。
然后,我们增加了模型的复杂性,以查看添加非线性(RNN-2)、更复杂的递归层或堆叠多个递归(RNN-3)是否有助于解决问题。最后,我们有 3 个循环模型,每一个都比前一个复杂。
我们还构建了一个无递归的卷积神经网络(CNN-1),其中查询中的每个单词都独立于前面的单词,使用最大池。从概念上讲,每个单词都使用卷积层进行过滤;然后,对于单词特征中的每个索引,我们计算最大值,最终在整个查询中产生单个特征。
神经网络的输入是一个单词嵌入(GloVe,Fasttext,One-hot),从 softmax 激活函数为三个意图中的每一个产生一个概率输出。然后,在测试期间,所选择的意图是概率最高的意图(单意图预测),或者是概率本身(多意图预测)。
我们已经构建了多个模型版本,总共 8 个,从一组非常基本的单词开始,然后基于结果和常识迭代地改进每种方法。我们还使用了一个外部注释工具(Ext-1)。下面我们提供了一个汇编的表格,突出了它们之间的相似性和差异性。
在我们的发现中,我们观察到,虽然改变模型架构带来的改进非常小,但使用更丰富的单词表示每次都能将结果提高几个百分点。对比 GloVe-100 和 GloVe-300,我们看到了持续的改进。使用 Fasttext 或 GloVe 不会影响最终结果:两者都会产生竞争性结果。
然而,也许最令人惊讶的结果是 使用非预训练嵌入(一热)相比于所有其他表示产生了非常大的改进。 只有递归模型可以使用这种表示来训练,而卷积模型在训练期间发散。这可能是因为需要大量的参数、错误的初始化或者缺少适当的超参数调整。
无论哪种方式,RNN-1 和 RNN-2 都使用 1M 字典上的一热编码进行训练,产生了非常好的结果:多意图(2 个协议)的 75.61%和单意图(3 个协议)的 79.01%。
自己动手
在构建您自己的用户搜索意图模型之前,请记住,当所有搜索查询属于同一类别(例如,时尚、零售、汽车或生活方式)时,自动标记方法会产生最佳结果。无论模型变得多么好,用户的搜索意图仍然保持一定程度的模糊性,因为即使是人类也无法同意用相同的方式来标记特定的数据集。
我们的客户和合作伙伴已经在不同的场景中使用我们的用户搜索意图预测模型,并取得了令人振奋的结果:他们的点击率提高了 15%!我们现在对英语数据集的准确率约为 85%,我们正在努力进一步提高这一性能。
让我们知道你是否正在使用类似的方法来识别用户搜索意图预测!如果你遇到任何问题,我们很乐意听听你在构建 NLP 算法以产生更准确的结果方面的经验。
如何在你的网站上用 JavaScript 实现自动完成
你以前可能见过自动完成搜索,用户在键入时会得到建议的搜索。它不仅为你的用户节省了击键和时间,还可以发现他们可能没有发现的潜在结果。
例如,如果有人在你的产品目录搜索中输入“苹果”,他们会在输入时得到各种建议。为了提供匹配,您需要从某个地方获取这些潜在的结果——数据库、API 或已知术语列表。
在深入构建您自己的自动完成功能之前,让我们来看看一个健壮的产品级解决方案:
我们已经写了这个自动完成解决方案,它可以将简单的下拉转换成丰富和多面的交互式用户体验。当今天的用户开始输入查询时,他们希望看到的不仅仅是建议的查询,他们希望访问各种数据源和结果、多种过滤器、类别以及带有有用和高亮文本的图像。
这个自动完成库是开源的,完全可以为任何行业和 UI/UX 设计定制。
在本文中,我们后退一步,向您展示如何用 Javascript 构建一个简单的自动完成功能,以帮助您理解我们更具产品级版本的原理。我们还将展示,为了正确地调优您的自动完成搜索,您将需要使用额外的前端和后端代码来完成繁重的工作。
相关链接–
基本实现使用静态数据
首先,让我们创建一个概念验证自动完成示例。我们的目标是允许用户开始在搜索框中键入内容,并在搜索表单下方看到匹配的术语— 在用户输入到搜索栏时自动完成用户的输入。
任何 JavaScript 自动完成搜索都需要以下内容:
- 搜索表单的 HTML
- CSS 显示结果
- 结果的数据来源
- 当然是 JavaScript
由于我们从一个基本的实现开始,我们将从一组预先确定的搜索词中返回精确的匹配结果。我们将使用一个在线商店作为我们的例子,其中用户正在搜索一个特定的项目。如果他们在搜索框中输入的内容可以与某个项目匹配,网站会推荐该项目。
让我们看看这个搜索框在一些简单的 HTML 中是什么样子的
<form autocomplete="off"><input type="text" name="q" id="q" onKeyUp="showResults(this.value)" />
<div id="result"></div>
</form>
禁用 autocomplete ( autocomplete = off
)可能看起来有点奇怪,但这是为了禁用浏览器的自动建议,它会妨碍我们自己。
其他一些需要注意的事情是onKeyUp
属性,它调用我们的 JavaScript 函数,并使用一个空的div
作为结果。
接下来,这里是接收搜索值的 JavaScript,将它与已知的术语进行匹配,并显示建议:
var search_terms = ['apple', 'apple watch', 'apple macbook', 'apple macbook pro', 'iphone', 'iphone 12'];
function autocompleteMatch(input) {
if (input == '') {
return [];
}
var reg = new RegExp(input)
return search_terms.filter(function(term) {
if (term.match(reg)) {
return term;
}
});
}
function showResults(val) {
res = document.getElementById("result");
res.innerHTML = '';
let list = '';
let terms = autocompleteMatch(val);
for (i=0; i<terms.length; i++) {
list += '<li>' + terms[i] + '</li>';
}
res.innerHTML = '<ul>' + list + '</ul>';
}
这些术语作为一个简单的 JavaScript 数组存储在顶部。每次按键后,浏览器都会调用showResults
函数。然后,它将当前搜索传递给一个autocompleteMatch
函数,以获取匹配项的列表。最后,结果作为无序列表添加到div
中。
当您运行这段代码时,您会注意到匹配的术语作为项目符号出现在搜索框下方。这并不是一次很好的经历。我们更希望看到这样的东西:
一个小小的 CSS 就可以完成这个风格,你可以定制它来匹配你的站点:
#result {
border: 1px dotted #ccc;
padding: 3px;
}
#result ul {
list-style-type: none;
padding: 0;
margin: 0;
}
#result ul li {
padding: 5px 0;
}
#result ul li:hover {
background: #eee;
}
虽然我们现在已经有了一个 JavaScript 实现的基本自动完成功能,但它还远远不能用于生产。首先,数据来自单个静态数组,硬编码在我们的 JavaScript 中。让我们通过合并一个后端搜索请求向一个更现实的例子迈进一步。
后端驱动:用内部 API 自动完成
JavaScript 的基本自动完成示例显示了用户期望的大多数交互模式。总有一些设计和交互方面的改进需要考虑,但概念依然存在:当用户在搜索栏中键入几个键时,他们会在下面看到相关的潜在搜索或结果。不同之处——也是这篇文章剩余部分的主题——是我们在哪里检索这些结果的。
在大多数足够复杂的例子中,你不会有一个有限的潜在查询列表。第一部分中的静态实现是一个概念验证,不会在生产中应用。您需要将您的搜索发送到后端以返回潜在的匹配,这意味着需要一个内部 API 来处理查询。
我们可以更新上一节中的showResults
函数,如下所示:
function showResults(val) {
res = document.getElementById("result");
res.innerHTML = '';
if (val == '') {
return;
}
let list = '';
fetch('/suggest?q=' + val).then(
function (response) {
return response.json();
}).then(function (data) {
for (i=0; i<data.length; i++) {
list += '<li>' + data[i] + '</li>';
}
res.innerHTML = '<ul>' + list + '</ul>';
return true;
}).catch(function (err) {
console.warn('Something went wrong.', err);
return false;
});
}
我们在/suggest
调用本地 API 端点,而不是用autocompleteMatch
函数将当前搜索与潜在查询进行比较。这将返回一个潜在匹配的 JSON 数组。
为了测试这一点,你可以用 Node 或任何其他后端语言建立自己的本地 API。例如,下面的Express
路由将为传递给q
查询字符串的任何内容提供建议:
var express = require('express');
var router = express.Router();
const data = ["apple","apple watch","iphone","iphone x","apple macbook","apple macbook air","apple macbook air pro 13"];
router.get('/suggest', function(req, res, next) {
console.log(req.query)
res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify(data.filter(value => value.includes(req.query.q))));
});
module.exports = router;
注意,如果我们将它部署到服务器上,我们可能会看到性能影响。每次查找都发生在一次按键之后,这在用户输入多次按键时可能没有意义。在通过互联网连接到后端之前,您需要在前端加入一个延迟,比如网络节流。
添加查询建议数据库
该代码具有我们之前使用的相同的有限术语数据集。我们还在做原型。您需要将后端 API 连接到数据库。当每个调用都包含一个往返 HTTP 调用时,查询延迟会变得更加重要,HTTP 调用本身会调用数据库。
好处是显而易见的:通过访问数据库,你可以在用户输入时提出一组与他们的字符相匹配的查询建议。 查询建议 数据库包含搜索引擎在处理每个查询时保存的先前查询。这些查询通常按受欢迎程度排序。谷歌提供了一个例子:
你的数据库需要考虑很多因素。是专门为搜索词打造的吗?或者您是否需要连接到一个现有的源,比如一个产品或内容数据库?您将如何针对这些频繁、简短的查询进行调整?
这些都是大问题,很可能指向从多个来源获取结果的需求,一个叫做 联合搜索 的概念。
联合搜索:查询多个动态数据源
你用过的大多数搜索引擎很可能来自不止一个数据库。与基本的 autocomplete 示例不同,它们不具备小型静态潜在搜索集的优势。如果您担心对单个数据库的性能影响,那么使用联合搜索会更加困难。
你不仅有多个来源,而且每个来源都是动态的。产品数据库可能每晚更新,而库存管理系统旨在实时更新。你的评论可能存储在其他地方,每天发布几次。您可能希望更快地获得评论以引发讨论。
这些数据库中的每一个都有你可能想要搜索的字段,而其他的则不需要。显然需要包括产品名称、描述和元数据。但是内部标识符或产品代码可能不是必需的。类似地,用户生成的内容可以提供丰富的搜索词,但您需要确保个人信息,如电子邮件或 IP 地址,不会出现在搜索建议中。
一旦您决定了在您的联邦搜索中使用哪些数据源,您需要确保它可以通过一次调用从前端到达,如后端驱动的自动完成部分所示。换句话说,您可能不希望前端在每次击键后直接调用多个数据源——这不仅效率低下,而且可能会暴露过多的内部数据模型。相反,您可能会使用两种架构中的一种:
左图显示了您的前端如何调用一个后端 API,该 API 本身向您的数据库发出多个请求。它需要将这些响应合并和过滤成一组搜索建议或结果,供前端显示。
或者,右边显示一个专用的搜索数据库,供单个地方查询。您需要根据其他来源定期更新这个数据库。与其他架构的不同之处在于,结果的合并和过滤是提前进行的。在许多情况下,搜索不需要像直接查找那样实时。例如,用户可能希望一条评论立即出现在页面上,但不会注意到它是否需要一个小时或更长时间才能出现在搜索中。
对于如何合并和过滤联合搜索结果,有许多不同的方法。为了给搜索者提供最好的用户体验,你可能需要考虑一些额外的方法来调整你的搜索结果。
超越自动完成:健壮搜索需要什么
实现伟大的自动完成功能不仅仅是知道 JavaScript、HTML 和 CSS 的正确组合。您需要访问正确的数据源,并从后端提供结果,以便您的前端能够轻松地将结果显示给用户。此外,你会发现,你越是考虑什么是可能的,潜在的改进就会越多。
例如,在上面的搜索建议中有一些需要注意的事情:
- 虽然“iphone”被拼错了,但结果会灵活地假设用户的意思
- 对于某些术语,用户可以按类别进行更具体的搜索
这两个特性都需要一些额外的工程来实现。您的数据库可能支持针对拼写错误的模糊搜索,尽管您需要确保模糊搜索的实现不会降低性能。考虑到这一点,我们实现了一个不会降低查询速度的 错别字容差 特性。
类别搜索更高级,需要搜索数据库中的额外结构。我们已经写了一个关于带有 JSON 属性 的刻面搜索的指南,讨论了如何为这种类型的过滤搜索组织数据。
如果你想构建健壮的搜索,Algolia 可以支持你。搜索建议和方面内置于我们的 API 驱动平台 。
相关链接–
如何用 Algolia A/B 测试改进网站搜索
原文:https://www.algolia.com/blog/ecommerce/how-to-improve-site-search-with-ab-testing/
相关性是好的网站搜索最重要的属性之一。但这不是你能随便打开开关就能打开的。提高搜索结果的相关性是一个反复试验的过程,因为你需要调整后端搜索参数来满足用户的需求并优化转化率。
我们都很熟悉 A/B 测试你的网站,这是一种测试特定变量对你的受众反应和转化指标有多大影响的方法。在之前的博客文章中,我们写了如何 A/B 测试你的站点搜索的相关性。
今天,我们将深入探讨如何将 Algolia 的高级 A/B 测试功能应用到您的站点搜索中。
为什么要用 A/B 测试来改善站点搜索
正如你已经知道的,A/B 测试通过向你展示一个特定的设置或变量是如何影响你预定的转换目标的,从而消除了你的相关性迭代中的猜测。
例如,您可能想要测试您对返回给用户的搜索结果进行排序的方式。之前,您已经在排名策略中添加了业务指标“出版日期”,但是您想知道使用业务指标销售排名是否会更有效。你认为这可能会推动更多的转换,但你需要更多的数据,然后再提交到整个网站的变化。
在 A/B 测试中,你的网站上一半的用户会接触到原始的(或控制的)搜索体验——你的网站按发布日期排列结果的体验。你的另一半观众会接触到销售排名系统。然后,您可以收集两组用户的行为数据,并确定哪种设置会带来更多的转换。
使用 Algolia A/B 测试的一个优点是,您团队中的任何人都可以完全从我们的仪表板上创建 A/B 测试,没有一行代码(但是如果您愿意的话,当然可以从 API 中获得),并且在任何设备上使用。
4 大 A/B 测试示例场景
用站点搜索 A/B 测试可以测试什么?以下是一些想法:
- 调整您的自定义排名。假设你有一个电子商务网站,你的商品目前按受欢迎程度排序,但你实际上并不确定这是展示结果的最佳方式。测试按出版日期排序的有效性。A/B 测试将让你测试这两个不同的自定义排名选项,看看哪一个推动更多的销售。
- 测试个性化的影响。一旦你开始使用个性化,你可能想要评估它对你的转化率和点击率的影响。A/B 测试是一个很好的方法。
- A/B 测试同义词的影响。测试两组不同的同义词对同一组记录的影响,看看哪一组在相关性方面表现得更好。
- A/B 测试两套查询规则。测试两组不同的查询规则——例如两种销售策略——的影响,看看哪一种实际上表现更好。
A/B 测试实际上是如何工作的?
让我们看看 Algolia 的 A/B 测试的一个实际应用:一个简单的六步过程。(注意:您需要首先设置点击分析,以便捕获点击&转换事件)。
1。创建副本
让我们转到您的搜索仪表板。您可以看到已经创建了一个索引,定义了每件商品的自定义排名–#销售额(也称为销售额排名)
但是,您不确定这是否是最佳的排名策略,所以您希望根据出版日期来检查它。
当你进行 A/B 测试时,你是在测试两个搜索索引,所以你需要做的第一件事是创建一个副本——也就是你的搜索索引的拷贝。要创建副本,请转到左侧工具栏的索引部分,然后单击“副本”选项。在那里,您可以选择“创建副本索引”选项
副本将与主索引同步,因此对主索引的任何更改都将转发到副本。除了您手动对副本进行的更改之外,它们是相同的。
2。配置您的副本
一旦创建了复本,就该用您正在测试的因子对其进行配置了。在这种情况下,我们根据出版日期而不是销售排名定义了不同的自定义排名。
3。创建新的 A/B 测试
配置完副本后,转到左侧工具栏上的 A/B 测试选项卡。单击“新建测试”创建新的 A/B 测试。
4。选择您的变体
一旦您创建了一个新的测试,您将可以选择您计划测试的两个变体。第一个变量应该是你的主索引或者你的控件。第二个将是您刚刚创建的副本。为每个变体提供一个描述供以后参考是一个好主意,比如“基于销售排名的自定义排名”和“基于出版日期的自定义排名”
5。定义您的流量分配
在变量下面,定义两个变量之间的百分比流量分配。理想的分割是 50/50,但是如果你有一个高流量的网站(一个月超过 100,000 次页面访问),你可以定义一个不平等的流量分割,并且仍然可以看到有统计学意义的结果。
6。定义测试持续时间
理想情况下,我们希望 A/B 测试在我们所谓的两个商业周期中运行,这考虑了短期的季节性影响。对于一个电子商务网站来说,一个商业周期意味着一周。因此,在这种情况下,我希望我的测试运行 14 天。
一旦你定义了这些参数,只需点击“创建”
如何解读结果
A/B 测试最重要的部分是分析结果,以确定哪个变体最成功。Algolia 的结果面板旨在帮助您做出决定:
在 results 面板中,您将看到关于测试的识别信息:名称、场景(您测试的两个索引)以及状态。测试可以是“正在运行”、“已停止”、“已完成”或“失败”您可以单击每个场景旁边的分析栏,查看每个场景的单独指标。
以下是测试面板的其他重要组件:
-
流量分流。这反映了分配给一个索引或另一个索引的用户量。
-
用户数量。这将告诉您每个变量暴露给了多少用户。如果测试了大量的用户,这告诉你结果是显著的。
-
CTR。这是点击率,也就是点击搜索结果的用户数量乘以 100。点击表示用户找到了他们要找的东西。
-
转换。这是转化率——转换事件(如销售或下载)的数量与总搜索次数之比乘以 100。
-
信心得分。这告诉你 Algolia 有多确信结果是配置变化的结果,而不是随机的。在你分析结果之前,置信度分数应该高于 95%。
一旦您的测试达到 95%或更高的置信度,并且您的两个周期时间周期已经过去,您就可以分析结果,以查看哪个索引生成了更多的点击和转换。
在上面的 A/B 测试示例中,您可以看到销售等级自定义设置(场景 B)表现更好,CTR 提高了 5.2%,转化率提高了 4%。两者的置信度得分都很高,这意味着有足够的搜索和事件来得出 B 产生更好结果的结论。一旦测试结束,您就可以将获胜的配置应用于主索引。
在这个测试中,数字表明,按销售排名对搜索结果进行排名比按出版日期进行排名会带来更多的转换。
A/B 测试站点搜索最佳实践
A/B 测试是一个科学的过程,因此始终遵循一些准则以确保获得最准确的结果非常重要。
设置一个合适的用户令牌
用户令牌是连接搜索事件和最终转换的用户标识符。IP 地址本身不足以实现准确跟踪,并可能导致错误的结果。为了获得最准确的结果,我们强烈建议您明确使用用户令牌。如果你还没有使用它们,你可以用 Algolia 的 insights cookie 生成它们。
对搜索和点击事件使用相同的用户令牌
对搜索和点击事件使用相同的用户令牌非常重要,因为这是 A/B 测试将用户与这些用户执行的事件联系起来的方式。如果您使用两个不同的用户令牌,那么 A/B 测试将不起作用。
禁用自动搜索代理或机器人的 A/B 测试(和分析)
如果您的网站使用搜索自动机(例如,如果您有一个选项,当用户的搜索返回新结果时,用户可以订阅提醒),那么从您的 A/B 测试中排除这些搜索代理。如果你不这样做,你将会以一个单一的“用户”结束,他正在执行大量的搜索,但从来没有点击或转换。这可能会严重影响你的测试结果。确保自动化从你的测试和分析设置中被排除。
等到你的测试结束后再依靠信心得分
置信度得分是根据搜索次数计算的,因此您可能会在开始测试的几个小时内达到很高的置信度。然而,这并不意味着这些结果是正确的。重要的是让你的测试运行两个完整的商业周期,以考虑所有可能改变你的结果的季节性影响。例如,人们在周末和工作日的搜索是不同的。
立刻检验一个假设
一次只改变一个搜索元素,这样你就可以清楚地测试这种改变对用户行为的影响。试图一次运行多个 A/B 测试会导致混乱和不清楚的结果。你怎么知道哪种变化导致了哪种行为?
一旦测试开始,不要进行修改
一旦测试运行,不要对测试指数、流量分配或测试目标进行任何更改。在实验过程中改变变量会使结果变得不相关,因为不可能知道哪个修改影响了用户行为。
自信地做出搜索决策
提高相关性是提高网站搜索功能的捷径。你可以尝试磨练这些结果,但你不想在这个过程中坦克你的转换或客户满意度。
就像你 A/B 测试你的网站的其他组件一样,你应该 A/B 测试你的网站搜索,以消除猜测,并专注于使你的结果有用和有效的变量。只测试人群中的一部分,以避免代价高昂的错误——这也会让你在做出重大改变时有信心。
要了解更多关于 Algolia 的 A/B 测试,并了解一些大公司如何利用它来提高转化率,请观看我们的 A/B 测试大师班,或访问我们的 A/B 测试产品页面。
如何通过实时流媒体电子商务加速销售
在许多电子商务网站和移动应用程序上,经常可以看到用户对这些网站上销售的各种产品的评论。这种用户生成的内容为网站访问者提供了真实的个人意见和之前已经购买和测试过产品的人的反馈。
用户评论在购物者做出购买决定的能力中起着关键作用。用户生成的带有产品图片或视频的评论使这些产品和销售这些产品的网站更值得信赖。然而, 34%的电子商务网站不允许用户上传图片和评论 。
如今,用户生成的评论正从支持商务的广告工具转变为直播电子商务的独立子行业。2016 年,中国电商平台开始尝试直播电商。到 2019 年,直播电子商务变得如此竞争激烈,以至于大型参与者开始整合该领域,利用关键意见领袖(kol)来加速销售。 (来源: 方舟投资管理有限责任公司 ,equal ocean)。
我们可以看到,与影响者和真实用户相比,传统广告和营销策略中使用的名人和品牌合作伙伴目前被视为不太可靠的信息来源,例如,社交媒体。例如,像 rewardStyle(【LKT】)这样的公司专门将有影响力的人与品牌联系起来。目前,rewardStyle 正在为超过 100 万个品牌和 150,000 名创作者提供服务,他们不断为这些品牌提供原创内容。这只是品牌推广和广告中用户生成内容强劲增长趋势的一个例子。
(来源: 方舟投资管理有限责任公司**)
2019 年,美国受欢迎的影响者金·卡戴珊(Kim Kardashian)在淘宝直播购物活动的几分钟内售出了 15000 瓶香水。1300 万观众观看了这场视频直播,在活动开始的几秒钟内就售出了 1000 瓶。
(来源: 明星)
电子商务直播行业的当前趋势
直播电子商务趋势正在向世界其他地方蔓延。在美国,由于电子商务销售额和社交媒体月度活跃用户之间几乎成指数关系,这一趋势正在迅速兴起。
(来源: 方舟投资管理 LLC)
电子商务的社交方面正成为领先电子商务市场(如阿里巴巴和亚马逊)的一个基本特征。例如,亚马逊最近推出了 亚马逊直播 ,提供直播视频商品评论。推荐的产品直接显示在视频下方或视频框内,在每次活动期间,可通过互动聊天与影响者直接交流。
亚马逊直播直播事件:
(来源: 亚马逊直播)
每个用户生成的直播视频下都有直播视频推荐:
(来源: 亚马逊直播)
阿里巴巴的淘宝直播在 2020 年光棍节活动期间创造了 60 亿美元的销售额,这是一个堪比美国 的黑色星期五和网络周活动的购物节(来源: 【福布斯))。
阿里巴巴旗下淘宝直播事件:
(来源: 福布斯 )
实现电子商务直播功能
直播电子商务市场预测显示快速增长。从“最好拥有”,它正迅速转变为“必须拥有”的功能。对于电子商务企业,特别是市场,处理非常大的产品目录,直播可以成倍增加产品发现和促进销售。
(来源: 方舟投资管理有限责任公司)
用于桌面或移动设备上直播的 UI 元素
- 直播窗口
- 可以发布重定向链接的实时聊天,用户可以与直播主持人交流
- 带有 CTA 按钮的产品建议/横幅,允许用户在活动期间购买产品
- 推荐直播会议传送带,展示用户可能感兴趣的未来活动
- 登录提示
实现
- 产品推荐:
- 除了直播活动期间的静态产品列表,还可以使用产品推荐引擎向观众推荐相关或经常一起购买的产品
- 即将举行的直播会议可以是:
- 使用人工智能推荐引擎向观众推荐
-
- 根据每个用户的购物偏好和在线行为进行个性化
-
- 使用基于人工智能的流行度自动重新排序和排序
结论
直播电子商务在中国呈指数级增长,现在正在席卷世界其他地区。对于电子商务行业来说,购物的社交功能正迅速从“最好拥有”转变为“必须拥有”。直播电子商务市场预测显示了全球范围内的巨大增长,零售商需要利用这一趋势来增加产品发现,促进其平台上的销售,并将他们的在线购物体验提升到一个新的水平——直播购物。
如何通过搜索营销增加在线销售
原文:https://www.algolia.com/blog/customers/how-to-increase-online-sales-with-search-merchandising/
当你为你的用户/顾客设计搜索体验时,你应该对三种类型的相关性感兴趣,这三种相关性需要保持平衡,以实现有效的营销策略。
一方面,是文本相关性,这将拉出匹配用户正在寻找的结果;另一方面,业务相关性允许你推送你希望你的用户看到的结果,因为各种原因,如受欢迎程度,更高的销售利润,促销活动,购买历史。最后一个是上下文相关性,它基于用户的上下文以及与 UI/UX 的交互。
搜索营销确保所有必要的业务逻辑都包含在将呈现给用户的搜索结果中。有多种互补的方式来设计任何电子商务业务的有效战略,如销售热门搜索和季节性促销和项目的趋势内容;营销空查询和无结果统计以及联合搜索;牵制、隐藏、助推、掩埋搜索结果;重定向搜索并在搜索结果中显示促销横幅。
以下是电子商务公司成功实施搜索营销以提高销售收入和转化率的例子:
- 锁定、隐藏、提升和隐藏搜索结果
- 针对空查询和无结果状态的商品联合搜索
- 商品热门搜索:在无结果页面推广热门类别和相关商品
- 在搜索结果中显示促销横幅
锁定、隐藏、提升和隐藏搜索结果
Pin 体育搜索结果&商品零售商:Gymshark
当用户在体育零售商 Gymshark 的网站上搜索“帽子”时,选定的产品会被钉在搜索结果的顶部,以便更有效地进行销售。
成功指标:
- 由于相关性战略的改进,2M 一年的额外销售额增加了
- 由于全尺寸系列产品的优先排序,每年额外增加 300 万英镑的销售额
- 由于隐藏缺货产品,每年额外销售 120 万英镑
搜索相关性的提高使得 Gymshark 能够将最畅销的产品从搜索结果页面的底部移到页面的顶部。同时,卖得不好的脱销产品会从搜索结果页面的顶部移除。在下面的例子中,我们可以看到“camo”查询的变化,它在 2020 年 3 月获得了 11k 次搜索:
之前的指标
当前指标
奢侈品时尚市场营销搜索页面:真实的真实
在时尚电子商务市场 The Real Real 的网站上,当购物者输入查询“collier de chien”时,设计师品牌爱马仕会使用 Algolia 相关性规则在搜索结果中得到提升。
【T2
零售商促销产品:Rugs.com 和 Blissim
当用户在 Rugs.com 网站的搜索栏上输入“便宜”一词时,价格在 300 美元或以下的产品会在搜索结果页面上按照 Algolia 规则得到提升。
当用户在 Blissim 网站的搜索栏上输入查询“pas cher ”,意思是“便宜”,根据 Algolia 规则,价格在 20€或以下的产品将在搜索结果页面上得到提升。
商品联邦搜索对空查询和无结果状态
针对零售商:栖息地的空查询的联合建议
法国家具零售商 Habitat 通过一个空的搜索查询框,鼓励其网站访问者考虑其他创意和装饰技巧,建议补充信息类型,如关于产品的博客和常见问题解答。他们还直接链接到有用的页面,如运输或订单跟踪,以便更好地参与。
眼镜零售商空查询的联合建议:EyeBuyDirect
在一个空的搜索框中, EyeBuyDirect 网站的访问者可以看到帮助他们缩小购物搜索范围的信息,例如博客和关于眼镜最新款式的常见问题。
成功指标:
- 通过搜索、浏览行为和个性化将收入提高 4%
- 根据产品推荐,转化率提高 1-1.5%
针对市场的空查询的联合建议——移动:Mercari
在 Mercari marketplace 网站上,购物者有多种选择:他们可以直接进入主题标签——最近、类别或品牌——并开始导航到他们想要的商品,而不是在空的搜索框中输入查询。
成功指标:
- 提高了每天超过 350,000 个列表的搜索和发现性能
医药空查询联合建议:Onatera
除了等待访问者查询医药产品的搜索框,Onatera 网站还提供补充类型的内容,包括配方、推广品牌等。
商品热门搜索:在无结果页面推广热门类别及相关商品
无结果页面——展示奢侈品时尚市场的热门类别:真实真实
当访问者在经过认证的奢侈品时尚寄售市场 RealReal 上搜索而没有得到任何结果时,该网站会使用相关性规则显示促销商品。业务用户能够使用仪表板上直观的可视化界面更新和推广项目和类别,而无需编码。
无结果页面-显示时装零售商的相关产品:鳄鱼
Lacoste 不会显示一个空白的“无结果”页面,而是通过显示相关产品来引导用户。例如,当用户搜索“玻璃器皿”时,他们会看到太阳镜。
在搜索结果中显示促销横幅
搜索体育商品零售商 Lacoste 的促销横幅
Lacoste 利用搜索营销突出产品系列。特定的搜索查询会显示促销季节性商品的促销横幅。
Lacoste 利用商品销售帮助用户找到自己的尺码。当用户搜索“尺码”时,网站会显示一个横幅,上面有一个服装尺码指南的链接。
当用户在 Lacoste 的电子商务网站上输入特定的查询时,大型横幅广告会促进合作伙伴的合作,吸引用户进行探索。
成功指标:
- 搜索带来的销售额增长 150%
- 搜索使用率增长 210%
- 转化率提高 37%
- -跳出率下降 88%
搜索零售商的促销横幅:Plaisio
在零售商品牌 Plaisio 的网站上,输入某个搜索查询会出现相关产品系列的横幅广告;例如,搜索“soundbar”会触发一个推广几个相关产品的横幅。
搜索零售商促销横幅:王者荣耀
在零售商 King Jouet 的网站上,输入某个搜索查询就会出现相关产品系列的横幅广告;例如,搜索“corolle”会触发一个推广几个相关产品的横幅。
动态促销内容——零售商促销品牌页面:Blissim (Birchbox)
在 Birchbox 美国美容订阅网站上搜索一个品牌化妆品项目,会触发一个促销链接的显著显示(在用户搜索结果上方),该链接指向该公司在线商店的一个专门品牌页面。
结论
销售策略是任何电子商务企业的心脏。制定成功的实施和执行计划对于公司在竞争激烈的零售行业中的生存至关重要。当竞争对手的产品只需点击一下,网站上发生的每一次搜索或浏览事件都很重要。为顾客设计卓越的购物体验可以提升品牌忠诚度,增加销售额和转换率,降低跳出率。改进和优化相关性策略和产品优先排序增加了搜索的使用,结果导致搜索的销售贡献成倍增加。
阅读更多关于如何通过品类销售促进在线销售的信息。
在线商品优化的优势
如果一个在线购物者来到你的电子商务网站,会发生什么:
- 你的导航没有为他们的搜索提供明显或有帮助的方向?
- 你的产品详情页面需要很长时间才能加载?
- 该网站充斥着你的 SKU 的劣质产品照片?
Ack。没有第二个想法,他们可能会皱眉,叹息,放弃你的网站,并尽快去找你的竞争对手。他们肯定不会回来了。
它真的可以归结为一个给你的数字访客留下深刻印象的机会。在大数据时代,你为卓越的在线或移动体验而优化商品销售的方式(或者你不这样做)能够真正成就或毁掉你的企业。
搞砸了,就是你的潜在客户成群结队的跑了。做对了,你就有机会为你的网站带来更高的转化率和收入,并在他们的每个接触点加强你的客户粉丝群和忠诚度。
当然,针对产品生命周期优化营销策略对零售业来说并不新鲜。战略在不断地制定和完善,以利用现代零售的机会,而不仅仅是电子商务企业。但是,随着技术进步的步伐加快,人们越来越关注企业如何利用自己掌握的商品销售分析工具来实现更高的销售额和投资回报率。
那么,电子商务企业如何最有效、最成功地优化其网站和移动购物体验?
COVID 效应
根据美国商务部的数据,2020 年是电子商务销售额超过店内零售额的第一年,考虑到新冠肺炎疫情和家庭订单,这并不奇怪。疫情撼动了一个已经在适应数字化的阵痛中的行业。消费者在商店花费的时间减少了,有了 COVID,这种情况更加严重。
现在人们已经习惯了跳过实体店,他们的购物通常只在网上进行。疫情的趋势仍在继续,Shopify 报告称,到 2026 年,全球电子商务销售额预计将达到 8.1 万亿美元。
因此,可以有把握地说,如今你的潜在客户很可能会受到二维码和华丽的橱窗展示的影响,也会受到跨平台社交媒体活动和高速公路上浮华广告牌的影响,也会受到个性化用户体验(UX)和热情的销售大厅的影响。如何、在哪里、何时在网上提供产品、交易和降价来吸引购物者并满足你的顾客需求很重要。
移动用户也是一股不可忽视的力量。您知道吗 28%的消费者 正在使用他们的移动设备来增强他们在商店的购物体验,例如,当他们寻找特价商品时。甚至当购物者亲自进入商店时,他们可能只是在做出零售购买决定之前,查看特定产品是否有更好的在线购买选择,或者销售大厅中缺货的商品是否仍然可以在线购买。
当潜在客户访问你的网站或参与社交媒体渠道,或打开电子邮件并发现折扣代码时,你就该行动了。让你的潜在忠实客户快速找到他们想要的东西是至关重要的,充分利用任何和所有机会来推动额外销售也是如此。你怎么能准备好呢?通过优化你的在线视觉营销,使产品搜索和 发现 的过程不引人注目。
数据和零售分析是您的必备工具。无论您是在跟踪您的网上购物者或客户行为、进行需求预测、创建独特的客户档案以提供目标 个性化 、管理您的供应链、处理库存管理,还是检查您的销售优化分析,您利用数字工具的方式肯定会对您的业务流程和电子商务业务产生深远影响。
什么是电子商务营销优化?
电子商务营销优化可能有点拗口,但它的意思很简单 企业可以利用其网站来推动转换和收入的方式。 基础包括 UX、搜索和发现功能、个性化以及布局和设计。
营销优化的起源可以追溯到互联网时代之前。1927 年,一位名叫保罗·m·马祖尔的投资银行家将其定义为“商品部门的责任是在正确的时间以正确的数量、正确的价格为消费者提供正确风格和质量的商品。”
实现这一点的方式因各种因素而异,包括您的零售行业、客户人口统计和您组织的规模。例如,传统的夫妻店可能专注于将客流量转化为销售额,并建立本地供应链。相比之下,跨国公司可能会寻求驾驭复杂的全球供应链,满足不同人口、地理和文化的大量受众的需求。
但从本质上讲,对于电子商务企业和任何其他类型的零售企业来说,营销优化都是一样的。这意味着,随着购物者选择在线购买产品,并且越来越多地通过 移动 购买产品,电子商务营销优化必须专注于尽可能提高人们的网络和移动体验的价值。
归结起来就是 提供卓越的客户体验。
正如管理顾问 麦肯锡&公司 所发现的,现在 71%的消费者期望个性化的体验。他们对此很坚定:如果他们得不到符合他们标准的个性化服务,76%的人会感到沮丧和不可接受,他们可能会转向竞争对手。
如何击中靶心
对于一家电子商务企业来说,帮助购物者发现新的、相关的、有价值的东西相当于打了一个本垒打。要做到这一点,并在多笔交易中实现,每种类型的客户交互都必须完美无缺。
另一个问题是:购物者的体验经常发生在多个渠道,这给公司的跟踪行为和理解 意图 带来了挑战。智能系统必须到位,以确保公司数据通过所有渠道连接起来,以便购物者无论选择何种购物方式,都能在产品页面上享受个性化体验。
在线零售商家必须利用他们的跨平台数据为营销决策提供信息。简而言之,数据驱动的全渠道分析是唯一的游戏。
凭借其机器学习的贡献和预测能力,新兴的人工智能技术在个性化和商品销售等领域正发挥着越来越重要的作用。预测客户意图有助于确保库存到位,以履行订单并实现销售。再加上, 人工智能 是解锁客户数据中模式和洞察的福音。
动态二人组:搜索与发现
虽然许多因素影响着数字商品的优化,但有两个领域与电子商务特别相关:搜索和发现。
搜索 简单明了。几乎每个电子商务网站都有一个搜索栏,购物者可以在那里输入搜索查询,以帮助他们找到自己需要的东西。
然而,搜索系统以及支撑它们的算法并不是生而平等的。搜索引擎返回搜索结果的速度和结果的相关性直接影响到建立令人满意的客户体验的能力。类似地,算法营销根据现有系统的复杂性沉浮不定。
发现适用于在线商务,是引导购物者(他们可能不会主动搜索某样东西)购买他们感兴趣的产品和服务的艺术和科学。无论是有人第一次随意浏览你的网站,还是他们有具体的购买意向,但还没有进入搜索查询,你都有机会推广产品和优惠,以吸引他们的眼球,并有可能达成销售。
想象一个购物者或回头客来到你的电子商务网站的主页。幸运的是,您已经进行了优化,以推动更高的销售和投资回报,所以一切都很好。以下是你在那一点上已经完成的理想工作的概要:
-
推出个性化服务。 你已经开始检测用户的趋势,这样你就可以更好地引导他们找到相关商品,做出合适的产品 推荐 。借助商品优化分析和最新的人工智能,您可以提供无与伦比的卓越体验。
-
保持事物的动态。静态网站会扼杀以客户为中心的氛围,所以你制定了季节性策略,包括根据营销活动、新产品发布和编辑日历做出有时间限制的改变。
-
彻底检查了你的类别。 作为电子商务的基石,类别通常是客户在典型的用户旅程中首先去的地方,无论他们是在寻找东西还是只是浏览你的畅销书。您已经优化了您的类别和类别页面。你隐藏、提升、掩埋和过滤物品,引导你的顾客去发现有价值的东西。
-
使所有方面相关。 作为提供更好的用户体验和符合您客户偏好的个性化的一部分,您已经使您的 方面 与您的购物者的需求高度相关,重新排序它们和它们的值,以最佳地显示不同的查询和类别。
-
专为移动用户而优化。 意识到您的移动视觉营销必须是一流的,您已经最大限度地利用了您的小屏幕空间,提供无缝的 移动搜索和发现 ,并添加了 语音搜索 等便利选项。
-
提升了整体用户体验。您已经获得了一个提供拖放式定制工具的解决方案,因此您可以轻松地对 UX 设计进行改进。
想要更好的 ROI?
底线是,如果不简化他们的电子商务销售,大多数零售企业将难以生存并克服令人失望的指标。但是有了正确的工具,利用人工智能来促进强大的数据驱动的决策,优化不仅本质上是可行的,而且很可能是你业务的一个相当重要的游戏规则改变者。
寻找优化您的电子商务销售的帮助?别担心:使用数据分析和 Algolia 搜索和发现 ,您可以为您的销售团队提供所需的一切,以制定有效的数据驱动战略。使用我们的视觉营销工具 视觉编辑器 ,您可以掌控并开始提升您的客户满意度、销售额和整体成功。 联系我们 现在就去 Algolia 了解更多!**
如何整合 Algolia 推荐与 Instagram 广告(附代码)
原文:https://www.algolia.com/blog/product/how-to-integrate-algolia-recommend-with-instagram-ads/
insta gram 广告
Instagram 广告是许多行业非常常见的促销工具,尤其是电子商务。推广广告在常规提要之间注入,向用户呈现一系列商品供点击和潜在购买。Instagram 为广告商提供了一种基于 Meta 社交媒体平台上用户行为和购物偏好等内部数据的广告定位算法,以及一种包括来自其他来源的外部跟踪信息的选项。
潮流款搭配 Algolia 推荐
insta gram 广告的效果可以通过利用人工智能工具进行产品推荐来优化。Trends 是 Algolia 推荐 中的一组新模型,使团队能够创建能够动态适应新兴趋势的体验,消除手动编辑管理的需要。
Recommend 为构建者提供了两个关注趋势的新 API:
- 物品趋势 :构建者将能够显示整个目录中的趋势物品,或者仅仅是给定的类别或品牌(或者任何方面的值)。
- 方面值的趋势 :构建者将能够立即显示给定类别或品牌的趋势方面值(或者任何方面值)。
这两个模型可以结合起来推荐“每个方面名称的趋势项目”
趋势模型的好处在于发现早期趋势,例如产品需求随着时间的推移而增长,而不是像典型的畅销书那样持续的高需求产品。对于竞争激烈的行业,如零售、时尚和美容,及早发现新趋势是游戏规则的改变者,直接影响收入和品牌信誉。
从客户体验的角度来看,直接的好处是所有渠道的营销和促销资产的一致性。客户在浏览社交媒体时,在网站上看到向他们推荐的相同产品,当他们收到以推荐产品 为特色的 促销邮件时。一致性是关键。
如何用 Instagram 广告实现 Algolia 推荐
Instagram 为广告内容推广提供了几种选择。有了经典的 Instagram 广告 ,内容由广告主手动选择,由 Instagram 提供给选定的目标受众。 动态广告 选项让广告主除了内部 Instagram 用户行为数据之外,还可以利用外部跟踪数据。我们将从整合 Algolia 推荐模型与经典 Instagram 广告 开始,然后讨论动态广告的增强可能性。
要开始整合 Algolia 推荐和 Instagram 广告,您需要遵循两步流程。
第一步:Algolia 设置
第二步:Instagram 设置
- 设置一个 业务经理账户–您的账户必须经过 验证 才能使用目录 API
- 上传您的 目录 给业务经理
- 通过使用Algolia 推荐 API 在目录中动态创建一组 项目,以获取要添加到组中的趋势项目
- 使用 Python 客户端从 Algolia 获取 全球趋势产品
- 使用趋势产品 id 列表,创建新的脸书目录产品集:
- 使用上面创建的产品集作为产品来源,创建您的广告活动,并定义您的目标受众
- 审核并发布
- 热门产品每 24 小时更新一次,为了让您的广告中展示的产品始终保持新鲜,您需要更新您的产品集:
目标营销活动中常用的营销工具是客户数据平台。像 Segment、mParticle 和 Google Tag Manager 这样的 CDP 从多个来源收集并统一第一方客户数据,然后将其用于有针对性的个性化营销活动。当使用 Algolia 推荐趋势产品模型为 Instagram 广告提供支持时,您可以使用您的 CDP 来定义与趋势类别相匹配的动态受众,从而自动化广告受众定位流程。
结论
要将 Algolia 推荐的 的潮流产品模型与您的 Instagram 广告整合,请前往 Algolia 代码交换 获取实现说明、一个代码示例 GitHub 库,以及一个 demo。或者回头参考这篇博文!
要实施此解决方案,您需要激活 Algolia 推荐并设置您的 Instagram 产品受众。完成所有配置后,您的社交媒体广告定位应该会变得更加准确和有效。**
如何优化已经很快的实时索引过程
快速 索引确保搜索结果以最及时的方式包含最新的信息。“及时”的含义取决于每个公司特定的业务活动。但是正如我们在上一篇关于 索引最佳实践 的文章中提到的那样,快速索引是现成的——也就是说,您 不需要 来优化索引过程,对于大多数用例来说,它已经足够快了。
优化 一个已经很快的索引过程可能看起来没有必要。但是在某些情况下,优化会提高标准索引过程的速度。我们在一些高级用例中看到了这一点,在这些用例中,数据需要比平时更新得更快,有时甚至是实时更新。
我们将讨论以下高级用例:
- 高频数据变化
- 危机
- 黑色星期五或其他高活动事件
- 实时索引,场景 1:预订酒店,预订&租赁可用性
- 实时指数,场景 2:投标和股票市场
只是对 标引 *的一个大概说明。对于所有用例,无论是标准用例还是高级用例,您总是希望执行一个"*"批量索引过程,以增量方式更新、*、 和 中的数据
高频数据变化
在这种情况下,关键是你如何优先考虑一些变化。我们称之为“选择性更新”。例如,您决定现在发送一些更新(如价格),稍后发送其他更新(如描述)。这降低了每批中的变化次数,缩短了批处理过程的频率(例如,从每 5 分钟到每 1 分钟)。
另一种技术是使用“非删除索引”,即在记录上设置一个“不可用”属性,而不是删除它。就性能而言,删除记录比仅仅更新属性花费更多。但这是一种权衡。虽然更改属性值更快,但通过删除来减小索引的大小总是更好,这样可以更快地建立索引。因此,最佳实践是将这些技术结合起来:每 5 分钟修改一次属性,每 30 分钟删除一次记录。
危机
当工厂无法交付货物时,就会发生危机。或者一艘船被困在苏伊士运河,阻断了世界的货物供应。在这些情况下,在线企业必须立即从其网站上删除不可用的商品,并用另一组产品替换它们。他们也可能不得不重新考虑他们的促销活动。
实际上没有理由做任何不同于标准索引过程的事情。然而,如果危机持续的时间太长,或者需要在短时间内进行大量的更改,避免索引过载是很重要的。那么最好的方法就是对变更进行分类:
- 立即清除缺货商品 。这里有两种选择:从索引中删除商品,或者使用“脱销”布尔值,过滤掉“脱销”属性为假的记录。如前一节所述,最好的方法是每 5 分钟更改一次属性,每 30 分钟删除一次标记的记录。
- 在新项目到达时更新,与其他两个类别分开批量更新。
- 在批量更新中分别更改促销活动、,与其他两个类别分开。
黑色星期五结合了高频率变化和“危机”的场景,所以你会想要遵循那些场景的建议。这里的区别在于,在黑色星期五,高活动期可能比危机持续的时间更长,或者产生突然的活动高峰——但至少你可以提前为活动做好计划,这样更容易管理。
实时索引,场景 1:预订酒店,预订&租赁房源
用户期望搜索结果能够提供最新、最准确的信息。从技术上讲,这意味着他们希望看到后台的变化立即出现在他们的搜索结果中。企业也希望如此:过时的信息会对利润和客户信任产生负面影响。
举例:预订酒店。如果一家酒店出现在搜索结果中,用户希望当他们点击查看更多细节时,它具有相同的状态和价格。但是如果酒店在查询和点击之间被预订了呢?你可以用一个友好的前端 UX 优雅地管理它(见下文)。但是,您也可以使用额外的索引策略来缓解这个问题,这种策略通常用在实时系统级编程中,它依赖于第二个更小的索引。
你在收集更新的 Algolia 服务器 上创建一个微型索引 ,最多 1000 条记录。前端代码 会在每次搜索时将这个微小的索引与您的主索引合并,删除结果(如缺货商品)或动态更新信息(如价格)。算法如下:
- 主指数包含所有产品数据,正常。
- 微小的索引随着每次发生的变化而更新,还不是主要的索引。这个微小的索引应该包含不超过 1000 条记录。
- 对于每个查询,前端合并两个索引。有两种可能:
- 微型索引包含每个记录的一个属性,即对象 id。如果记录存在于结果中(在对象 id 上匹配),它将从结果中删除。
- 微小索引包含 2 个属性(对象 id、价格)。对象 id 用于匹配结果中的记录,价格属性用于覆盖结果中的价格信息。
- 同时,在后端,主索引会定期用小索引中的数据进行更新(遵循前面描述的标准批量更新技术)。微小的索引然后被清零,准备接收新的更新。
备注:
- 客户端合并应该不会影响性能,因为客户端合并简单、快速,并且只包含少量记录。
- 分页:删除结果会影响分页,因为删除的项目会在结果列表中产生空隙。因此,一些搜索结果页面会比其他页面有更少的条目。要解决这个问题,可以在空白处放一个横幅或一个促销广告。但是,如果您需要经常删除项目,最好的解决方案是使用无限滚动或“加载更多”逻辑。
实时指数化,场景二:竞价和股市
在这里,用户期望和业务需求更加严格:这个用例 要求 后台的变化在搜索结果中立即显示。我们在股票市场交易或投标应用程序中看到这种情况,价格每秒甚至毫秒都会发生变化。如果您遇到了这种情况,请联系 Algolia ,讨论您可以在应用程序、引擎和数据上调整的不同高级设置,以最大限度地提高索引性能。虽然很少进行引擎级的更改,但在特殊情况下,它们可以缩短索引时间。
其他注意事项
感知性能–F前端 UI/UX 解决方案
表现的一个重要方面是 感知表现 。我们不会在这里讨论 UI/UX 最佳实践,但是我们想承认构建一个前端的重要性,这个前端给人高性能的感觉。这不是要制造一个错误的印象,而是要告诉用户有一个(合理的)等待时间。友好的进度条 就是一个例子:它友好地要求用户等待,如果时间不太长,人们会接受。有许多同样有效的方法来管理 UI 的性能。
开箱即用的性能
正如我所承诺的,我想说一下我们所说的“开箱即用的高性能”是什么意思。我们的索引采用了以下技术:
- 使用高级索引技术的搜索引擎
- 高性能 裸机服务器 为性能而配置
- 全球可用的基于集群的云基础设施,具有低延迟和服务器冗余(即,无服务器停机)
- 一个带有重试方法的 API,确保(合同上) 99.99%的可用性
下次阅读
我们的第一篇关于索引的文章高度概括了标准和高级索引用例。我们的下一篇文章将带您了解 索引最佳实践 以及标准索引过程的实现细节。本文讨论了如何在高级用例中优化索引。
现在是时候帮你构建解决方案了。我们剩余的文章将为我们讨论的一些高级索引用例提供前端&后端代码,从实时定价开始。
要开始索引,您可以 免费上传您的数据, 或从我们的搜索专家那里获得一个 定制演示 。**
如何优化您的流媒体服务的媒体发现,以帮助观众找到有吸引力的标题
每年,流媒体视频的竞争都变得越来越激烈。像亚马逊、迪士尼和网飞这样的主要媒体公司投入了大量的资源和资金进行不断的开发和改进,迭代他们的算法以最大限度地取悦他们的观众,同时保护他们的订阅和市场份额。传统媒体公司和新进入者必须确保他们拥有最好的工具来与这些庞然大物竞争。
媒体公司成功的一个重要因素是网站或移动应用的客户体验和用户旅程。大多数媒体公司都有大量的内容要推广,但在正确的时间将这些内容呈现给正确的观众要复杂得多。
更具挑战性的是“最后一英里”:如何确保您的用户参与到您精心制作、转码、摄取和标记的内容中。媒体公司面临的困难是,在投入资金、时间和精力之后,如何确保他们能够从不同渠道的内容中获得最大的参与度。这就是“媒体发现”的全部内容。
构建一个成功的媒体发现包括:
- 成功的媒体发现要素:编辑相关性、商业相关性和用户意图
最终目标是让用户能够以最小的努力找到想要的内容。当内容始终吸引用户时,他们会更有冒险精神,想要尝试新类型的内容。
媒体领域充斥着 300 多种消费者流媒体服务,在其目录中提供成千上万的视频,为消费者提供了选择和权力。为了被选中,媒体公司必须投资于快速和高度相关的内容可发现性。
通过将编辑和业务规则与用户意图相结合,可以实现更高的相关性。用户行为很重要,但它不是影响和塑造体验的唯一因素。内容监管和营销策略也很重要。
- 成功的媒体发现的好处:用户参与度、保留率和忠诚度
媒体公司的下一个挑战是吸引观众——保持用户的参与和忠诚度——而不是转向或流失到众多竞争对手的服务中。考虑到制作或获取媒体内容的前期成本高昂,选择正确的工具并制定稳健的策略来实现这些目标对于媒体公司的生存至关重要。
通常,最关键的问题不仅是提供什么内容,还有如何向用户呈现。
为了获得最佳的用户参与度,应该只显示最相关的内容,搜索和导航应该在多个平台上保持一致,并且搜索结果应该以闪电般的速度呈现给用户。
电视节目和视频媒体网站的关键要素:
- 一致无缝的用户体验
无缝的跨设备 UX 应该允许用户在任何情况下轻松找到内容,从笔记本电脑上的多索引搜索,到移动设备上的语音搜索,再到电视遥控器等设备上的有限搜索功能。这些设备上的体验应该是相似的,以确保简单、一致和熟悉的导航,以及观众快速找到所需内容的能力。
- 结果相关性和建议
只有最相关的内容才应该呈现给用户。这个元素包括自然语言理解、个性化结果和内容的良好排名。搜索需要适应用户,而不是相反。
- 结果显示速度
快如闪电的结果不仅会影响客户体验,还会直接影响公司的利润。
-
- 据谷歌称,0.5 秒的延迟将导致 20%的流量下降
- 根据网飞的说法,1.8 秒是说服用户看电影的时限
- 根据亚马逊的说法,0.1 秒的延迟将导致 1%的收入损失
在下面的例子中,我们展示了各种成功的媒体公司如何获得卓越的搜索体验,以及构建这种体验需要哪些要素。
搜索和发现体验
联合搜索电视节目和视频:法国电视台
对于像网飞这样的视频流媒体服务领导者来说,20%的发现流媒体是通过搜索实现的。搜索既可以回答非常具体的问题,也可以回答非常宽泛的问题,引导用户找到与他们的内容兴趣最相关的内容。例如,每次你登录网飞,无论是什么设备,该服务都会分析观众的选择,以随时了解他们看到了什么,他们点击了什么横幅,以及他们通常最常观看的电影类型。有了这些细节和许多其他细节,该算法会生成一个经过完美训练的简档,负责定义出现在屏幕上的推荐。
法国电视台网站的访问者可以在搜索栏中输入一个简单的查询,就可以调出相关的娱乐节目。然后,在搜索结果页面上,他们会看到各种推荐的节目、收藏和视频。
https://www . algolia . com/doc/ui-libraries/autocomplete/guides/including-multiple-result-types/
针对电视节目和视频的空查询的联合建议:法国电视
许多流媒体服务用户在搜索内容时,使用非常有限的设备,如电视遥控器或手机屏幕。因此,他们更有可能输入带有有限数量关键字的较短查询,并且由于搜索失败或太困难而经常很快放弃他们的搜索努力。为了解决这个常见问题,针对空查询的多索引建议是完美的解决方案——本质上,该服务生成的建议可能会吸引查看者。在用户开始输入之前,他们已经能够看到可能符合他们兴趣的不同主题的各种建议,从而消除了在不舒适的设备上进行大量输入和搜索的需要。
在这个例子中,除了等待访问者关于娱乐的查询的搜索框,法国电视网站还提供补充类型的内容,包括热门搜索、促销商品、不同频道正在播放的节目和受欢迎的节目。
电视节目和视频推荐滤镜:Molotov.tv
法国电视和视频流媒体网站莫洛托夫。电视用一系列方面来帮助用户缩小搜索范围。当他们选择一个特定的方面时,他们推荐的搜索过滤器会相应地更新。
内容推广
同样的关键元素也用于媒体行业:英雄形象、登陆页面、横幅和宣传内容。推荐内容是在媒体网站上构建丰富和愉快的用户体验的另一个重要部分,例如个性化(基于用户以前的行为和偏好)、相关实体(与选择的演员/导演相关的内容)和类似内容(类似的标题和流派)。
搜索电视节目和视频的推广横幅:NBC
当 NBC 网站上的电视观众在搜索框中输入特定的电视相关查询时,例如,关于足球的内容,横幅广告宣传相关内容(例如,他们可能希望在 NBC Sports 上观看的节目)。
无结果页面显示电视节目和视频的推广内容:NBC
旨在丰富网站访问者搜索体验的媒体公司可以通过在“无结果”消息下显示策划的促销内容来避免“死胡同搜索”。
当一个人在 NBC 网站上进行搜索而没有结果时,他们会被鼓励根据推广的内容和当前的趋势尝试新的搜索节目、剧集或剪辑。
内容策展:NBC
内容监管是将业务逻辑应用于向媒体网站用户显示的搜索结果的重要元素。当用户在网站的搜索栏中输入特定的查询时,可以应用相关性规则来推广选定的项目。在上面的例子中,当用户在 NBC 的搜索栏上输入查询“感谢笔记”时,特定的内容项被钉在搜索结果的顶部。
https://www . algolia . com/doc/guides/managing-results/rules/rules-overview/how-to/customize-search-results-by-platform/
人工智能优化
个性化搜索结果:NBC
为了优化为每个媒体站点用户查询显示的结果的相关性,可以针对每个用户的简档定制显示的内容类型。搜索媒体内容的网站访问者将根据他们的偏好和先前的浏览行为被显示一个个性化的搜索结果列表。
在本例中,通过在创建用户简档时基于特定事件的重要性(例如,点击搜索结果或开始视频)为每个用户个性化搜索结果,NBC 确保每个用户都能看到与其独特偏好最相关的产品列表。
AI 在搜索结果页面重新排名:NBC
向媒体网站工具箱添加人工智能优化对于内容监管来说是非常有益的一步。这也将业务逻辑引入到搜索结果中。 AI 重新排名 将编辑经理从重复的策展活动中解放出来,同时保持对结果的完全控制。他们可以依靠人工智能来动态提升最受欢迎的内容,从您的整个目录或只是特定的类别(例如最新发布的内容)。
了解更多关于 利用人工智能重新排名优化用户转化
在 NBC 的网站上,搜索结果页面上显示的电视节目和视频内容会被 Algolia 的人工智能动态重新排序,以提高每个平台的转化率:web、ios、android、XBoxOne 等等。
Algolia 答案:聊天机器人上的对话搜索
这个对话式搜索应用实现了一个聊天机器人,可以回答用户的问题。它使用Google Cloud dialog flow Messenger来实现聊天机器人,并利用 Algolia Answers 的自然语言处理功能从网站内容中返回最佳匹配的答案。
客户支持中心
API-First 意味着三件事:灵活性、速度和向后兼容性。通过灵活性,我们的意思是表达我们如何以及为什么设计我们的 API 来处理广泛的用例,这与产品或平台供应商所做的相反。
高效的自助式支持中心对于基于订阅的服务非常有价值。一方面,客户看到了一个巨大的好处,即能够轻松找到所有支持相关问题的答案,而不必一丝不苟地浏览网站上的各个页面,这不可避免地会导致搜索疲劳和沮丧。另一方面,组织本身受益于消除或大幅降低每个客户的支持成本。运营成本的节省,再加上卓越的客户服务体验,对组织和客户来说是双赢的局面。
在媒体网站上提供卓越的客户服务解决方案有多种互补方式。这些措施包括:在多索引搜索中纳入支持相关的查询,将客户重定向到专门的支持页面,添加当用户输入支持相关的查询时就会出现的支持相关的横幅,以及提供一个聊天机器人来回答用户关于支持相关主题的问题。
游戏支持中心:PlayStation
当索尼 PlayStation 网站上的用户在搜索栏中输入一个查询时,单个搜索结果页面会显示来自许多不同来源的结果,如内容页面、游戏和客户支持。为用户提供单一的信息访问点,可以省去大量浏览网站所需的时间和精力。
当索尼 PlayStation 网站上的客户搜索与客户服务和支持相关的主题时,他们会被定向到一个专门的支持页面,因此无需单独浏览网站。
https://www . algolia . com/doc/ui-libraries/autocomplete/guides/adding-suggested-searches/
支持搜索电视节目和视频的横幅:NBC
当用户专门搜索有关客户支持的主题时,在横幅中显示可用资源
https://www . algolia . com/doc/guides/managing-results/rules/merchandising-and-promoting/how-to/add-banners/
结论
在为媒体行业设计网站时,有几个关键因素需要解决,以实现丰富和愉快的客户体验:内容可发现性、结果相关性和建议,以及结果显示的速度。
优化媒体网站用户体验的步骤有:
- 只有最相关的内容才会出现
- 搜索和导航应该在多个平台上统一
- 搜索结果应该以闪电般的速度呈现给用户
这三个因素将普通媒体网站与优秀媒体网站区分开来,对用户参与度的影响最大。
如何用你的谷歌商业中心数据快速评估 Algolia
Google Merchant Center 编辑了您的全球产品目录,这是您的 Google 广告或 Google 购物战略的一部分。既然你已经付出了努力,你知道它可以帮助你评估购物体验的另一个重要方面:网站搜索吗?
评估一个搜索解决方案通常需要前端和后端开发人员,并且在看到实际结果之前需要大量的资源投入。在本帖中,我们将回顾如何使用 Google Merchant Center 和 Algolia dashboard 在几分钟内构建 POC,不需要任何编码技能。
Algolia 为 9,000 多家客户提供搜索和发现服务,从财富 100 强公司到小型企业和初创公司。我们的使命是为每家公司提供卓越的搜索和发现体验。以下是快速入门的方法。
结果没来得及
您的 Google Merchant Center 产品目录中的数据可以轻松导出,然后通过用户友好的拖放界面导入到 Algolia,只需几秒钟。一旦数据被加载,Algolia 仪表板将让您在一个实时用户界面中搜索数据。
1。从商业中心导出提要
- 登录到商家中心后,选择“产品”->“订阅源”。
- 点击提要窗格(不是右上角)中的溢出菜单(3 个点)->“下载”。
2。将数据载入 Algolia
去 https://www.algolia.com/users/sign_up报名参加完全免费的试用(不需要信用卡)。
- 选择最近的数据中心。
- 按下“创建索引”按钮。你需要将数据发送到我们的服务器,这样我们就可以搜索到它,数据放在一个索引,这是一个超级快速的数据模型优化搜索。你可以给它起任何你想要的名字。
- 输入名称,然后按“创建”按钮
- 选择“添加记录”->“上传文件”
恭喜,您已经在 Algolia 中索引了您的数据!
从这里,您可以在我们的仪表板中测试基本的搜索查询。
接下来是什么?
如果你想更进一步,你可以:
当然,我们很乐意帮助您!如果您对 Algolia 能够为您的企业带来的价值感兴趣,请联系我们,我们可以帮助您优化您的试验,在实时在线搜索中查看您的数据,或者帮助您解决任何其他问题。寻找快乐!
如何使用 Twilio SendGrid 和 Algolia 推荐发送引人入胜的客户电子邮件
如果你要给你的客户发一封电子邮件,最好是相关的。产品推荐是为你的客户创建吸引人的电子邮件,邀请他们再次访问你的网站的好方法。 Algolia 推荐通过在客户网站分析上训练人工智能模型来建立个性化的产品推荐。在这篇博客中,你将看到如何构建一个后端服务,使用 Twilio SendGrid 制作定制的推荐电子邮件并发送给你的客户。
我们正在与特维利奥和阿尔戈利亚一起建造什么
在这个演示中,我们将为一个电子商务网站构建一个参与式电子邮件服务。随着我们根据客户与我们网站的互动加入更多功能和分析,我们将探索更加定制化的推荐策略。
四种客户场景如下:
- 他们浏览我们网站上的一个类别,但不购买
- 他们购买一种产品,我们推荐他们经常购买的其他产品
- 他们购买一种产品,我们推荐其他类似或相关的产品
- 他们在我们的网站上有一个现有的用户配置文件
我们将依靠以下技术:
我们将分四步构建服务:
- 设置 Algolia 搜索/推荐并配置 API
- 检查用于生成推荐电子邮件的后端节点应用程序
- 设置 Twilio SendGrid 并配置它们的 API
- 运行服务发送电子邮件
设置
我们将使用 node 将我们的服务构建为 express 应用程序。您可以克隆解决方案库来跟进。
git clone https://github.com/algolia-samples/email-recommendations
我们的服务遵循用 Node.js 编写的 express 应用程序的典型结构。
├── README.md
├── emails
│ ├── 1
│ │ ├── README.md
│ │ └── email.js
│ ├── 2
│ │ ├── README.md
│ │ └── email.js
│ ├── 3
│ │ ├── README.md
│ │ └── email.js
│ └── 4
│ ├── README.md
│ └── email.js
├── package-lock.json
├── package.json
├── sendgrid.js
├── server.js
└── templates
├── base.html
├── partials
│ ├── products_3_columns.html
│ └── products_full_width.html
├── post_order.html
├── pre_order.html
└── re-engagement.html
server.js
文件包含我们的路由、API 初始化和页面呈现。templates/
目录是我们地狱犬的电子邮件模板。我们四封接洽电子邮件的实际内容保存在emails/
目录中。我们在sendgrid.js
管理发送电子邮件。
在我们继续之前,我们需要从我们的package.json
安装我们的依赖项。
cd server/node
npm install
现在我们准备开始配置我们的服务所依赖的各种 API。我们将文件.env.example
从这个项目的根目录复制到我们想要使用的服务器的目录中,并将其重命名为.env
。例如,要使用节点实现:
cp .env.example server/node/.env
我们的.env
文件有一些我们需要分配的键:
# Algolia credentials
# https://www.algolia.com/doc/guides/security/api-keys/#access-control-list-acl
ALGOLIA_APP_ID=
ALGOLIA_API_KEY=
ALGOLIA_INDEX_NAME=
ALGOLIA_RECOMMENDATION_API_KEY=
# SendGrid credentials
SENDGRID_API_KEY=
SENDGRID_FROM_EMAIL=
# Envs
STATIC_DIR=../../client
让我们从我们的数据和 Algolia 凭据开始。
设置阿果
为了跟进,你需要在你现有的 Algolia 账户下建立一个索引,或者你可以注册一个免费账户并建立一个应用程序。对于这个博客中的例子,我们将使用一个现有的演示站点。
指标和凭证
本演示假设您已经有一个包含足够的事件数据的索引,可以使用 Algolia 推荐。如果你还没有索引或者没有足够的事件进行推荐,你仍然可以使用不需要经过训练的机器学习模型的策略。只需按照这些步骤创建并填充一个索引。
一旦我们有了索引,我们就可以在我们的.env
文件中设置ALGOLIA_INDEX_NAME
和ALGOLIA_APP_ID
环境变量。我们还将把ALGOLIA_API_KEY
设置为仅搜索的 API 键。我们可以在 Algolia 仪表盘的 API Keys 页面上找到这些信息。
ALGOLIA_APP_ID=
ALGOLIA_API_KEY=
ALGOLIA_INDEX_NAME=
当我们在 API 键页面时,我们应该创建另一个键用于推荐。从 API 键页面,我们导航到所有 API 键选项卡并点击新 API 键,选择我们的索引,并将recommendation
添加到我们的 ACL。现在我们可以将这个密钥添加到我们的.env
文件中。
ALGOLIA_RECOMMENDATION_API_KEY=
验证我们的模型
一旦所有的 Algolia 产品都准备好了,让我们确保我们推荐的模特已经训练好并准备好了。我们点击 Algolia 仪表盘上的“推荐”灯泡图标,查看“推荐在哪里有效?”部分。如果模型还没有被训练,我们需要训练模型。
如果我们没有足够的事件来训练我们的模型,这也没关系。不需要 Algolia 推荐的模板我们还是可以用的。
设置 Twilio 发送网格
我们使用 Twilio SendGrid 作为电子邮件提供商来发送我们的渲染预览。如果你还没有帐户,你需要注册 SendGrid,然后创建并存储一个 SendGrid API 密匙,允许你发送电子邮件。您还需要验证您的电子邮件域或单一发件人电子邮件,然后才能发送出站邮件。
将您的SENDGRID_API_KEY
和已验证的SENDGRID_FROM_EMAIL
添加到.env
文件中:
SENDGRID_API_KEY=
SENDGRID_FROM_EMAIL=
生成订婚邮件
配置好所有的 API 后,我们就可以从server.js
开始研究服务器代码了。在这里,我们设置我们的 express 服务器并初始化我们所有的 API 客户机:
// Setup Express, markdown renderer and Algolia clients.
const app = express();
const converter = new showdown.Converter();
const algoliaClient = algoliaearch(process.env.ALGOLIA_APP_ID, process.env.ALGOLIA_API_KEY)
const recommendClient = algoliarecommend(process.env.ALGOLIA_APP_ID, process.env.ALGOLIA_API_KEY);
const algoliaIndex = algoliaClient.initIndex(process.env.ALGOLIA_INDEX_NAME);
// Setup email delivery
sendgrid.setApiKey(process.env.SENDGRID_API_KEY);
在这个演示中,我们交互地生成和发送电子邮件,所以我们希望为我们的客户端应用程序提供服务。
// Home page
app.get("/", (req, res) => {
const indexPath = path.resolve(process.env.STATIC_DIR + "/index.html");
res.sendFile(indexPath);
});
我们的每个参与场景都有一个电子邮件模板和一个描述场景的README.md
。客户端从emails/
目录中加载四个模板,并将它们放在一个列表中,以显示在客户端应用程序中。
app.use(express.static(process.env.STATIC_DIR));
app.use(express.json());
const loadEmails = async () => {
const EmailBaseDir = "./emails";
const emailDirs = await fs.promises.readdir(EmailBaseDir);
const emails = [];
for(const emailDir of emailDirs) {
const emailDirPath = path.join(EmailBaseDir, emailDir);
const explanationFile = await fs.promises.readFile(path.join(emailDirPath, "README.md"), "utf8");
const explanation = converter.makeHtml(explanationFile);
const { email } = await import(`./${path.join(emailDirPath, "email.js")}`);
emails.push({
...email,
explanation,
});
};
return emails;
};
从下拉列表中选择一个场景后,客户端使用 nunjucks 、来自templates/
目录的适当的 Cerberus 电子邮件模板以及为该场景生成建议所需的底层 API 调用来呈现所选电子邮件。
如果我们喜欢呈现的电子邮件的外观,我们可以使用 SendGrid 将它发送给自己。我们在发送此电子邮件字段中键入我们的电子邮件地址,然后点击发送。我们的服务会将呈现的电子邮件传递给 SendGrid API,并将其邮寄给我们!
现在我们已经了解了一般模式,让我们深入研究如何为四个场景中的每一个构建建议。
场景 1:一个客户浏览一个类别
在这种情况下,客户浏览了您网站上的一个类别,但没有购买任何东西。我们不太了解客户或他们正在寻找的具体商品。我们使用 Algolia 的刻面推荐该类别中评价最高的产品。
如果客户浏览男士 t 恤,我们调用 Algolia 搜索 API,并使用索引的排名标准请求该类别的前六个项目。
async (algoliaIndex, _) => {
// The customer browsed the Men / Tee-shirt category
const facetFilters = ["category:Men - T-Shirts"];
// Get the top-rated products from the category
const { hits } = await algoliaIndex.search("", { facetFilters, hitsPerPage: 6 });
我们使用 SendGrind 将这些建议通过电子邮件发送给客户,并提供返回我们网站的链接,以便客户继续浏览。
当我们没有足够的关于客户或他们正在寻找的特定产品的信息时,这是一个很好的后备策略。它不需要事件数据,只依赖于索引本身的类别信息。
场景 2:推荐与客户刚刚购买的产品“经常一起购买”的产品
在这个场景中,客户从我们的网站购买了一个产品。我们会推荐其他顾客经常购买的产品。我们将使用 Algolia 推荐来训练一个基于客户购买事件数据的机器学习算法。
有了已经训练好的模型,我们只需要几行代码就可以从当前产品获得基于我们网站上其他客户购买历史的推荐产品列表。
const orderContent = ["D07940-6931-990"];
// Get the similar items for this item.
const { results: [ { hits }, ]} = await recommendClient.getRecommendations([{
indexName: process.env.ALGOLIA_INDEX_NAME,
objectID: orderContent[0],
model: "bought-together",
maxRecommendations: 3,
}]);
同样,我们使用 SendGrind 将这些建议通过电子邮件发送给客户,并提供返回我们网站的链接,以便客户继续浏览。
场景 3:推荐与客户刚刚购买的产品相关的产品
这类似于场景二。客户刚刚从我们的网站购买了一件产品。这次我们将使用这些信息来推荐与他们购买的产品相关的产品。这次我们将使用 Algolia 推荐的related-products
型号。
与前面的场景一样,由于我们的模型已经训练好了,我们只需要几行代码就可以从当前产品获得基于我们网站上其他客户购买历史的推荐产品列表。
const orderContent = ["D07940-6931-990"];
// Get the related product for the bought product.
const { results: [ { hits }, ]} = await recommendClient.getRecommendations([{
indexName: process.env.ALGOLIA_INDEX_NAME,
objectID: orderContent[0],
model: "related-products",
maxRecommendations: 3,
fallbackParameters: {facetFilters:["category:Women - Jeans"]}
}]);
注意这里我们包括了一个回退参数。如果模型中没有足够的推荐,我们可以用这个类别中的顶级项目填充我们的推荐列表。
现在,我们可以使用 SendGrind 将建议通过电子邮件发送给客户。
场景四:个性化推荐
在最后一个场景中,一个客户以前访问过这个站点。当他们浏览我们的网站时,我们使用 Algolia Insights 捕捉了他们的点击和转化行为。Algolia 利用这些事件为顾客建立了一个个性化档案。我们将使用这个概要文件和推荐 API 来查找与客户的相似性相匹配的相关产品。
首先,我们使用我们的站点为该客户使用的唯一令牌从 Algolia 个性化端点检索他们的个性化配置文件。(注意,我们使用推荐 API 凭证来检索这个概要文件。)
async (algoliaIndex, recommendClient) => {
// Get the customer's affinities profile
// https://www.algolia.com/doc/rest-api/personalization/#get-a-usertoken-profile
const userToken = 'user-1';
const res = await fetch(
`https://recommendation.eu.algolia.com/1/profiles/personalization/${userToken}`,
{
headers: {
"X-Algolia-API-Key": process.env.ALGOLIA_RECOMMENDATION_API_KEY,
"X-Algolia-Application-Id": process.env.ALGOLIA_APP_ID
}
}
);
const { scores } = await res.json();
响应是 JSON 格式的客户概要文件。它看起来会像这样:
{
"userToken": "user_1",
"lastEventAt": "2019-07-12T10:03:37Z",
"scores": {
"category": {
"Women - Jeans": 1,
"Men - T-Shirts": 10
},
"location": {
"US": 6
}
}
}
该档案包括我们网站上按相似性得分排列的类别列表。我们将把排名靠前的类别转化为用户可以用来搜索产品的方面。
// Transform the top customer affinities into a list of `facetFilters`
let facetFilters = [];
for (const key in scores) {
const score = scores[key];
let values = [];
for (const valueKey in score) {
values.push([ valueKey, score[valueKey] ]);
};
values.sort((kv1, kv2) => kv2[1] - kv1[1]);
facetFilters.push(`${[key]}:${values[0][0]}`);
};
Algolia Recommend 基于单个产品而非类别提供推荐。我们将从我们知道顾客喜欢的每个方面检索顶级产品,然后将它们发送到 Algolia Recommend 以找到类似产品。
// Get the top-rated products matching the top-scoring customer profile facets
const { hits: [topHit,] } = await algoliaIndex.search("", { facetFilters, hitsPerPage: 6 });
// Get the related items matching the top-rated product
const { results: [ { hits }, ]} = await recommendClient.getRecommendations([{
indexName: process.env.ALGOLIA_INDEX_NAME,
objectID: topHit.objectID,
model: "related-products",
maxRecommendations: 3
}]);
现在,通过将我们对客户习惯的了解与我们网站上其他客户的购买行为相结合,我们获得了引人入胜的结果。
我们再一次将链接添加回我们的站点,并使用 SendGrid 发送电子邮件。
结论
你可以根据对你的产品和用户行为的了解,生成吸引人的客户推荐邮件。像 Algolia 推荐的那些机器学习模型可以给你的电子邮件带来更多的相关性。现在你有了工具去建立你自己的推荐邮件服务!
想用推荐做更多事?看看我们使用 Twilio 的代码块,或者更广泛地说,看看我们使用 Algolia 推荐的代码块。在我们的开源代码交换平台上查看相关解决方案。
数字商务成功的要素
全渠道。“拿来给我”经济。无接触。无头商业。
感觉被所有从根本上改变电子商务的现代技术抛在了后面?需要更深入地理解这些术语吗?
你并不孤单。今天典型的数字商务商业模式与 2000 年代的静态在线商店几乎完全不同。
但随着这个市场的发展,电子商务企业需要与该行业的其他企业一起扩展其数字商务平台。他们需要在许多关键方面提供领先的客户满意实践。要么适应,要么冒着被贬为 无法适应 的过时人物的风险。
猜测你不想被落在尘埃里。
现在怎么办?从了解最新的数字商务趋势开始。然后评估你公司的电子商务实践是否一致,并以此为起点。
2022 年的数字商业是什么?
如今,“数字商务”涵盖了广泛的销售和参与渠道,以及数据集、活动等。它远远超出了网上购物。从社交媒体参与到销售点互动,数字商务涵盖了整个客户旅程的生态系统,从锁定正确的消费者到客户获取和保留。
贵公司的数字商务战略可能会触及以下任何或所有要素:
- 面向客户的应用(店面和忠诚度)
- 用于实体店的物联网应用(如 GPS 和射频识别、RFID)
- 销售点(POS)技术(刷卡机、在线支付系统)
- 网上店面
- 数字活动
- 社交媒体广告和社区管理
- 客户支持(通过电话、即时消息、聊天机器人)
- 营销自动化
- 产品和客户数据(CRM、CMS、AWS KMS)
- 智能搜索和个性化引擎
不管这些方法的具体组合如何,如今想要成功的企业都在花费大量资金创造和维持积极的客户体验。在许多情况下,他们的努力得到了回报。在新技术和创新的推动下, 全球电子商务市场 在 2014-2020 年间从 13,360 亿美元增长到 49,380 亿美元,预计到 2025 年将达到 73,910 亿美元。
数字商务是如何演变的
当数字商务还处于起步阶段时(大约在 1991 年),顾客会在零售商的网站上搜索产品,找到它,放入购物车,然后结账。与公司的互动结束。
现在,电子商务接触点在更早的时间和更多的地方定位,并在客户成功之旅的最后继续出现。
例如,某人可以在 Instagram 上看到一个帖子,停止滚动,阅读但不点击。然后,另一天,当他们考虑购买一件产品时,那篇文章的记忆可能会突然出现在他们的脑海中。然后,他们可能会搜索该产品,并可能决定不买它……直到他们看到脸书上的另一个广告。这一次,他们点击广告,阅读产品。他们还注册了电子邮件更新。他们做一些调查,看看其他公司网站或在线市场网站上的类似产品。他们再次注意到 Instagram 上的一则广告。这一次,他们不仅点击,而且使用 Instagram 的迷你浏览器进行购买。
唷;那是一个漫长的过程。在幕后,该公司监控客户对产品的兴趣和他们在做什么,他们的个性化数字营销也相应地调整。他们的社交媒体偏好、产品搜索历史、他们阅读的品牌内容量——一切都在企业数字商务方法的范围内。这很复杂,但值得一做,因为这种个性化的、人工智能驱动的客户讨好非常有效。
强大数字商务战略的关键要素
您如何调整公司的数字商务战略,以利用最新的电子商务技术?这里有一些你需要的关键元素。
个性化
百分之八十的消费者 希望得到品牌的个性化体验, 百分之六十的消费者 表示在获得良好的个性化体验后会成为回头客。因此,对公司来说,正确的个性化很重要。实现这一点的一种方法是通过使用个性化引擎,该引擎可以通过考虑客户数据的多个来源来提出智能产品建议。然后,该引擎可以精确定位客户的偏好、习惯和意图,并“记住”这些细节来接近他们
无缝体验
使用移动设备购物的人的平均购物车放弃率被认为是 86%左右,所以从头到尾做到天衣无缝没有多少出错的余地。一个小问题或缓慢的页面加载可能会让你失去很多业务。顺畅的购买之旅对于良好的数字商务体验至关重要,尤其是在销售点。
全方位介入
有这么多的渠道需要跟踪,很容易失去对其中一些渠道的跟踪,或者公司的不同团队与整体计划不同步。采用 全渠道方式 可以帮你避免这种情况。全渠道零售本质上是通过一个中央程序或数据管理解决方案连接所有渠道并使它们同步。这可以确保您的客户在所有渠道中获得一致的用户体验。这种类型的优化也意味着你不会输给正在多渠道工作的竞争对手。
直观、智能搜索
在过去的十年里,在线搜索体验发生了巨大的变化。在谷歌上进行搜索现在可以像敲几个键一样简单,得到令人难以置信的准确结果。这是因为谷歌的算法在将内容呈现给搜索者之前,采用了用户数据、GPS 坐标、人工智能和机器学习来确定内容相关性。
当购物者来到 你的 网站时,他们期望获得与谷歌相同的智能搜索体验。如果他们找不到,谷歌购物和亚马逊就潜伏在几下鼠标之外。通过添加专用搜索引擎作为您的 数字商务 战略的一部分,您可以从根本上改善客户的购物和发现体验,从而提高客户满意度并留住客户。
下一代网站搜索和个性化
Algolia 提供领先的网站搜索和个性化软件。我们强大的 API 让您可以在网站和移动应用程序中无缝地实现搜索。通过使用高度智能的搜索和建议工具使您所有的数据仓库可访问,您可以确保您的数字商务战略成功。
不要落后:了解 Algolia 如何改变您的搜索功能,以获得更高的转化率和更多。联系 我们 或者请求一个 免费试用 我们的搜索软件。
如何利用人工智能优化和个性化来提高体育行业的客户忠诚度
对于一家经营时装或体育用品行业的公司来说,普通的购物体验代表着高风险。这些都是高度动态和快节奏的环境,没有留下任何营销或销售策略错误的空间。数字购物体验需要对趋势和顾客口味的变化做出反应。它需要分别吸引每个客户。这就是人工智能优化和个性化的切入点:动态和个性化的购物。
AI 优化
应用人工智能优化有助于零售商优化营销工作,并直接影响客户转化和增加销售额。对于像体育用品零售这样竞争激烈的行业,一般的方法不足以“赢得”客户并保持长期竞争力。营销预算中的每一美元都必须以最大的效率使用,每一步都应该进行测试和评估,以优化整体业务战略。
艾排名:Gymshark
在 Gymshark 的网站上,用户经常在搜索结果中点击的产品排名较高。在幕后,AI 动态优化排名以提高转化率。
Gymshark 的成功指标:
- 用机器学习的商品销售(AI 重新排名)负责 2M 一年的额外销售
艾同义词建议:Gymshark
体育零售商 Gymshark 使用 Algolia 的人工智能生成的同义词,让用户即使对相同的产品使用不同的单词,也能找到相关的结果。
个性化
个性化使零售商能够向顾客提供卓越的顾客体验,甚至胜过店内与销售人员的直接沟通。个性化应该让电子商务购物者感到轻松和有用,而不是“令人毛骨悚然”,因为个性化策略走得太远可能会发生这种情况。以下是体育用品电子商务零售商成功实施个性化以确保卓越的用户体验和满意度,同时提高销售额、点击率和转化率的例子。
个性化搜索:迪卡侬、Gymshark
迪卡侬新加坡公司分析用户浏览时的偏好。这使得迪卡侬能够个性化用户体验,使搜索结果和整体浏览过程更具相关性和吸引力。
迪卡侬的成功指标:
- 点击率提高 36%
- 转化率提高 50%
Gymshark 通过结合用户资料中的事件和方面值,确保每个购物者都能看到与他们独特偏好最相关的产品。
Gymshark 的成功指标:
- 搜索转化率:从前 Algolia 的 6.2%上升到平均 10%,并且还在上升
- 来自搜索的订单:从不到 10%的前 Algolia 增长到 2020 年黑色星期五的 30%以上
- 来自搜索用户的收入同比增长 400%
结论
通过自动化和利用机器学习算法,人工智能优化开启了新的机会,并提高了您的电子商务流程的效率。这种创新对于体育&商品电子商务等快节奏行业至关重要。这个市场竞争激烈,发展迅速,并不断受到新趋势的影响。因此,体育用品公司必须快速适应并不断改善客户的在线体验。通过精心选择和配置的工具,体育用品零售商可以提高相关性,改善商品销售和个性化策略,降低跳出率,增加收入、销售额、点击率和转换率。
如何利用营销能力提高体育行业的客户忠诚度
对于零售商来说,电子商务销售是一个机会,可以输入业务逻辑,并管理显示给客户的搜索和浏览结果。这包括管理促销,管理搜索结果,并测试每一个步骤,以确保他们增加销售和转换。对于体育行业来说,季节性对业务有着重大影响。
季节性促销、销售活动、季节性产品以及特定体育赛事或与体育相关的影响者/个性推广产品对于体育用品零售商来说很常见,应该在网站上以闪电般的速度反映和更新。隐藏脱销或过季的产品,或者推广当前的销售活动,是一种需要否决常规搜索相关性的业务逻辑。
锁定、隐藏、提升、隐藏搜索结果:Sport24、Gymshark
体育零售商 Sport24 将其搜索结果商业化。当用户搜索“horsens”时,某些产品被钉在搜索结果的顶部,而其他产品则被隐藏。
当用户在体育零售商 Gymshark 的网站上搜索“帽子”时,所选产品会显示在搜索结果的顶部,以便更有效地进行销售。
Gymshark 的成功指标:
- 由于相关性策略的改进,2M 一年的额外销售额增加了
- 由于全尺寸系列产品优先,每年额外增加 300 万英镑的销售额
- 由于隐藏缺货产品,每年额外销售 120 万英镑
推广横幅:Lacoste
Lacoste 利用搜索营销突出产品系列。特定的搜索查询会显示促销季节性商品的促销横幅。
动态登陆页面:文化君王
街头服装时尚零售商 Culture King 使用动态类别登录页面来推广他们的产品。当用户点击“老高尔夫球手”推广横幅时,他们会被带到一个单独的登录页面,在那里可以查看新的老高尔夫球手头饰。
阅读更多关于电子商务营销最佳实践的信息:
结论
在网站的搜索结果页面和分类页面上配置营销策略对于竞争激烈的行业至关重要,例如体育&商品电子商务。公司必须能够快速迭代,即时发布活动,并对业务环境中的任何变化做出快速反应。一个明确的营销策略不仅能让体育用品零售商增加收入和转化率,还能让他们适应未来的新趋势。
如何使用 microcopy 改进搜索 UX
原文:https://www.algolia.com/blog/ux/how-to-use-microcopy-to-improve-ux/
用户体验(UX)通常是区分好的搜索体验和真正有用的搜索体验的标准。放置得当的 microcopy 可以引导用户进行搜索和导航,从而提高网站的可用性。 使用 microcopy 是改善网站和搜索界面用户体验的一种简单方法。
什么是 microcopy?
Microcopy 是引导用户浏览网站的简短有力的文本的术语。缩微复制通常伴随着提示、指导或教导用户如何做某事的图片或图形。
搜索结果页面上的相关搜索和 搜索栏 中的占位符文本都是很多用户熟悉的 microcopy 实例。但是 microcopy 可以在任何地方使用,包括主页、自动完成字段、 无结果页面、 调查和表单,以及网站上用户需要采取行动的几乎任何地方。
microcopy 为什么重要?
由于亚马逊、谷歌、 【网飞】 等领先公司精心打造的流畅、个性化的体验,今天的用户对网站 的体验有着很高的期望。你的网站需要达到很高的标准,像添加 microcopy 这样的可用性改进可以帮助你达到这个标准。
另外, 用户搜索能力较弱。 搜索技能差往往意味着搜索结果乏善可陈,只有 1%的用户知道如何改变搜索策略以获得更有效的结果。这不一定是用户的错。每个网站都有不同的搜索体验,很难从搜索效果好的网站和不好的网站中获得最好的结果。根据 KISSMetrics 的研究, 一个网站 12%的访问者会在不满意的搜索后离开 并选择竞争对手的网站。你不想失去用户,因为他们不知道如何找到他们想要的东西。像 microcopy 这样简单的附加功能可以帮助用户设计更好的查询。
战略性地在整个网站使用 microcopy 可以使搜索和导航过程更加清晰,改善 整体 UX 。Microcopy 通过提示用户搜索、点击和浏览网站的某些区域,引导用户了解网站的基本功能。它还可以通知用户后端正在执行的任务,让他们知道他们正在取得进展。这些有用的提示和指南是形象化的路标,指引用户获得流畅、迷人的体验。
3 个用于搜索和导航的有效缩微副本示例
使用 microcopy,即使是最小的细节也会对整体 UX 产生巨大影响。让我们看看在你的网站上使用 microcopy 的三种方式。
1。占位符文本和搜索栏
绝大多数用户看到搜索栏或者放大镜就知道该怎么做了。但是你不应该想当然地认为他们知道如何设计完美的查询。搜索栏中的占位符文本可以为用户提供什么样的查询会成功的第一个提示,甚至可以扩展他们搜索内容的视野。这里有几个例子:
山羊: 搜索 栏明确指导用户采取行动,并介绍了网站上的主要产品类别。
Coursera: 通过向用户提出“你想学什么”这样的问题,搜索栏 microcopy 引导用户输入目标查询,同时巧妙地强化了公司的使命。
Birchbox: 搜索栏中的占位符文本邀请用户搜索他们的法语网站,而不仅仅是产品,暗示了这种搜索体验配备的 联合搜索功能 。
2。自动建议或查询建议
Autosuggest,也称为autocomplete,预测性搜索,或查询建议,是一种将搜索从仅仅是网站一角的一个框扩展到成为 用户真实体验 的能力。设计良好的自动建议就像是与用户的互动对话——每次用户添加另一个字符,搜索就会建立、完善并为用户提供新的建议。
例如,在 ManoMano 网站上,查询“lawn”会向用户返回与维护他们的院子相关的各种选项。建议之间的差异被方便地加粗,以便用户可以快速识别哪个查询最符合他们的需求。
通过提供建议,用户可以轻松点击查找结果,这种高级形式的缩微复制:
- 减少搜索时间
- 提供已知可产生结果的查询
- 向用户推广受欢迎的内容和产品
对于有战略目标的结果,查询应基于 内部分析数据 用于最流行的搜索、业务规则,以及 外部分析引擎 如 Google Analytics 用于真正有价值的自动完成功能。
3。相关和推荐搜索
相关和推荐搜索是代表 发现体验 的关键部分的缩微副本形式。与自动完成推荐不同,它们引导用户搜索他们最初没有寻找的东西。这些推荐可以放在主页、搜索结果页面、单个产品/内容页面或任何您想抓住机会进行交叉销售、追加销售和帮助用户找到他们不知道自己想要的东西的地方。
Underarmour 利用单个产品页面上的推荐搜索,引导用户产生新的兴趣,并有希望购买新的商品。
这种类型的 microcopy 还可以通过利用热门搜索或完全基于业务优先级来预测用户需求。
使用 microcopy 的最佳实践
为了在你的网站上获得 microcopy 的好处,这里有几个可以遵循的最佳实践:
预见用户的需求
应将 Microcopy 添加到网站上用户可以使用额外指导或不确定下一步导航的地方。例如,如果一个站点包含一个联系表单,考虑一下用户在这个过程中可能会遇到的问题。所有字段都是必填的吗?用户在填写表单后应该期待发生什么?是否有某些字段可供您选择多个选项?仔细思考这些潜在的问题,然后使用 microcopy 帮助引导用户完成表单并提高转化率。
在网站搜索的背景下,思考什么类型的选项可以帮助搜索者。他们会想知道所有可以选择的类别吗,或者仅仅是少数几个?他们可以从同一个搜索框中搜索产品和书面资源吗?之后他们将如何改进他们的搜索?公司可以帮助用户使用搜索推荐、相关搜索和可视化搜索工具来优化搜索,所有这些都有智能 microcopy 的帮助。
保持你的缩微拷贝简明扼要
简短、甜蜜、信息丰富应该是创建 microcopy 的座右铭。只要这些简短的短语、建议和通知是有帮助的,缩微副本越短,对用户越好。目的应该是让用户参与进来,并让他们知道自己在做什么,这样他们就能尽快完成。
A/B 测试用 microcopy 搜索 UX
当你决定在网站上放置 microcopy 的位置和方式时,验证你的选择并确保它们能最有效地改善用户体验是很重要的。 A/B 测试 就是一个很好的方法。您可以使用它来测试整个站点中不同的 CTA、横幅和其他缩微副本,并利用用户反馈来开发更友好和个性化的用户体验。
用 microcopy 改进你的站点 UX
Microcopy 可以对你的网站和搜索的整体可用性和 UX 产生重大影响。Algolia 提供了一个易于使用的搜索 API,具有设计良好的搜索界面,利用 microcopy 来增强客户体验,并最终增加您的转化率。阅读我们的电子书 超越框框的搜索 ,学习如何扩展你网站的搜索功能。
如何使用搜索和浏览功能在体育行业赢得客户忠诚度
在过去的一年半时间里,电子商务行业经历了巨大的增长,仅用 3 个月就实现了 10 年的增长。数字体验已经成为品牌与购物者联系的核心。搜索和导航是继价格和产品价值之后最重要的网上购物方式。
对于体育用品零售商来说,设计一个极具吸引力的网上购物体验是抓住这个千载难逢的机会的关键。
“随着在线渗透率预计在 2021 年稳定在 25%左右,是疫情之前的六倍,品牌和零售商需要快速调整他们的商业模式。品牌需要将数字商务放在中心位置,加速直接面向消费者,零售商需要提供无缝集成的全渠道体验。”
使用正确的电子商务工具,领先的体育用品零售商能够建立长期的在线业务,增加收入和转化率,并通过不断迭代和优化其电子商务网站上的用户体验来保持卓越的客户忠诚度。相反,由于对电子商务工具和平台的大力投资,去年 耐克提前三年实现了其电子商务目标 。体育用品行业的领导者,如耐克,正在将他们的在线商店视为不仅仅是一种销售支持,而是一种将自己融入客户生活方式的工具( 《财富》,2020 年 9 月 )。阿迪达斯计划到 2025 年将电子商务收入翻一番,投资超过 10 亿欧元用于数字技术,如 3D 设计,仅在 2021 年就雇佣了 1000 多名“技术和数字人才”( 彭博,2021 年 3 月 )。
搜索体验
自动完成-查询建议:迪卡侬
今天的用户对搜索体验有很高的期望,同时他们愿意花在搜索和浏览网站上的时间也很少。自动完成功能为用户在搜索栏上输入的每一个按键提供查询建议。这种即搜即用的体验正在推动零售商的留存率和转化率。体育用品是一种通常需要动态视觉表现来吸引购物者注意力的产品。可以用与用户的查询条目同步的搜索结果的动态可视化来补充自动完成。
例如,电子商务体育用品商店迪卡侬(Decathlon Singapore)拥有动态自动完成搜索功能,限制了视觉噪音:用户可以在输入查询时,在搜索结果页面上预览商品。
迪卡侬的成功指标:
- 将“无结果”率从 5%降至 1.8%
客户支持相关查询处理:Arc'teryx
T14T16
对于体育用品购物者来说,顾客服务是他们购物旅程的重要组成部分。除了退货和退款政策、运输和尺寸指南,客户还对材料规格、产品护理和产品手册感兴趣。实时客户服务呼叫中心是一个昂贵的选择,对于现代网上购物者来说不是最方便的选择。用户希望通过简单地在搜索栏中询问他们的支持相关问题来找到所有的支持中心信息。
对于网上购物者来说,拥有一个专门的支持中心页面是一个好主意,也是一个有用的资源,但让这些信息可以从主网站搜索栏中搜索到会让在线客户服务更进一步。当 Arc'teryx 体育用品网站上的客户输入与客户服务和支持相关的查询时,他们会被定向到一个专门的支持页面,无需花费时间浏览网站。Arc'teryx 的购物者随后能够在他们的指尖找到任何支持相关问题的答案,并以惊人的速度浮出水面。
无结果页面处理:文化王者,鳄鱼
一个“没有结果的页面”会扰乱用户的搜索体验流程,并导致挫败感。多达 12%的用户在搜索失败后离开网站。有几个原因会导致用户进入无结果页面,例如相关性不足或搜索的项目当前不在目录中。有多种方法可以避免没有结果的页面,事实上,利用它作为引导客户发现新事物的机会。
达不到最佳相关性是进入无结果页面的主要原因。这个问题可以通过配置引擎的错别字容差、定义同义词和向用户提供查询建议来解决。
另一个原因是目录中不存在与用户查询匹配的相关结果。这是一个很好的机会来确定未满足的需求,也许可以将需求高的商品添加到商店的目录中。或者,可以向用户推荐类似的产品或受欢迎的产品,以提供发现可能感兴趣的新产品的机会。
Culture Kings 使用搜索结果营销来防止用户体验不佳。用户看到的不是一个空的“无结果”页面,而是被推广的产品和收藏,以帮助他们探索。
Lacoste 不是显示一个空的“没有结果”页面,而是通过显示相关产品来引导用户。例如,当用户搜索“玻璃器皿”时,他们会看到太阳镜。
意向匹配/ NLU: Lacoste
Lacoste 的网站使用基于关键词的自动过滤来增加相关性。
Lacoste 的成功指标:
- +150%的搜索销售贡献
- +210%的桌面搜索使用率和 314%的移动搜索使用率
- +37%的桌面转化率和 62%的移动转化率
- -88%的跳出率
浏览体验
搜索和浏览是网站上不同但互补的活动。搜索使用户能够寻找特定的产品,而浏览让他们发现更多的产品目录,超出了他们最初的意图。希望 找到 产品的用户通常会选择搜索,而希望 探索 的用户则更倾向于浏览。选择浏览的购物者的最终目标是发现零售商目录中的产品并从中获得灵感。对于时尚和体育用品零售商来说尤其如此。顾客感兴趣的是获得产品的“感觉”,想象自己使用它们,并在视觉上试穿它们。当用户在网站上浏览时,他们通常比那些搜索者更有耐心,有更多的时间去探索。因此,导航用户体验成为吸引这些购物者的核心部分。导航包括过滤器和方面、类别页面和产品传送带。
对类别页面进行过滤和排序:Mammut
为了改善类别浏览体验和相关性,零售商让网上购物者预定义价格范围、颜色和服装尺寸等过滤属性是一个很好的做法。
运动时尚零售商 Mammut 为购物者提供了类似 Pinterest 的便捷和高度直观的浏览体验,强调视觉类别展示。采用过滤和排序功能,Mammut 为网站访问者提供了一个动态的、极具创意的、基于 Algolia 的分类页面。
结论
网站搜索和导航是体育用品电子商务零售行业最关键的部分。在这样一个竞争激烈、快速发展的市场中,公司必须快速适应并不断改善客户的在线体验。通过精心选择和配置的工具,体育用品零售商将能够提高搜索相关性、降低跳出率、增加收入、销售额、点击率和转换率。
如何使用网站搜索作为营销工具
原文:https://www.algolia.com/blog/ux/how-to-use-site-search-marketing-tool/
许多营销人员认为搜索只是网站右上角的放大镜:是必要的,但没有其他营销工具重要。由于这种看法,他们往往不会投入资源来优化网站搜索功能。
结果是一个自我实现的预言。客户从不使用搜索,因为搜索的功能令人沮丧且毫无帮助,营销人员继续将搜索视为无用的工具。然而,强大的搜索体验可以成为现场营销策略不可或缺的一部分,提高转化率,改善客户体验。
营销人员面临的挑战
营销人员面临许多挑战,这些挑战可以通过网站搜索来解决。这些挑战包括:
- 收购比以往任何时候都难。 如今,营销人员通过展示广告、付费关键词、社交媒体广告等方式投入大量资金进行收购,但仍难以留住用户,甚至难以准确跟踪投资回报率。随着竞争对手不断进入这个领域,品牌很难让自己的网站脱颖而出。
- 营销人员缺乏内容发现和推广策略。 营销人员需要能够轻松将用户与网站上的相关商品联系起来的方法。他们还需要推广符合业务优先级的商品,提供智能和个性化的推荐,并在用户需求出现之前预测它们。如果用户不能立即获得直观和有益的体验,他们很可能会转向竞争对手的网站。
通常,营销人员通过牺牲搜索体验来微调浏览体验来解决这些问题。他们期望用户通过手动浏览网站来找到东西,而没有意识到让搜索更直观和改进网站搜索功能可以帮助减轻业务方 和用户方 的挫折感。
网站搜索帮助达成营销目标的四种方式
当营销人员在竞争激烈的网络环境中面临诸多挑战时, 网站搜索 可以在达成营销目标方面提供巨大的帮助,包括:
1。网站搜索推动转化率和其他关键绩效指标
帮助顾客快速找到他们想要的东西将会 提高转化率 并降低跳出率。搜索者通常是更活跃的用户,他们寻找特定的项目,意图购买、参与或转化。此外,良好的搜索体验有助于被动访问者更好地探索你的内容,比浏览网站菜单更直接地引导他们找到受欢迎的内容。
2。优秀的网站搜索会增加你品牌的可信度
出色的搜索可以在搜索结果中呈现文档、指南和推荐等内容。在购买体验的早期展示售后内容可以增加品牌的可信度,并向潜在客户展示权威性。这种类型的内容可以吸引用户,增加他们对你的产品和服务的了解。
3。搜索帮助用户减少浏览的噪音
一个精心制作的网站导航对任何网站来说都是必要的,但不是每个用户都有耐心去了解你的网站是如何组织的。搜索可以让用户减少浏览网站的时间,帮助他们快速达到目标。此外,当用户搜索时,他们会给你很多关于他们需求的可操作数据。随着时间的推移,你可以也应该利用这一点来改善搜索体验和网站。
4。搜索使发现成为可能
通过智能推荐和产品促销,您可以帮助用户发现他们以前可能没有发现的新产品和内容。对于拥有大量产品或服务目录和内容的网站(例如,公司新闻、CSR 或职业网站)来说尤其如此,因为用户不愿意或不能够手动浏览所有内容。
如何在你的营销策略中利用网站搜索
有很多方法可以利用网站搜索功能来实现你的网站营销目标:
优化搜索结果生成转化
搜索结果应根据您的业务需求量身定制。除了向用户展示相关结果之外,你还应该优先考虑那些最有可能转化的、有高参与度的、能提升你的企业试图推广的产品或服务的页面。这可以通过利用搜索规则来实现,搜索规则允许企业容易地配置和修改如何响应特定查询来显示搜索结果。
使用搜索商品销售
搜索营销是以一种提高参与度和转化率的方式来管理内容和搜索结果的能力。它让营销经理和产品所有者有能力推广符合业务目标的内容。做得好的话, 商品销售甚至可以给每个用户带来个性化的 ,增加他们对你品牌的参与度。
允许轻松过滤内容
搜索体验超越了搜索栏。过滤器和方面帮助用户快速缩小搜索范围,从而为系统提供更多数据来提供相关内容。这应该在一个简单的用户界面中完成,这样消费者就不会因为太多的选项而陷入困境。
分析你的搜索数据
搜索为你提供了大量数据。分析搜索数据可以 推动网站改进 ,包括调整你的搜索算法、术语同义词和推荐。分析甚至可以帮助指导你对未来内容或产品的计划,因为用户明确地向你提供他们想看或想买的东西。
附加的网站搜索功能推进你的营销目标
有许多网站搜索功能可以帮助引导用户实现你的商业目标:
-
联合搜索 在一个统一、直观的界面中呈现来自一系列数据位置的一系列不同类型的内容。这导致了更积极的用户,他们可以有效地探索整个品牌。
-
搜索建议或查询建议 应用来引导用户选择特定的产品。这可以是为了推新的产品线或更高利润的商品,甚至只是为了 A/B 测试 不同的内容。
-
搁置 是利用用户已经参与或探索过的内容来推广他们可能感兴趣的新项目的过程。(想想网飞在你完成一部电视剧后是如何推荐新电视剧的。)搜索不仅仅是搜索栏,还包括在用户浏览时提供内容。
提高你的现场营销
Algolia 提供所有必要的网站搜索功能,为用户提供丰富的网站搜索体验,帮助您实现营销目标。
观看我们的网络研讨会“ 加速内容发现并推动增长 ”,了解个性化搜索如何推动您的网站营销并改善用户体验。
我们如何使用 Algolia 改善我们的支持体验
原文:https://www.algolia.com/blog/product/how-we-used-algolia-to-make-our-support-experience-better/
在 Algolia,我们专注于开发人员的体验,并为我们引擎的速度和灵活性感到自豪。建筑是一门手艺,我们的工作就是让这些建设者更容易给生活带来新的体验。然而,有时,使用绘画类比,团队想要一个按数字绘制的解决方案,以及关于如何更有效地使客户体验更好的更规范的指导。今天,我们将在帮助中心分享更多关于改进搜索的内容,以及 Algolia 如何帮助 Zendesk 客户。
当我们将我们的 支持帮助中心 迁移到 Zendesk 时,我们渴望为我们的客户构建一个基于 Algolia 的搜索体验,使他们能够尽快找到适合他们请求的解决方案。我们希望让我们的用户能够在一个位置搜索我们的帮助文章、开发人员文档、社区内容和我们的客户端支持网站(academy.algolia.com)。这是我们构建的:
自动完成体验
购票形式体验
Github上的公共回购,也就是 我们如何将 Algolia 搜索集成到我们的 Zendesk 前端的公共版本:https://github.com/algolia/public-custom-zendesk-search
以下是我们如何改善搜索体验和提高搜索相关性的。
- 我们使用 Algolia Crawler 对多个来源进行了爬行和索引
- 创建了一个行为工作流,向源添加内容(定期添加文章)
- 即开即用的搜索结果使得找到正确的文章更加容易
- 即使在拼写错误的情况下,错别字容差也能提供相关结果
- 搜索对那些对终端用户更有用的文章给予更高的优先级
- 从一个位置搜索支持文章、文档、社区和 Algolia Academy 可以让用户找到答案,而无需在平台之间来回切换
Algolia 帮助中心搜索体验的前端捆绑包包括:
- 主页上的自动完成搜索
- 这伴随着每页右上角更小的搜索栏,是借力经典 即时搜索 。
- 机票表单请求搜索:当在“主题”字段中输入时,搜索结果将显示在输入内容的正下方。
在当前站点中,搜索发生在 4 个 应用的 4 个索引上:
- 帮助中心文章
- 文档
- 话语帖
- 阿尔戈利亚学院
前端捆绑包可通过 npm 包获得,该包可通过jsdelivr
获得。
然后,我们通过主题代码编辑器中简单的link
和script
标签将文件添加到我们的 Zendesk 帮助中心主题中。
在 Zendesk 的 HC document_head.hbs
模板中,我们添加了样式。
在footer.hbs
模板中,我们添加了 javascript:
在我们的工作流程中,这个包不会在浏览器中暴露任何类型的模块或全局函数。这意味着任何配置更改都必须通过提交软件包的存储库然后发布来进行。
我们组织了以下常量:
- 来源(这是定义指数和应用的地方)
- CSS 选择器(对于自动完成和票据表单搜索初始化,默认选择器是来自默认帮助中心主题的选择器)
- 自动完成的占位符
- 用于搜索重定向的基本 URL。
我们使用 Algolia 开发了我们的自动完成功能,并利用了 Docsearch 的一些样式。
我的经验是,客户最关心价值实现时间和客户体验,但价格很重要。因此,这里有一些简单的数学方法来帮助您确定使用 Algolia 的帮助中心优化项目是否对您的组织有意义。如果每张票的成本是 10 美元,你需要相信你可以通过优化转移至少 2K 张票,以证明 Algolia 的费用是合理的。
帮助中心文章 是一个相对简单的实现,添加开发人员文档、博客、学习、社区和其他来源会增加一些复杂性,但也会增加影响。更多的记录通常意味着更多的 API 请求,Algolia 的增量成本很低。您可以免费试用,我希望以上内容有助于展示我们如何通过改善您的支持体验来帮助您的团队取得进展。我的经验是,如果你能花时间重视客户体验的提升,人们会很乐意向他人推荐你的服务。
如果您需要帮助实施此解决方案,请查看我们的 支持中心 或 联系我们 。
2023 年你需要知道的关于移动搜索的一切
原文:https://www.algolia.com/blog/product/how-when-and-why-do-mobile-users-engage-with-search/
到目前为止,2023 年对于智能手机市场来说是重要的一年。对于苹果 iPhone 用户来说,新的 iPhone 15 拥有光滑、弯曲的边缘和薄边框;iOS 的特点是快速多任务处理。与苹果设备一样,三星面向 Android 用户的新款 Galaxy S23 将拥有流畅的外观,加上强大的移动操作系统和更好的电池续航时间(plus 和 Ultra 型号)。
随着安卓手机和 iPhones 的发展,这些移动设备和它们的新功能不仅仅是漂亮;它们是最先进的迷你计算机器,具有更强的能力、更低的延迟和令人印象深刻的功能,包括现代用户界面。随着这些 Android 智能手机和苹果 iOS 设备型号在这个生态系统中不断上升,并占据全球市场份额,它们正在成为我们的主要计算机设备。
2022 年第二季度,移动设备产生的全球网站流量略低于的 59%,超过了台式机(以及平板电脑,如 iPad)的流量。
对于那些关注通过创建在线搜索来满足用户需求,从而将客户带到公司门口的企业领导者来说,这是一项关键数据。随着如此多的手机用户选择在他们的设备上进行网络搜索,在线商务主管了解消费者如何、何时以及为什么使用他们的手机进行搜索是非常重要的。
什么是移动搜索?
当有人进行移动搜索时,他们是在使用连接到互联网的移动设备查询在线搜索引擎。就设备类型和典型参数(用户查找内容的方式、时间和原因)而言,这与在台式电脑上进行搜索截然不同。
移动的方向是
- 自 2017 年(Statista)以来,移动一直是人们搜索在线内容的主要方式。这在谷歌 2019 年的 移动优先索引 更新中得到了体现,该更新将移动称为主要搜索方法
- 去年(2022 年),移动端 产生的零售额占比将近翻了一番, 从 2018 年的 3.5%增长到 6.9%
- 到 2025 年,这一数字预计将超过 10%
- 到 2023 年底,基于位置的移动广告活动应该超过320 亿美元
- 移动营销行业的复合年增长率(CAGR)为
- 全球在线人口中,27%使用 语音搜索 (口语查询)在手机上
如何?
搜索者使用手机的具体方式有哪些?以下是几个主要趋势:
通过付费搜索
付费流量主要来自移动用户。例如,大部分广告点击来自移动设备上的谷歌搜索——人们搜索品牌或主题,点击广告进入 电子商务 商店。因此,对于做广告的在线企业(例如,在社交媒体上),以及那些希望在谷歌上获得良好排名的企业来说,重要的是 针对移动设备 进行优化,无论你是想要吸引新用户还是仅仅留住现有客户。
趁着赶路
手机的美妙之处在于它们可以随身携带,这得益于便捷的 GPS 跟踪和定位服务,可以实现快速连接。这意味着你有足够的带宽来搜索你附近的东西——当地的餐馆、购物和娱乐。人们喜欢这样:大约 82%的移动购物者在他们的搜索栏中输入“我附近”来找到地理上相关的结果。
这对在线企业,尤其是那些拥有实体店的企业来说意味着什么?他们的移动应用(和网站)必须针对基于位置的搜索进行优化。你可以通过输入清晰的地址和使用地理上特定的关键词(例如,你的产品名称与你的位置相匹配)来做到这一点,这样当有人搜索“伯灵顿的煎饼”时,他们就能找到你。
拿起电话
你认为电话簿已经成为过去,或者人们不再为打电话而烦恼了吗?的确,电话号码簿不再是散落在你家门口的数字书了。然而,人们仍然喜欢拿起电话,和电话那头的人联系。对这些人来说,幸运的是,互联网基本上已经变成了数字版的电话簿。
说到智能手机用户,有 60%的人使用出现在他们手机上的 搜索结果 直接联系了一个商家。对于在线企业和电子商务网站来说,这意味着在最前面加入“呼叫业务”选项是非常明智的。
何时?
与使用台式机相比,人们什么时候会在手机上搜索内容?一些重要发现:
当情绪来袭时
移动搜索不仅仅是最受欢迎的,它也是人们在购买过程中最常用的搜索方式。移动用户倾向于 在移动设备上搜索 首先发现什么是可用的——例如,他们在通勤或排队买咖啡时在亚马逊上快速搜索一件商品——然后在接近他们购物时进行桌面计算机搜索。
因此,对于在线企业来说,创造一种 适合人们在旅途中使用的移动搜索体验是必须的。你可以用各种方式创造一个 获奖的移动体验 ,比如考虑到移动搜索字符串——至少是那些食品和饮料的字符串——通常是 更长的 (就字符而言)并且往往由问题组成。
全天
人们每天有多少小时沉浸在手机中?根据 App Annie 的数据,平均 4.8 小时——大约是他们醒着的时间的三分之一。
对于在线业务,这意味着移动平台的优化至关重要。你的潜在客户已经习惯了移动友好的用户体验,如果他们得不到,他们很可能会去尝试已经获得移动体验的竞争对手。
工作的时候很烦
有趣的事实:超过一半()的电话检查发生在工作时间。是的,与周末相比,人们在工作日更多地使用手机。经理们很清楚,手机很容易让人分心。在手机上发现可以阅读、购买或探索的东西是消除无聊的一种方式,不仅在工作中,而且在任何情况下都是如此。
对于在线企业来说,这再次凸显了应用开发者创造流畅、动态和吸引人的移动搜索体验的重要性。
为什么?
智能手机为王:它比其他设备更受欢迎,它比其他设备产生更多的在线流量,它的功能比电脑更快。造成这种现象的原因有几个:
到处都是
智能手机占据主导地位的明显原因是它的便携性。与其他类型的设备相比,我们可以轻松、持续地使用我们的随身手机,所以我们很自然地会使用它们,无论是通过口头提出一个哲学问题进行搜索查询,还是简单地输入一个关于吃午餐的好地方的查询。
这是个人助理
智能手机已经成为除了电话之外的许多东西,包括个人助理。移动用户正在向 Siri、Alexa 和其他数字助理提出更多问题,并从移动应用程序获得比以往更多的帮助。他们还在智能手机上进行更多的个人数据搜索(例如,与精神健康相关的数据)。
当人们使用数字个人助理时,他们希望体验是个性化的。这意味着移动应用程序设计者和电子商务商店经理应该尽最大努力提供搜索,包括语音搜索,这与自然语言和“w”搜索(何时、何事、为何、何地?).公司还可以优化他们的移动应用程序和网站,以提高 个性化 。
年轻人喜欢它
与 25 岁以上的人群相比,年轻人群(18-25 岁年龄段)更有可能使用移动设备来搜索。如果你的在线业务服务于年轻人群,移动优化应该在你的候选名单上。
真紧凑
与台式电脑相比,智能手机的小屏幕不太适合严肃的高密度阅读或研究。然而,他们的口袋大小和随身携带的可用性远远弥补了这个缺点。此外,人们回家后总是可以在大屏幕的 Mac 或 PC 上阅读深入的材料。
一个向上的世界
毫无疑问,网络格局正在发生变化。在(隐喻的)拳击场上,移动已经领先于桌面,但是比赛还没有结束。事实上,可能会有更多轮,因为一些桌面平台开始在网页上集成流行的类似移动应用的功能。
尽管如此,移动用户体验显然已经停止运行。考虑到这一点,希望取得成功的电子商务企业必须专业地满足日益关注移动的世界的需求。
一种方法:在移动设备 上实现 工作良好的搜索。Algolia 的 搜索 API 可以帮助你的移动用户:
- 在旅途中快速找到他们需要的东西
- 快速查找本地相关内容
- 支持原生浏览器语音转文本的语音搜索
想要为你的用户创造一个奇妙的移动优先搜索体验,并给你的转化率一个跳跃的理由?今天就通过 与我们 取得联系,发现令人印象深刻的移动搜索!
我联合创立了加入 Algolia 的人工智能公司——这是故事—
原文:https://www.algolia.com/blog/algolia/i-co-founded-the-ai-company-that-joined-algolia/
2020 年 10 月 21 日,正当我的 MorphL 联合创始人 Alexandra 和我准备签署一份来自投资者的条款清单时,我正在 HubSpot 查看我们的产品注册,并注意到 Algolia 的首席技术官和工程副总裁在同一天注册了我们的产品。当然,这在我脑海中引发了一些问题,所以我选择了一种直接的方法:我发邮件欢迎他们亲自来看产品,并提供了一个演示。在我们的第一次谈话中,Julien 和 Sylvain 都坦诚地谈到了他们对合作的兴趣,我们也不失时机地探讨了产品、价值和市场适应性。
剩下的就是历史了——或者至少我们希望成为历史的东西。MorphL 于 2021 年 1 月加入 Algolia 以下是我们如何和为什么来到这里的故事,以及我们对未来的计划。
从两个学生的机构到一个获奖的创业公司
MorphL 是我和我的联合创始人Alexandra Anghel一起创办的第三家公司。我们有着共同的创业精神,正是这种精神让我们在大学里创建了一个网站开发机构。虽然我们成功地将它发展成一个 15 人的公司,但我们都渴望创造一个产品。2010 年,我们的第一家创业公司被哥本哈根的一家技术加速器选中,尽管它并不完全成功,但它提供了许多问题和教训,促使我们在 2017 年创立了 MorphL。2018 年 9 月,我们获得了欧洲数据孵化器的免费资助,并开始开发 MorphL SaaS,从媒体出版转向电子商务,并入选 2019 年tech stars montréal AI 加速器 ..
然后到了 2020 年。虽然全球疫情减缓了早期的筹资努力,但下跌为 MorphL 吸引投资者提供了充足的机会。因此,当我们开始与阿尔戈利亚交谈时,我们发现自己正处于十字路口。
跳上 TGV
我们到了 2020 年 10 月。一方面,很容易继续我们预期的获得投资的道路——这条我们曾经如此努力的道路。另一方面,这是一家成功的大型初创公司,它的人工智能方法与我们的如此一致,简直不可思议。以下是最终扭转局势的因素:
- Algolia 的愿景、战略重点、作为联合创始人的技术工程师——所有这些都深深地打动了我们的团队
- 我们非常喜欢 Algolia 的领导力:他们的开放、风格、个性和价值观。作为一个小而紧密的团队,我们发现自己比与投资者进行了更有意义的对话。
从很多方面来说,我感觉我们正在这条上坡的土路上骑自行车,这时一辆高速列车经过,并短暂减速让我们上车。考虑到以上所有因素,以及我们的内心和本能告诉我们的情况,我们怎么能说不呢?
有目的有眼光的 AI
在电子商务和媒体领域,用户行为才是王道。正如谷歌正在创建世界的知识图谱,正如社交网络正在构建世界的社交图谱,我们希望构建世界的用户行为图谱——一个符合世界向隐私优先模式转变的图谱。
我们的计划是让人工智能变得透明、可访问和易于使用,帮助开发人员甚至营销人员或产品经理创建基于人工智能的应用程序或网站,预测用户行为。我们喜欢称之为 基于意图、隐私优先的搜索和发现体验。
让我举个例子。如今,一个电子商务网站会将广告的目标重新定位到任何访问其网站的用户,即使该用户没有购买意图,而可能只是想浏览和查看该品牌。这无异于数字垃圾邮件——让用户讨厌,往好里说是没用,往坏里说是对公司品牌有害。这就是今天的情况。我们提供的东西之一是基于购物阶段的预测模型,使公司能够非常有针对性地与他们沟通的人——停止向每个人发送垃圾邮件,只与表现出购买兴趣的用户合作。
例如,今天市场营销中的用户细分通常基于人口统计学、心理统计学等,这就提出了两个问题。首先,有一大堆数据无法人工筛选。仅谷歌分析就提供了 500 个参数来描述用户行为,这使得真正理解用户几乎不可能,而且非常耗时。其次,在从网站和应用程序的用户行为中获取复杂信号方面,技术仍然非常落后。在这两种情况下,人工智能提供了巨大的进步,将使负责数字财产的人能够从第一次访问开始就非常复杂地理解他们的用户行为。
最初的兴奋过后会发生什么
当我们开始整合我们的产品时,我再次被我们在从产品制造理念到公司文化的方方面面的相似之处所打动。在接下来的几个月和几年里,我的目标不仅仅是无缝集成,而是产生影响。Algolia 让我们能够轻松地与全球各地的同事联系,不仅有工具和技术,还有每个人的信任、谦逊和热情,以及对改善公司和产品的每一点每一滴的明显渴望。对于我的团队来说,这是一个令人兴奋的操场,我迫不及待地想看看我们将一起做什么。
用动态分面实现分面搜索(包括代码)-第 3 部分
这是描述刻面和刻面搜索的技术和数据方面的三篇系列博文的第三篇也是最后一篇。在第 3 部分中,我们看一下搜索过程,从查询到执行再到响应,并展示如何动态生成方面。
这是我们刻面&数据系列的第三篇文章。本系列的重点是技术性的,概述了方面搜索的逻辑和方面数据模型。第一部分和第二部分在我们的科技博客中。在文章Facets and faceted search,every JSON attribute counts中,我们定义了什么是刻面,并解释了刻面在结构化数据中的重要作用。它还说明了 JSON 是表示包括方面在内的索引数据的最灵活的方式。第二篇文章— 一个使用 JSON 的 facets 数据模型 —介绍了 facets 最常见的数据结构:简单的 facet 值、嵌套 facet、层次类别以及用户和 AI 标记,所有这些都用于 facet 搜索的不同方面。查看我们的文档,了解更多关于索引和刻面的信息。
在本文中——本系列的第三篇也是最后一篇——数据仍然是我们关注的焦点,但我们也讨论流程。这次 我们深入到查询周期中使用的数据和流程:从请求,到执行,再到响应 ,所有这些都在一个高级刻面用例的上下文中: 动态刻面 。
在深入研究技术细节之前,让我们看看动态刻面是怎么回事。
动态刻面概述
动态刻面根据用户的意图向用户显示一组不同的刻面。为了理解这一点,考虑一个销售两类商品的电子商务音乐商店:CD 和音频设备。该业务希望显示一组 相关的 刻面。当用户的意图是找到自己喜欢的音乐时,提出“品牌”有什么好处?同样,当用户的意图是寻找音频设备时,建议“音乐流派”有什么好处呢?动态刻面确保只显示最合适的刻面。
在我们的 动态分面沙箱 上,观看动态分面的现场演示,并获得完整的代码库。
- 制药公司展示了其医疗和化妆品产品的不同方面。
- 报纸在娱乐版和政治版展现了不同的一面。
- 在线市场,就像下面的亚马逊例子,随着人们浏览他们的大量不同的产品,改变了方面列表。
示例用例:电子商务市场&动态刻面
亚马逊在其许多类别中使用动态面。在下图中,您会看到两个查询:“音乐”在左边,“电影”在右边。如您所见,两边都包括“价格”方面,但是音乐查询包括“客户评论”、“艺术家”和“音乐格式”,而电影查询包括“导演”、“视频格式”和“电影类型”。
亚马逊使用动态面创建了一个 增强的搜索体验,根据用户正在搜索的 产品,以智能和有计划的方式引导用户。
让我们来看看这是怎么做到的。
查询循环和刻面搜索背后的逻辑
首先,一些术语:
- 刻面 按键 是类似“颜色”、“价格”、“鞋类”、“袖子”等属性。
- 刻面 值 是关键点的值。比如“色”包含“红”和“绿”;“袖”包含“短”和“长”。
数据集
我们将使用包含两种产品的数据集:衬衫和鞋子。以下示例包含两个典型项目。这两项都包括“价格”、“颜色”和“服装类型”方面。但是,衬衫包含“袖子”方面,鞋子包含“鞋子类别”方面。
{
"name": "Bold Shirt",
"desc": “Be bold, wear a t-shirt with only one color”,
“Image_url”: “images/shirt-123.jpg”
“Price”: 49.99,
"color": “white”,
"gender": “male”,
“clothing_type”: “shirt”,
"sleeves": "short"
},
{
"name": "Blazing Speed Sneakers",
"desc": “Sneakers to win races!”,
“Image_url”: “images/sneakers-789.jpg”
"brand": “nike”,
“Price”: 189.99,
"color": "red",
"clothing_type": "shoe",
"shoe_category": "sneaker"
}
查询周期
搜索查询遵循 4 部分循环。这里有一个概述。我们将在下一节给出更多的细节和代码示例。
- 将用户的查询发送到搜索引擎。
- 执行搜索,检索符合查询条件的 记录 。在这一步中,您将从检索到的记录中派生出方面。
- 发回结果和刻面。
- 在屏幕上呈现结果和方面。
正如您将看到的,逻辑在于为每个查询动态生成一个新列表,而不是使用预定义的方面列表。这可以通过执行以下操作来实现:
- 在后端,您将从每组查询结果中提取方面。
- 在前端,你将使用未定义的容器占位符来代替预定义的容器。
查询请求:发送有无过滤的查询
循环的起点是发送一个查询和用户选择的任何方面值来过滤他们的结果。过滤结果会创建一个内聚的结果集,进而生成一个与结果中出现的所有项目相关的方面列表。另一方面,如果用户不选择一个方面,项目将更加多样化,因此,这些方面可能不适用于所有产品。
然而,这完全没问题。正如您将在下一步中看到的,呈现前 5 个最常见的方面确保了大多数项目将包含这些方面。
现在为代码。下面是 Algolia 的 API 如何实现查询“ 【获取所有短袖夏季 t 恤】 ”。(因为所有的搜索工具都允许过滤,下面的代码只是众多方法中的一种)。
results = index.search('summer t-shirt', {
filters: 'clothing_type:shirt AND sleeve:short'
});
查询执行:创建前 5 个面的列表
我们在本文中使用的数据集包含两种产品,每种产品都有一组独特的方面属性。执行查询后,搜索引擎提取每个记录中出现的每个方面键,然后选择最常出现的 5 个方面。
为什么是前 5?因为一个屏幕有 5 个面通常就够了。十是一个上限——再多就太多了,会造成无用的混乱。
有两种方法可以创建面列表:
- 预定义列表:直接在代码中或在单独的数据集或本地存储中保存一个面键列表。
- 一个动态生成的列表:从查询结果中提取一个不同的面键列表,并将它们作为一个单独的记录放入查询响应中。
我们已经选择使用方法 2,但是有些实现使用方法 1。
方法一——硬编码刻面键列表
对于这种方法,你根据你对产品的了解创建一组固定的方面。该列表可以是硬编码的,也可以放在数据库中的文件或表格中,只要添加或修改了新产品,就可以手动更新该列表。
无论固定列表的存储方式如何,列表必须包含以下类型的示例:
- 对于每一个“服装 _ 类型=衬衫”,返回以下方面:“颜色、价格、服装 _ 类型、袖子、性别”。
- 对于每一个“服装 _ 类型=鞋子”,返回以下方面:“颜色、价格、服装 _ 类型、鞋子 _ 类别、品牌”。
这不是首选方法,因为和所有硬编码或半硬编码一样,它的可伸缩性有限。如果您想添加更多的关系,例如“shoe _ styles”=“high-top,leisure,and cross-fit”,您需要手动向列表添加一个新行。手动维护是额外的工作,容易出错和延迟。
我们在本文剩余部分提出的方法(方法 2)从过程中去除了人工维护,使得过程是演绎的,因此完全是动态的。
方法二——动态生成刻面列表
在这个方法中,我们将从产品本身提取方面列表。
在某种意义上,手动和动态方法之间的唯一区别在于生成的前 5 个方面的列表是动态的。结果列表本身将以同样的方式格式化。
以下是步骤:
- 获取查询结果:
- 执行查询,找到 X 数量的产品。
- 保存那些记录,作为搜索结果发送回去。
- 获取前 5 个面键及其所有值:
- 从结果中,收集所有方面属性(我们将在下面展示如何将属性识别为方面)。
- 创建一个包含提取的面密钥的完整列表的记录。
- 确定哪些方面最常出现。按最高记录数对列表进行排序。
- 从这个列表中只取前 5 名。这些是最常见的方面。
- 将产品的值添加到各自的关键字中。
搞定。
生成的列表将与方法 1 相同:
- 对于每个“服装 _ 类型=衬衫”,返回以下方面:“颜色、价格、服装 _ 类型、袖子、性别”。
- 对于每一个“服装 _ 类型=鞋子”,返回以下方面:“颜色、价格、服装 _ 类型、鞋子 _ 类别、品牌”。
因此,如果大多数产品是衬衫,我们会将“袖子”和“性别”作为第 4 和第 5 个方面来显示。如果它们是鞋,那么第 4 和第 5 个方面将是“鞋类”和“品牌”。
查询响应:发回响应
这里我们将简单地发送回搜索结果和生成的 5 个面键的列表,以及它们各自的值。
响应应该包括任何前端需要建立其搜索结果页面。在所有刻面搜索查询周期中,前端需要:
- 包含“名称”、“描述”、“价格”和“图片 _ 网址”的产品列表。(不要发送图像 文件 ,因为它们的大小会降低搜索的整体响应时间)。
- 刻面键及其值的列表。
响应还将包含显示目的或业务逻辑所需的附加信息。我们不展示这些。点击此处查看完整的查询响应。
结果:
下面是我们如何退回这一套衬衫。所有属性都将被用作搜索结果中的信息,除了“objectID”,它将被用于出于技术原因( 点击分析 、详细页面查看或其他原因)来标识产品。
"results": [
{
"objectID": "123",
"name": "Bold Shirt",
"desc": “Be bold, wear a t-shirt with only one color”,
“Image_url”: “images/shirt-123.jpg”
“Price”: 49.99,
"color": “white”,
"sleeves": "short"
}
]
刻面:
面响应是面键及其值的组合。这里有一小段摘录。该示例不包括所有方面:
"facets": {
"Clothing Type": {
"Shirts": 100,
"Sneakers": 50
},
"Sleeves": {
"Short": 30,
"Long": 10
},
}
需要注意的两件事:
- 只显示“袖子”和“性别”,不显示“鞋 _ 品类”和“品牌”。如前所述,这是因为衬衫比鞋子多。
- 每个方面后的数字表示具有该值的记录数。我们将在添加面的部分对此进行更多的讨论。
前端显示:动态显示刻面列表
这里的工作是在屏幕上渲染结果和切面。就 UX 设计而言,行业标准是结果在中间,面在左边。
首先,HTML。为结果和方面添加占位符容器:
<div id="wrapper">
<div id="app-container">
<div id="left-side">
<div class="sidebar">
<div id="facet-lists"></div>
</div>
</div>
<div id="center-side">
<div id="results-container"></div>
</div>
</div>
</div>
有一个容器(" facet-lists" )用于 5 个方面。呈现代码生成一个无序列表来显示该容器中的方面。
结果放入 结果-容器 。
接下来,渲染数据。由于这可以采取多种形式,并且本文严格来说不是教程,所以请看一下我们的动态刻面 GitHub repo 以获得完整的前端实现。
使解决方案更加强大
增加刻面数量
你需要让你的用户知道有多少记录有给定的方面值。获取方面的数量是有用的,因为它们通知用户搜索结果。比如知道短袖衬衫比长袖衬衫多就很有用。这些方面的数量通常在查询执行期间在后端进行计算。
添加刻面元数据
每条记录都需要包含有助于流程知道哪些属性是方面的信息。要做到这一点,您需要通过使用一个定义记录方面的附加属性来向每个记录添加方面元数据:
“facets”: [“sleeves”, “price”, ..]
更进一步,包含属性的 类型 也很有用
“facets”: [
[“sleeves”, “string”],
[“price”, “numeric”]
]
有了这些信息,前端代码可以应用价格的范围滑块和袖子的下拉列表。
分组项使用刻面
你会希望将颜色与其他刻面属性区别对待。这是因为 不同的 颜色出现在 相同的 衬衫上。对于这一点,逻辑问题是:你需要每件衬衫 1 条记录 包括所有可用颜色的属性吗?还是 每种颜色 1 条记录 ,每件衬衫需要多条记录?典型的数据库思维会说,当然,只有 1 条记录。然而,正如我们在第一篇文章中详细讨论的那样,分面搜索不同于。
我们将所有可搜索的项目放在单独的记录中。这使得人们可以使用搜索栏找到“红衫军”,而不需要点击颜色方面。为了实现这一点,我们将每个项目设置为一种颜色。但是,在响应中,我们不需要返回 3 条衬衫记录。我们可以将 3 个记录合并成 1 个记录,创建一个新的元属性:“available _ colors”:
“available_colors”: “red, green, blue”
离别赠言
我们在本文中的主要目标是在我们的 facets &数据系列中为数据添加流程。我们描述了一种特定的方法来执行搜索并显示一组方面,遵循请求、执行、响应和显示的查询循环。
为了扩展您对方面的理解,我们在一个高级用例的上下文中这样做了:我们使我们的方面搜索是动态的。动态分面创建了更直观和有用的分面搜索体验,特别是对于提供各种产品和服务的企业。
查看特性 live 我们的 动态刻面沙箱 ,查看我们在 GitHub 上的动态刻面实现: 前端动态刻面 和 动态刻面使用查询规则 。你也可以在我们关于刻面 的 文档中找到更多关于索引和刻面的信息。
提高企业工作场所搜索效率
原文:https://www.algolia.com/blog/ux/improve-enterprise-workplace-search-efficiency/
假设你在一家公司工作,你被要求准备一份建议书。你需要找到一些你不记得的细节,这些细节是关于一个被放弃的项目,几个月后又被重新拾起。在亚特兰蒂斯吉拉设立了一个项目任务;然后你的团队在 Slack 上以及电子邮件中详细讨论了这个问题。你要搜索每一个平台,这可能是一项耗时的工作。
这种场景对于各种规模的组织中的数百万员工来说都很熟悉。许多人哀叹为什么无法轻松找到工作信息是一个持续的问题。毕竟,他们习惯于在个人生活中享受无缝的数字体验。工作应该没什么不同…其实应该更好。
老死不相往来太多,时间太少
如果工作人员可以打开一个搜索栏,从每条适用的内容中返回相关结果,并带有一个方便的索引,显示搜索了哪些平台、找到的项目数量以及每条信息在哪里,这不是很好吗?在信息时代,你的员工不应该能够在单一界面中输入单一搜索查询吗?
这很有道理。然而,同样有意义的是,搜索的重点一直是面向外部的电子商务网站,着眼于实现收入最大化,这是可以理解的。不太明显的是,有效的内部工作场所搜索和知识管理可能同样有效。
内部工作场所搜索的概念确实对员工的日常需求至关重要,但通常没有得到充分利用,无论它是作为所有员工查找任何信息的一种方式,还是仅用于有限范围的目的,如帮助销售代表找到早期销售的关键数据。
公司通常有大量独立的内容存储库、领域和平台,专门用于公司活动的各个方面:技术支持门户、人力资源网站、聊天应用、在线工作区、文档存储数据库。
“对于初学者来说,有一个可怕的筒仓问题,”注释 【福布斯】 科技委员会作家 Sid Probstein 。筒仓“不要真正连接到其他来源,也不要让你存储在那里的数据在他们的生态系统之外可用。”
尽管如此,员工仍然需要各种信息,从客户和演示到必要的培训和公司假期。当人们花太多时间去寻找他们需要的信息时,他们的整体生产力会受到影响。
统计数据证明了这个问题。例如,根据 IDC 、 所做的一项2018 研究,“数据专业人员每周损失 50%的时间”——30%用于搜索、管理和准备数据,外加 20%的重复工作。
将工作带出职场搜索
你如何回应现代职场的期望? 现代化的内部搜索体验使员工能够快速高效地访问他们需要的各类信息。
答案相对简单:将来自公司所有不同系统和存储库的内容和信息缝合在一起,创建一个统一的、可搜索的系统。然后,使用企业工作场所搜索工具,让您的员工轻松找到他们需要的任何内容。
那会涉及到什么?您可以使用一个 站点爬虫 来收集所有存储在文档、制作工具、表格、电子邮件、视频、数字工作区和在线聊天等地方的内部可搜索的公司内容。 不管你有多少页文档,多少数据,如果组织得好并且 索引 ,你的站点搜索工具就能解析它。
然后,您可以使用 联合搜索 实现定制的内部站点搜索,让员工搜索多个数据源,并将结果显示在单独的索引中。例如,在回答关于新的在家工作政策的查询时,您的搜索界面可以直观地显示相关公司公告、政策细节和员工常见问题的链接。
借助定制的工作场所搜索,使用动态重新排名、定制排名和查询搜索建议等功能,您可以测试、调整和迭代您的搜索工具和 UX,以最好地满足员工的需求。您还可以根据他们在搜索栏中输入的内容微调他们的搜索结果。例如,有了“随打随搜”功能,员工的搜索结果可以通过每次额外的击键直观地变得更加准确。
您可能还想为特定的员工群体优化特定的搜索 结果,定制与技术支持人员或编辑团队或特定报告级别的群体相关的返回内容。
您也可以:
- 让相关内容出现在搜索结果中,这可能会让员工发现更多有用的指导
- 创建 片段——相关的、经常输入的查询,出现在搜索栏下方——这可以给人们快捷方式找到他们想要的信息
- 准确回答输入单词的同义词,并解释拼写错误和其他变量
职场胜
除了将员工资料放在一个可搜索的数字“屋顶”下的概念之外,这种搜索和发现技术还可以应用于企业需求的子集。一个例子:
在伦敦的 《泰晤士报》 和 星期日泰晤士报 在这个即时生成的数字媒体时代,管理层正努力加快步伐,编辑们需要一个内部搜索工具,让他们能够轻松地创建、编辑和发布新闻。
通过一个名为 Edition Builder 的制作系统,他们可以在各种内容库中搜索他们需要的新闻条目。这个团队还在继续努力:搜索结果的返回速度估计比以前的系统快 300 到 500 倍,他们计算出他们的团队每周总共节省了 3 个小时的工作时间。
打造你的员工节
Algolia 可以通过人工智能支持的内部企业搜索来支持您的业务,该搜索具有多用途索引框架和基于云的托管服务,旨在支持后台系统、员工任务、业务工作流和生产力工具。例如,无论您希望只有营销团队中的某些人能够搜索 Salesforce 和宣传资料数据库,还是您的所有员工都能够搜索技术支持和人力资源内容,我们都可以帮助您设置利用高级功能和分析功能的搜索。
是的,你可以把你的企业搜索变成一种让你的员工惊叹的体验,但更重要的是,让他们更有效率,并给他们宝贵的时间,让他们可以用有价值的方式来提高工作效率。
联系我们 了解如何超越孤立的内容,超越员工的搜索限制。
提高你的 Shopify 转化率的秘诀是什么?伟大的搜索
原文:https://www.algolia.com/blog/ecommerce/improve-shopify-conversions-with-search/
如果你能启动你的 Shopify 支持的在线商店或应用程序,并最终获得一些令人惊叹的关键绩效指标,那不是很好吗?
好消息是你可以;所有这一切都需要添加一些搜索功能和一点内容发现技术到您的电子商务网站。 无论您的 Shopify 支持的商店是刚刚起步的小型商店还是成熟的大型商店,您都可以使用 Algolia(aShopify Plus 认证合作伙伴 )基于 API 的解决方案来增强购物者的在线搜索、浏览和购买体验。
内置 Shopify 搜索—’这样还不够好吗?
嗯,不,这是一个开始,但只是一个初步的开始。
您可以做更多 更多 来帮助您的购物者喜欢他们在您的 Shopify 或 Shopify Plus 网站上享受的体验。你可以通过认真对待你的搜索功能并扩展其覆盖范围来做到这一点。通过增强搜索的专业插件,您可以提高转化率,增加平均订单价值,并极大地提高您的底线,更不用说取悦您的客户,并在他们完成第一次结账后很长时间内保持他们定期回来。
那么,创造一个引人注目的 Shopify 搜索体验需要什么呢?
改善你在 Shopify 上的网上购物体验的 7 个技巧
有 7 个关键领域,如果做得好,会成为优秀的 Shopify 搜索:
- 提高购物者搜索结果的相关性
- 利用 搜索分析 来指导你的决策
- 增强用户体验(UX)和用户界面(UI)
- 为使用移动设备的人简化流程
- 使用目标个性化
- 做智能销售
- 通过产品推荐预测购物者的需求
提高购物者搜索结果的相关性
高搜索相关性自然与良好的网上购物体验相关。您在确定客户的搜索意图并在您的 Shopify 或 Shopify Plus 商店中为他们提供相关搜索结果页面方面做得越好,他们的用户体验就越好,您还可以获得更高的转化率和更低的跳出率。
文本相关性指的是搜索结果与某人查询文本的匹配程度。通过提高文本相关性的这些方面,您可以为您的 Shopify 商店的访问者提供更相关的结果:
- 错别字公差。 从购物者的搜索产品描述中了解他们的购买意图,即使他们拼错了一个单词或使用了“停用词”(例如,the、and、at、with)
- 同义词。 提供同义词结果(例如,当他们输入夹克时,结果为皮大衣)并包括前缀搜索(p、pa 和 pan 将显示裤子和长裤的结果)
- 复数。 应用直觉搜索策略:当购物者输入“男鞋”时,返回“男鞋”的结果
业务相关性意味着使用你的网站指标——如点击率(CTR)、转换率和受欢迎程度——来优化你的搜索相关性,并确保向购物者展示他们最合适的内容。例如,您可以跟踪项目的转化率,然后在搜索中首先显示转化率最高的项目。
因为购物者的偏好和搜索模式不断变化,所以明智的做法是定期评估你在哪些地方有机会调整和优化你的搜索相关性。您还可以安排在您的 Shopify 商店内容或产品目录发生变化时进行快速调整。
利用搜索分析来指导你的决策
如果你想提高你的 Shopify 业务 KPI,仔细校准你的搜索是值得的。你可以通过搜索分析监控用户的体验和在线行为来做到这一点。例如,看看你的搜索者得到或没有得到的结果(空结果),你的热门搜索,点击位置,“没有结果”搜索的数量,以及过滤器的使用。有了这些关键细节,你就可以根据数据来决定你的 Shopify 搜索体验。例如,您可以主动识别表现不佳的搜索,并调整其相关性。
增强用户体验(UX)和用户界面(UI)
让您的用户能够快速找到他们想要的东西,并直观地提炼他们所看到的内容,这对于充分利用您的 Shopify 搜索功能至关重要。把这些改善 UX 和用户界面的技巧运用到你的网站或应用中:
- 从搜索者的第一次击键开始显示结果。 自动完成(即搜即输)功能鼓励用户输入两倍的搜索词,这导致更相关的搜索结果,根据研究,转化率增加了 24%。
- 先提供搜索,再提供导航,反之亦然。让用户从搜索或导航开始,然后通过其他方法改进他们的结果。例如,在他们进行搜索后提供方面,或者使方面可搜索。
- 显示并突出显示可搜索的属性。例如,通过下面的产品搜索,购物者可以根据产品类型、质地、收藏页面或价格缩小搜索范围:
- 提供 联合搜索 , ,它还会显示购物者可能感兴趣的任何产品相关内容,如评论、博客帖子和收藏。下面是一些联邦搜索结果的例子:
为使用移动设备的人精简流程
移动用户占 一半以上 的网页流量。移动购物者时间有限,容易分心,所以当你建立和改进你的 Shopify 或 Shopify Plus 搜索时,让你的网站的移动体验尽可能简单是值得的。
移动设备因屏幕尺寸小而带来挑战,因此它有助于:
-
利用 查询建议 。 在移动设备上,屏幕空间极其有限,很难显示 1-2 个以上的“丰富”结果(具有多个属性和一个图像的结果)。通过显示查询建议结果来避免这种挑战:完成用户可能想要的查询。T39
-
利用内置的移动功能。 尽管面临屏幕尺寸的挑战,移动设备还是装载了很酷的工具和功能。例如,购物者可以:
- 使用移动支付选项 而不是被要求输入信用卡号
- 使用 GPS 或生物传感器代替密码来预填充个人数据字段
*** 使用语音、语音转文本和图像轻松查询**
个性化的巨大影响并不是什么新鲜事,但经常被忽视的是,个性化策略通常因每个电子商务企业及其独特的客户偏好而不同。
要成功实现个性化,你必须首先彻底了解你的用户及其需求。有时重要的是他们的购买历史,有时是他们的品牌亲和力。
只有这样,你才能定义你的搜索策略。你可以选择个性化,关注品牌、颜色、产品类型、尺寸或各种产品属性的组合。用户行为也是如此:你必须确定某人点击“添加到购物车”是否比打开一个产品页面更有意义。
还有一个更重要的提示:对你的搜索场景进行 A/B 测试 并不断迭代你的策略。
做智能营销
您可以使用商品销售来扩展您的 Shopify 搜索策略,使其与您的目录、收入目标、促销活动和营销策略保持一致。商品销售的最佳实践包括:
- 根据季节性活动调整搜索。 当您在您的 Shopify 商店推广节日产品或季节性内容时,请确保相关搜索查询在相同时间段推广了相同的商品。
- 智能优化关键词。 与优化您网站或应用程序中的 Shopify 类别页面一样,您可以优化匹配的关键词来隐藏或提升相关项目,确保一致的用户体验。
- 定位购物者的搜索结果。人们习惯于获得搜索结果,包括他们在哪里可以买到附近的产品,以及反映他们所在位置的其他信息。通过调整你的销售和产品推广策略来满足你的本地客户群,包括他们的关键字的本地结果。
您还可以使用可视化拖放工具根据需要手动重新组织项目。可以:
- 将某些项目推到搜索堆栈的顶部
- 突出显示季节性项目
- 您想快速销售的特色商品
预测购物者的需求并推荐产品
个性化和智能营销的一个要素是根据购物者在你网站上的行为向他们推荐合适的产品。这可以让你的客户体验真正脱颖而出,根据我们对在线零售商进行的关于他们如何使用搜索的调查,只有 20%的公司将他们的搜索和推荐个性化,以吸引每个购物者。
使用 产品推荐 ,您可以自动向人们展示补充或细化他们正在搜索或查看的内容的项目和内容。像这样提供“深思熟虑”的推荐可以最大限度地提高转化率,以及在线供应商的目录曝光率。
双倍下注您的 Shopify 成功
通过将 Algolia 植入您的 Shopify 或 Shopify Plus 在线商店,您能在多大程度上提高参与度、转化率和客户忠诚度?
波兰玩具零售商诺斯基诺斯基就是一个令人印象深刻的 例子 。该团队在其网站上实现了 Algolia 推荐,这样,如果客户进入某个页面,但对他们看到的内容不感兴趣,他们就会看到真正相关的推荐。“网站上的旅程要丰富得多,”公司联合创始人 Piotr Tuszewicki 说。“我们进行了 A/B 测试,两三周后我们看到结果肯定更好。”
Algolia 提供与 Shopify 的全面集成,是 Shopify Plus 认证合作伙伴。您可以通过插件获得全面的高级搜索和发现功能,以及完整的文档和全天候支持。
要了解使用 Algolia 的高级搜索来提高您的业务 KPI 有多容易,请立即申请一个 演示 !**
寻找破纪录的假日季:2020 年黑色星期五的 5 个关键观点
逛商店是感恩节周末的传统,精明的购物者会寻找划算的东西。2020 年也没有什么不同,除了比以往更多的购物者让他们的手指在购物时最先想到的是新冠肺炎。臭名昭著的黑色星期五将打破今年的所有记录,仅在美国的总销售额就达到 1890 亿美元,比 2019 年增长了 32.7%。
即使在黑色星期五之前,在 2020 年 2 月至 6 月期间,Algolia 在全球范围内的客户和行业中的搜索量 增长了 43%,这在很大程度上归功于疫情。这在 2020 年的黑色星期五是如何进行的?
以下是我们在 9500 多名基于 Algolia 搜索即服务平台建立网站的客户身上看到的 5 个关键见解:
1。2020 年破纪录的黑色星期五
不出所料,今年购物者大量转向网上购物。在一群零售客户中,Algolia 测量到,与 2019 年黑色星期五相比,这个黑色星期五的搜索流量增长了 66%。
2。从黑色星期五到灰色的十一月
随着最近新冠肺炎病例激增,零售商需要严重依赖他们的在线渠道,并在 11 月初推出销售活动,以充分利用假期的开始。
因此,与 2019 年 11 月的零售客户相比,Algolia 在 2020 年 11 月的零售客户中的搜索查询 翻了一番 (确切地说,增长了 110%)。
2019 年,11 月份(不包括黑色星期五和网络星期一)的日均搜索流量比 10 月份高出 26%。2020 年,11 月份的已经比 10 月份的高出 32%。
3。独立和直接面向消费者品牌的记录活动
与大型零售商相比,小型零售商和品牌在疫情遭受的损失更大,感受到的影响也更深。这个假期对他们来说是一个收回一些急需收入的好机会。
Algolia 的电子商务平台合作伙伴之一, Shopify 是中小型企业的首选平台。Shopify 报告称,其平台上的黑色星期五全球销售额为 24 亿美元,比去年增长了 75%。
Algolia 的搜索数据证实了其 Shopify 客户的巨大趋势,2020 年 11 月,与前一个月相同的客户相比,搜索查询 增长了 175%。
4。飙升的流量,创纪录的转化率
凭借高额的广告预算和活动,零售商在这个季节激烈竞争,以吸引购物者进入他们的在线商店,所有这些都为 Algolia 客户带来了显著更高的搜索流量。
好消息是,那些使用 Algolia 的零售商也受益于 的转化率,与 2019 年黑色星期五相比,2020 年黑色星期五的转化率增加了 29% ,部分原因是优化的搜索和发现体验帮助人们快速找到他们正在寻找的东西。
5。这些呆在家里的时间导致新的畅销书
为了找出人们在 2020 年黑色星期五期间一直在搜索什么,Algolia 汇总了来自代表性零售商样本的搜索数据。不出所料,在这段独特的时间里,一些新的见解出现在搜索次数最多的词语中。
对于时尚和服装,关键字“汗水”、“运动裤”和“运动服”出现在最热门的查询中,表明购物者希望舒适,同时花更多时间在家里工作和娱乐。
在消费电子领域,搜索次数最多的商品往往是家庭办公室,常见的搜索项目有办公椅、显示器、打印机和耳机,以及最近发布的 PlayStation 5。从整体品类来看,智能手机和电视仍然是黑色星期五的畅销品。
今年, Algolia 仅在黑色星期五 就处理了超过 45 亿次搜索查询,峰值达到每分钟 720 万次请求,比 2019 年的最高峰值增长了 85%。
我们通过 为众多客户提供支持,使他们的平均搜索流量 增加了 12 倍,其中一个高达 170 倍,在提供相关搜索结果时没有任何停机时间,也没有变慢。一位客户甚至依赖 Algolia Analytics 作为其实时性能的唯一视图,因为他们的 Google Analytics 实例难以接收所有数据。
保证在全球范围内快速、可靠地进行大规模相关搜索是我们 DNA 的一部分。如果您想在 2020 年及以后从密切监控您的电子商务堆栈的这一关键部分中解放出来,请联系我们。
Algolia 荣幸地再次被命名为公司 5000
今天,我们很荣幸地看到 Algolia (#448)连续第二年被提名进入 Inc 5000 增长最快的私营公司名单。这一承认是一个有意义的里程碑,反映了我认为使这成为可能的三个组成部分。
首先,这确实是现代消费者的见证,也是我们这个时代的标志。今天,消费者拥有所有的“权力”,当他们在网上搜索和购买更多的产品时,他们正在发号施令;因为他们通过移动设备消费的内容比以往任何时候都多;当他们与他们的声控设备互动以找到他们现在需要的信息时。
在今天和未来,正是这些“当下时刻”决定了客户是留在网站上参与和购买,还是继续前进,去寻找自己的默认选择——谷歌或 Amazon.com。正是这种消费者驱动的趋势,促使越来越多的企业加快步伐,正面满足这种期望。
从Algolia 2019 年夏季产品发布会 可以看出,这激励着 Algolia 代表我们的客户继续创新,通过我们的搜索即服务平台提供 Now Moments,在任何地方、任何设备上提供令人惊叹的搜索和发现体验。
其次,这是对我们全球 7500 名客户的致敬。消费者对“现在时刻”的期望导致许多公司,如 Birchbox、Twitch、Lacoste、WW 和国家地理,向 Algolia 提供即时、无摩擦的数字体验,提供消费者正在寻找的准确信息或产品。
没有你,这是不可能的。我代表阿尔戈利亚的全体员工,衷心感谢您。
最后,Inc 5000 认证是对我们 350 名员工的褒奖,即使在公司发展壮大的过程中,他们仍继续作为一个团队一起工作,不断创新,取得了巨大的成绩——无论是在旧金山、巴黎、伦敦、东京、亚特兰大还是纽约的办公室。
这种年复一年的增长并不容易。要在公司的任何阶段发展壮大,都需要积极地相互信任和关心,同时还需要高度的坦诚、坚韧和谦逊。这就是 Algolia 文化,它继续让我们 放眼全球,立足本地 在发展壮大的过程中最大限度地发挥我们的潜力,迎接未来的新挑战和新机遇。
今天是一个伟大的里程碑,我相信最好的还在后面!
增加您的客户群,通过推荐建立他们的忠诚度
你想知道你的用户在搜索和浏览你的在线目录时在做什么吗?你想在他们购物时推荐他们推荐的产品吗?
如果您还没有捕捉到您的客户行为,并且没有使用推荐功能,请立即使用它!
我们都曾在网上购物时看到并点击过推荐。只要我们向购物车中添加一件商品,就会提示我们继续购买经常一起购买的商品F。
仔细看看。这些推荐可能是由 Algolia 推荐提供的,而 Algolia 推荐又是由 Algolia 的开箱即用分析提供的。
通过 Algolia Analytics 捕捉用户行为,并将数据输入 Algolia Recommend,您可以开始向客户提供有意义的推荐,从而提高他们的满意度和转化率。
当在线商店以非侵入性和及时的方式建议相关商品时,消费者会很感激。想想詹妮弗,她正在为她生病的狗 卢娜 找床。她找到一张完美的床,并把它放入购物车。然后,她注意到一个“经常一起购买”的部分,推荐狗套、枕头和其他可以安慰生病的狗的配件。珍妮弗也可能看到其他狗主人为他们心爱的宠物买的物品。
这就是 Algolia 推荐 如何增加客户的购物篮规模和价值,同时提高他们的体验和忠诚度。
但是 Algolia 怎么知道该推荐什么呢?Algolia 知道 Jennifer 是宠物主人还是知道 Luna 生病了?
简单的回答是否定的。阿尔戈利亚对珍妮弗一无所知,只知道她在遵循一种基于相似顾客的相似购买行为的消费模式。许多像 Jennifer 一样的顾客已经搜索、点击和购买了类似的产品。
虽然这听起来很简单,但要混合和匹配客户想要的东西,实际上需要大量的 分析数据 和精心实施的 人工智能驱动的机器学习 才能做好。
通过收集用户行为(基于事件的分析)和训练模型来展示作品的特征如: 频繁一起买的 ,Trending I**tems, 买这个的人也买了 。这些模型经过精心设计,符合客户最初的购买意图,从而保证客户继续购物的可能性更大。可以想象,只有最相关的推荐才能推动财务增长和客户忠诚度。
在告诉你如何设置它之前,让我们看看正确的推荐如何带来更多的追加销售、交叉销售和整体客户忠诚度(问 亚马逊 !)
Gymshark通过将 Algolia 推荐添加到其 Algolia 搜索实现中,提高了其收入。Gymshark 的成功指标:
- 在黑色星期五,新用户的订单率增加了 150%,而“加入购物车”率增加了 32%
- 回头客的订单率和“加入购物车”率分别提高了 13%和 10%
- 每用户 1.4 次点击,而之前的解决方案为 1.1 次
Gymshark 增加了 Algolia 推荐,以应对至关重要的黑色星期五期间。我们发现,在黑色星期五或圣诞假期等大型购物活动期间训练您的推荐模型,将有助于您及时了解购物者的行为,以迎接下一个大型活动。
设置推荐–您需要做的就是开始训练模型!
这里推荐四个步骤。
- 捕捉用户活动(事件)
- 向 Algolia 发送事件数据
- 启用仪表盘上的 Algolia 推荐,并让它开始在后台生成推荐
- 向您的用户显示建议
第一步——获取质量数据
数据质量至关重要。步骤 1 & 2 完全由客户控制。客户通过捕获 重要的 用户活动(事件)来建立他们的分析数据集。这意味着您必须小心捕捉对您的业务“重要”的行动。当然,购买历史几乎总是相关的,但是购物车呢?还是分类页面?刻面?
本质上,你希望跟踪所有你认为很有可能导致转化的用户行为。
好消息是,Algolia 附带了一个 分析仪表板 ,你可以用它来测试你的数据质量。
步骤 2–向 Algolia 发送事件
如何发送推荐活动?像大多数分析一样,你的工程师需要添加一行代码到你的网站中你想要捕获用户事件的页面。例如,在搜索结果页面上,您将添加一行代码来收集结果的每次点击,并将其发送给 Algolia。在购买页面或查看产品页面上,您将添加一行代码来捕获刚刚购买或查看的产品,然后将其发送给 Algolia。
https://www.youtube.com/embed/C9AvveQMZkY?feature=oembed
视频
总之,无论何时你想捕捉一个事件,你都需要(1)添加一行代码来捕捉你的用户正在做的事情的信息,并且(2)通过 Algolia 的 API 把它发送给 Algolia。 每事件 一行代码 。
第 3 步&第 4 步——启用推荐,一切就绪
一旦你发送了重要的用户操作(这里有一个 大列表 ),那么你需要做的就是在 Algolia 的仪表板中启用推荐(步骤 3),让机器开始运转。当你发送事件时,Algolia 会完成剩下的工作——它会将这些事件输入到它的机器学习模型中,并生成一组可靠的建议。
https://www.youtube.com/embed/0B5Sd3G4NeI?feature=oembed
视频
根据您网站的活动情况,过一段时间(可能是几周)后,您就可以开始向您的用户显示这些推荐了(步骤 4)。下面是一些强大的 撬动推荐 的方法,以及一个关于 如何显示推荐 的概述。
底线
如果你能提供很好的建议,确保你的客户之旅是愉快的,没有压力的,你就能建立客户忠诚度,这将改变你的业务底线。
我们强大的推荐 API 和人工智能驱动的技术将快速无缝地改善您的用户体验以及您的网站和移动应用程序的转化率。
了解领先的电子商务零售商如何利用人工智能推荐引擎的功能来超越和转变他们的数字销售目标 ,联系我们,让我们开始行动吧!
多语言搜索:用特定语言的词典进行分解
分解是将一个复合词切割成有意义的部分的行为。对于多语言搜索引擎来说,这是一个重要的过程,因为在许多语言中,复合被大量用于生成新词。一个德国用户在寻找一个hundehütte(狗屋 )想要得到的结果就好像他们已经输入了hütte für meine Hund(狗屋 )一样。由于大多数电子商务搜索都是基于关键词的,一旦我们删除了停用词()和meine(my),打破了复合词 Hundehütte
在这篇博文中,我们将定义一个复合,并讨论分解的概念。我们将讨论典型的分解方法,并向您介绍我们在 Algolia 使用的方法。我们还将讨论知道何时 而非 被分解的挑战(例如在 机场 被拆分为 航空 和 港口 的情况下)。
什么是复合?
如果你剪过头发或见过摩托车,你会对复合词很熟悉。复合词是两个或两个以上的词(词位)组合成一个新词。复合词通常由名词、形容词和动词组成。例如:
- 打开,如 酱油
- 连字符,如 基于概率的 和 白发苍苍的
- 关闭,如 快捷方式 和 白板
在搜索的上下文中,我们感兴趣的是最后一种类型,、、、为闭合复合词,其他两种更容易拆分。
大多数语言使用复合词来创造新词。例如:
- 荷兰语:verjaardagskalander(生日日历)=verjaardag(生日 ) + 卡伦德 (
- 在完成:kukkakimppu花束)=kukka(花)+kimppu
- In Japanese: お好み焼き (okonomiyaki) = お好み (okonomi, preference) + 焼き (yaki, cooking)
在某些语言中,复合词可以产生极长的单词。在德语中,复合词没有大小限制。1996 年, 吉尼斯世界纪录 认定Donau dampfschifahrts elektrizitten hauptbetriebswerkbau unterbeamten Gesellschaft(出自多瑙河轮船电气服务公司主要维修大楼下属官员协会)为最长公布的字。
在日耳曼语中,一个复合词通常由一个和一个或几个 修饰语组成。 头在右边(字尾),修饰语分支在左边。他们经常使用 连接语素 来连接。在语言学中,一个语素是最小的意义单位(想想狗 = 狗 + s 或不舒服 = un + 舒服 + 能干),连接语素用来连接词语 。 它们也可以用来表示某种程度的屈折,比如在使用所有格或复数时:
*** 洪德 鄂 胡特
- Voorlichtingssysteme(预防系统 荷兰语)
- Eftermiddagskaffe(丹麦语下午茶
连接语素是语言依赖性的。以下是几种语言的例子:
- 瑞典语:o,u,e,s
- 荷兰语:南、东、英
- 德语:南、东、恩、恩、嫩、ens、ns
有些单词在连接时可能会被部分删减,如Fahrschule(驾校);动词Fahren(带动 )被削去了茎。
什么是分解?
分解是将化合物分解成有意义的词位的行为;提取每一个有意义的单元。
我们必须避免的一件事是过分分解单词。比如荷兰语单词Voorlichtingssysteem(预防系统 )可以剪成Voorlichting(预防)+s停在那里是有意义的。我们可以把【Voorlichting】**Voor(在 前面)+lichting(【T77)
典型的分解方法
大多数分解方法都是基于不应该被进一步分解的单词的 词典 。我们将这些字称为 原子。 例如,在德语单词wissenschaftscolleg(理学院 ),原子是Wissenschaft(理科 )和 KollegWissenschaft可切割成Wissen(知识* )和Schaft(*轴使用这个词汇,我们可以很容易地通过找到最长的原子来拆分化合物。**
我们可以用几种方法做到这一点。分解技术应用不同的方法:
更高级的方法使用单词的统计特性。他们查看大量数据中原子出现的频率,只有当整个单词有意义的概率比其各部分的概率低时,才拆分单词。机器学习也被用来解决分解分词问题。在一个关于分解查询词 的引用最多的资源中,作者结合了一个词的统计属性,如在大型语料库中出现的频率和在查询中的共现,并使用 支持向量机(SVM) 将它们结合起来。
最近,研究人员 Martin Riedl 和 Chris Biemann 提出了一种叫做 SECOS 的方法,该方法使用分布式词库上单词和距离的统计属性来将复合词分成可能的和相关的单词。
Algolia 方法: 为分解构建一个好的词典
在 Algolia,速度至关重要。我们不能实现一种会显著降低搜索引擎速度的方法,从而破坏像“随键入搜索”这样的功能。因此,我们不能在查询时使用复杂或繁重的基于机器学习的方法。
考虑到这一点,我们得出结论,一个好的词典是一个高效的分解系统最重要的部分。下面是一个德语测试集的例子,我们使用一个仅由测试集中出现的原子组成的词典来计算下面的度量。通过使用简单的 贪婪最长匹配 算法进行匹配。一半的测试集由不应被分解的单词组成,例如 Handschuh,glove, 其不应被划分为Hand+schuh(Hand+shoe【t 另一半含有应该被分解的化合物。
| 复合 | 翻译 | 分裂 |
| Wissenschaftskolleg | 理学院 | Wissenschaft+kol leg |
| 洪德胡特 | 狗屋 | 洪+胡 |
| 手抖 | 手套 | 手抖 |
| Hinterziehung | *闪避 * | Hinterziehung |
我们使用测试集的所有原子作为我们的词典(例如 Wissenschaft,Kolleg,Hunde ),得到如下结果:
| 方法 | 词汇 | F1-得分 | 精度 | 召回 | 精度 |
| 贪心最长 | 3702 字 | 0.998 | 0.998 | 0.998 | 0.999 |
这是相当可观的,但这是作弊。在现实生活中,我们没有一套完美的原子。例如,如果测试集仅由Hund和hütte组成,那么仅由HundHund和hütte组成的词典将会得到完美的分数,但是在真实数据上它不会表现得很好。
我们需要建立一个更加可靠和详尽的词典。我们的方法包括以下步骤:
- 在我们的目标语言中寻找大量文本
- 提取频繁使用的名词、形容词和动词以创建第一词典
- 根据给定的分数,通过仅保留不能被其他单词分解的单词来修整词典(下面详述)
- 用单词的潜在变化丰富词典
寻找目标语言的大量数据
免费使用、无人监管的文本数据可以从几个来源在线获得。我们喜欢 维基媒体的数据 ,尤其是维基百科和维基新闻的数据。(对于维基百科没有提供足够数据的语言,OSCAR也是一个选项,虽然我们没有用过)。当然,必须通过提取文章的文本,然后使用标准的文本预处理来清理数据,并使用语言分类器来确保我们提取的大多数句子都是所需的语言(在线选项包括【fast text】lang detect,以及CLD 3)。
提取名词、形容词和动词
现在我们有了大量的目标语言文本,我们想在其中找到潜在的原子。我们知道化合物是由名词、形容词和动词组成的,如果我们能在数据中找到常用的名词、形容词和动词,我们就会有一组很好的潜在原子。
为了提取我们的原子,我们使用了词性标注,这是一种将单词与其词性(例如,名词、代词、形容词、副词)匹配的分类任务。幸运的是,有一些图书馆拥有针对几种语言的词性标注训练的深度学习模型。最广为人知的有spaCyStanzaflair,以及trankit。我们还计算了这些潜在原子的出现次数,这在我们的下一步中是有用的。
词条解释是识别一个屈折词的基本形式或字典形式(其词条)。例如, 狗 的基本形态是狗, 的基本形态是 是 be, 和的基本形态是 由于词会受到形态变化的影响,我们将其词条化以得到更详尽的数量。然后我们过滤掉不常用的单词,因为它们可能是噪音或错别字,以及很长的单词,这些单词不太可能是原子。
修剪我们的词库
在这个阶段,我们的词汇由相对频繁使用的名词、形容词和动词组成,我们认为它们是潜在的原子。然而,许多潜在的原子很可能是化合物。为了过滤掉这些不需要的化合物,我们使用了潜在原子的统计特性。如果一个给定的单词可以被其他单词的组合分解,并且这些其他单词的概率的几何平均值(见下文)高于整个单词的概率,我们就把它从我们的词典中去掉。
我们计算潜在原子的概率如下:
其中total word count是我们语料库中的总字数,而word count()在语料库中出现的次数。
我们计算潜在分解 的概率的几何平均值为:
T33
其中 N 是分裂中的原子数。
如果,对于一个给定的词 ,我们可以找到一个拆分的词,其中概率的几何平均值【p】()高于全词的概率【p】(),我们就可以去掉请注意,我们在潜在的拆分中还考虑了特定语言的连接语素。
例如,如果在我们的语料库中,我们有Akustikgitarre50 次,Akustik75 次,Gitarre150 次,总字数为 5 万:
因为Akustikgitarre比Akustik和gi tarre加起来的概率低,我们可以把它从我们的词典里去掉。
丰富了词汇
对于我们的最后一步,我们恢复了我们对引理化所做的。我们有一个内部词形变化词典,列出了几种语言中给定单词的潜在变体。我们用它来把我们原子的所有变体添加到我们的原子词典中。
分解算法
现在我们有了词典,我们可以在索引和查询时对潜在的复合词应用分解算法。不幸的是,使用上述概率的几何平均值的分解在计算上是昂贵的(它产生了指数数量的潜在分裂)。也就是说,如果我们有一个单词,比如Donau dampfschifahrts elektrizitten hauptbetriebswerkbau unterbeamten Gesellschaft,有大约 20 种可能的拆分,我们就必须测试一百万种可能性。所以我们坚持简单的从右到左(从右到左,因为我们所有的目标语言都是左分支),最长匹配算法。这种贪婪算法简单地从单词的末尾开始,尝试匹配我们词典中最长的单词,从右到左增长。然后,它继续搜索单词的剩余部分,直到匹配到单词中的所有原子。我们也允许特定语言的原子间连接语素。
评估分解
我们将我们的结果与 SECOS 的结果进行了比较。 我们的评估指标详见附录。
作为测试集,我们使用了 SECOS GitHub 页面 上提供的德国数据集。基础数据集只提供复合词,不提供不应分解的词(如Handschuh)。
在评估我们方法的精确度时,拥有不应被分解的单词是很重要的。我们利用测试集中不被其他原子分解的至少 7 个字符的原子作为我们不应该被分裂的集合。最终的测试集由 3702 个单词组成,包括 1851 个复合词和 1851 个不应分解的单词。它有点嘈杂,但对于比较方法来说已经足够好了。
通过修改生成的词典的大小(使用词频作为过滤标准)来制作下面的图。请注意,随着词典的增长,召回率会增加(我们能够分解更多的化合物),但精确度会下降(我们开始分解不应该被拆分的单词)。
组合 在通过我们的方法建立的词典上使用上述组合方法(使用几何平均)直到第三点(在用我们的变格词典扩充词典之前)。 贪婪 代表使用同一词典的贪婪方法。 贪婪+替代 是我们的词形变化词典(到第 4 点为止)充实的全词库。注意, 贪婪+另类 的词汇量不对,因为它没有计入附加词形变化。SECOS 词汇表没有变化,我们使用了他们的 GitHub 页面上提供的预训练模型。
再一次,我们不能在实践中使用组合方法,因为它的计算成本。我们的方法( 贪婪+选择 )以快得多的计算时间达到接近的 F1 分数。
你可能已经注意到 SECOS 的结果与研究人员文章中报道的结果并不相似。那是因为我们的评估比他们用的更严格。我们按照一篇关于 复合拆分方法 的文章中定义的评估,认为拆分是错误的,即使它是部分正确的。例如,虽然Wissenschaftskolleg->Wissen+Schaft+kol leg对我们来说是完全错误的,但对 SECOS 的评价却是部分正确的。然而,在德国测试集上使用他们的评估脚本,他们的方法的 F1 得分为 0.87,而我们的方法( 贪婪 + 备选方案 )的 F1 得分为 0.92。
动作中的分解特性
Algolia 支持六种语言的分解:荷兰语(nl)、德语(de)、芬兰语(fi)、丹麦语(da)、瑞典语(sv)和挪威语博克马尔语(no)。要了解更多关于分解的内容,请看一下我们关于分解复合词 的 文档。
生成的词汇对于一般数据来说是很好的,但是我们的许多客户工作在具有非常特殊词汇的利基领域。使用我们的 客户词典 ,你可以以任何你想要的方式强制分解一个给定的单词。
总之
我们证明了找到合适的词典是一个好的分解算法的最重要的部分。我们实现了一种计算好词典的方法,它只需要:
- 大量目标语言文本
- 目标语言的词性标注分类器
- 特定语言连接语素列表
这个词典,结合贪婪的最长匹配分解算法,击败了更复杂的实现,并且没有牺牲查询和索引速度。
从复合语言中分解查询关键字 。E. Alfonseca 等人,ACL-08 会议录:HLT,短文,2008 年。
无监督复合分裂与分布语义的有监督方法 。M. Riedl,C. Biemann,HLT-NAACL,2016 年。
复合拆分的经验方法 。P. Koehn,K. Knight,计算语言学协会欧洲分会第 10 届会议,2003 年。
附录
A.1 措施
为了评估一个分解的质量,我们使用了精确度、召回率、F1 值和准确度的常规测试。对于精确度、召回率和 F1 分数,我们遵循 Koehn 和 Knight 在他们关于分解的大多数论文中使用的定义:
- 正确拆分= #应拆分且被正确拆分的字数
** 错不= #字该拆却未拆
-
错误拆分= #单词本不该拆分却被
-
错了错了= #本该拆分的字,被拆分了,却错了
-
正确=正确泼+正确非
-
错=错不+错拆分+错错
这让我们想到:
我们也认为一个拆分是正确的,如果它匹配期望的拆分+/-连接语素。例如,在分解Adressen Liste时,如果我们找到Adressen+Liste而不是Adresse+list 请注意,我们使用的是严格的评估,因为它认为分割是错误的,即使它是部分正确的。***
通过预测用户的下一个购物阶段来提高您的电子商务投资回报率
当事情井井有条时,我们会有一种特殊的满足感。我们有一种平静的感觉,事情做得很好,如果赌注足够高,我们对人类的希望可能会恢复。
想想这是什么感觉:
- 在你的第一次谷歌搜索中找到你需要的东西
- 找到你看中的打折夹克(而且是你的尺码!)
- 比预期提前收到货物
作为顾客,我们重视这类体验。我们根据对交易的满意度来判断和评估我们购买的品牌和公司。但是当我们转换角色时,从消费者到产品建设者,我们可能会陷入我们的燃眉之急,不知不觉地忘记了创造良好客户体验的重要性。然而,我们的客户永远不会忘记,我们的 KPI 清楚地反映了他们的满意度。
了解客户的需求是你的一张王牌,可以帮助你满足他们(以及你的经理)的期望。
更令人兴奋的是,你可以接触到直到最近只有世界上最大的公司才能负担得起的技术。你可以利用机器学习和人工智能优化将你的营销业绩提升到新的高度。
做出细微的改进产生巨大的影响
一家领先的营销传播机构的首席执行官兼《福布斯》撰稿人乔恩伯德(Jon Bird)表示,对下一阶段营销技术的电子商务预测集中在一个共同的想法上:购物 将更加数字化,但会感觉更加人性化 ,技术将更不可见,但会更加强大 。
使用人工智能对你的客户来说没有什么影响 除非 他们的体验更好、更快、更相关、更令人满意。能够预测他们的下一个购物阶段可以帮助你让他们更容易转变。
您可以为在线购物者提供:,让他们更容易转换
- 定制优惠
- 个性化折扣
- 匹配产品的更多相关建议
- 目标通知
此外,通过细分和锁定更有可能通过您的再营销活动购买的用户,您的营销预算可以获得更高的投资回报率。以下是人工智能如何让整个过程变得更容易、更快、更有效。
吸引你从来不知道想要购买的用户群
为网上购物者打造定制体验的想法并不新鲜。通常,这种类型的个性化会转化为细分。这包括识别客户之间的共同特征,然后根据预定义的用户群锁定他们。
传统上,营销专家依靠创建一个虚构的客户档案来定义一个最有可能转化的理想用户。他们的假设基于从研究和分析中得出的标准,例如:
- 年龄
- 性别
- 位置
- 使用的装置
这种方法已经成为标准;公司倾向于使用类似的策略。标准营销工具箱包括:
- 网络广告
- 电子邮件通知,提示他们完成已添加到购物车或标记为收藏夹的商品的购买
- 折扣率
- 基于规则的行动要求
除了对顾客注意力的高度竞争,这种方法还有其他一些不太明显的缺点。
首先,它完全忽略了离群值:同样致力于购买但不勾选相同复选框的用户。如果你能找到有效接触这些“幽灵用户”的方法,他们会成为你生意的收入来源。
客户细分也有其他缺点:那些符合相同特征(年龄、性别、地点)的人将收到相同的交易或行动号召,而不管他们在购买过程中的哪个阶段:产品页面、添加到购物车、结账等。
将所有用户放在同一个桶中,不管他们的意图如何,这是一个缺点,可能会导致失去机会、浪费金钱,有时甚至会导致沮丧的客户放弃他们的忠诚度,或者减少用户成为忠诚客户的机会。
谢天谢地,人工智能可以在这方面提供帮助,我们提出的细分方法比标准的营销方法更加细致入微。我们不是对客户的个人特征做出假设,而是依靠机器学习来分析他们的浏览活动和历史。我们仍然可以对用户进行相互比较,以确定他们之间的模式,但我们现在也在个人层面上计算他们转换的概率。这就产生了一个瞄准用户的新标准:转换用户与非转换用户。
这可能是如何工作的。
最有可能转化的现货用户
如果你已经在电子商务领域工作了一段时间,你可能会对谷歌分析服务很熟悉。您可以生成活动报告或对用户进行细分,以更好地了解谁在使用您的网站及其原因。此外,在 增强型电子商务 模块中,您可以找到您的销售漏斗概览。漏斗显示在您的 GA 仪表板的购物行为部分,为您提供了一个高层次的视图。但是,它并没有提供任何关于 为什么 有些用户转化而有些不转化的定性信息。
你当然可以在每份报告中挖掘得更深入。例如, 受众>用户浏览器 报告对于分析单个用户的行为特别有用。GA 通过浏览器 cookie 或用户 ID 来识别每个用户,如果您的电子商务应用程序有用户帐户,则可以使用浏览器 cookie 或用户 ID。但是,无论你多么仔细地检查你的 GA 数据,谜团依然存在: 营销人员如何识别即将转化的用户?
利用客户情境预测他们下一步要做什么
我们的假设是,用户的活动和历史是其转化概率的最相关指标。
学习算法基于来自先前会话的信息,通过直接插入数据源来预测用户浏览会话的结果,数据源可以是Google Analyticsfree 或 360、BigQuery 或任何其他第三方分析平台。
AI/ML 不仅仅是将用户分为转化者和非转化者,它还能帮助你实现更具体的目标。这使您能够根据用户最有可能进入的购物阶段来吸引他们。
您可以自动计算客户的概率:
- 继续浏览产品
- 向购物车添加产品
- 结账
- 完成交易
通过比较这些概率,ML 模型可以帮助您确定顾客可能会进入哪个购物阶段。因此,您可以正确地将用户放在相应的细分市场中(例如,那些可能将产品添加到购物车中的用户)。
幕后发生的事情
在后台,我们可以把从 Google Analytics API 中提取的数据分为三类:
- 用户/浏览器: 用户信息(由 cookie ID 标识);包括浏览器和移动设备等详细信息
- 会话: 购物阶段、会话持续时间、交易次数、收入、会话间隔天数等信息
- 点击: 关于浏览、添加到购物车、通过结账处理或购买的产品的详细信息(例如,价格、名称、类别),以及关于来自 Google Analytics 的产品和其他点击事件的详细信息。
用户拥有可变的会话数量,会话拥有可变的点击数。
我们的模型可以有一个递归的架构:它以时间顺序使用数据。会话和命中数据从最早到最新进行组织,并一次一个会话地输入到 AI 模型中。在处理完特定用户的所有会话后,模型会计算每个购物阶段在未来会话中出现的概率。
到目前为止,我们已经用两个归因模型进行了冗长的实验:
- 线性属性建模, 其中一个事务对所有会话同等重要,不管第一个会话和最后一个会话之间经过了多长时间
- 时间衰减属性建模, 通过应用基于会话年龄的半衰期权重,对最近的会话赋予更多价值
一个真实世界的 AI 实验预测下一个购物阶段
为了向你展示这种实际的人工智能应用在现实生活中是如何工作的,我们基于一个家具电子商务网站的数据创建了一个实验。我们的数据来自 24,188 名在线购物者。其中,98 人在最后一次会话中进行了交易。总收入为 151,674 美元,平均交易价值为 1,547 美元。
在现实世界中,每个目标用户都有一个客户获取成本。对于这个实验,我们假设它是 50 美元。我们在下面的计算中没有考虑毛利润。
实验的目的是评估不同靶向方法的效率:
- 其中两个基于上述机器学习模型(两个属性模型)
- 一个随机
- 一种使用统计方法
对于每个场景,我们计算了真阳性(目标正确的用户)和假阳性(目标错误的用户)的百分比。
基于每个用户和他们的历史,我们计算了一个介于 0 和 1 之间的交易概率。如果用户成为目标并进行购买,我们就有了真正的正面信息。如果用户是目标,但没有完成交易,我们有一个误报。
下面是结果的样子:
| 方法 | 进行购买的目标用户(真阳性) | 没有购买的目标用户(误报) | 预计总收入 | 目标成本为 50 美元/用户 | 收入–成本 |
| 随机 | 90.84 | 11949.12 | 102456.14 美元 | 601,998 美元 | -499,541.86 美元 |
| 统计 | 9.99 | 525.12 | 8508.40 美元 | 26755.5 美元 | -18247.10 美元 |
| ML,时间衰减归因 | 20.02 | 135.72 | 21842.74 美元 | 7787 美元 | 14,055.74 美元 |
| ML,线性归属 | 34.04 | 98.93 | 39524.48 美元 | 6648.5 美元 | $ 32875.98 |
使用随机方案,我们得到了最真实的肯定(正确的目标用户),但是高成本意味着利润不在账面上。相比之下,线性模型虽然针对的用户群较小,但误报率较低(0.41%)。从这些预测中,很明显,线性归因是最有利可图的定位方法。
利用购物阶段预测推动电子商务业绩
一旦你有了下一个购物阶段的预测,你可以做很多事情来优化你的电子商务网站和营销流程。 您可以通过以下方式成为顾客更相关、更有帮助的购物目的地:
- 通过根据意图对受众进行细分来改善搜索结果
- 根据意图过滤建议
- 显示带有个性化行动要求的弹出窗口
- 发送个性化电子邮件提醒
- 向更有可能转化的用户进行再营销
使用人工智能即服务平台意味着你可以节省阅读谷歌分析报告的时间。你的团队可以更快地调整并充分利用你的洞察力,而不是停留在汇报会议上。
此外,预测可以通过 API 提供,您可以轻松地将其与您的报告仪表板集成。此外,拥有一个完全自动化模型训练和预测的基础架构是一个可扩展的解决方案。下面是集成在电子商务场景中的工作方式:
- 用户访问您的电子商务网站
- 网站通过浏览器 cookie 识别用户并调用 API
- 返回用户完成交易的概率
- 根据交易概率,网站会显示一个带有个性化信息的弹出窗口,其中可能包括行动号召、折扣代码或创意触发
毫无疑问,AI/ML 是创造更好客户体验的强大驱动力。要实现这一点,你只需要一个开放的心态,并愿意尝试用新的方式来看待你现有的数据。
Algolia 是 Shopify Plus 认证合作伙伴-为商家增加收入
超过 1,500 家 Shopify 商家的搜索使用率有所提高,转化率和收入也有所提高,并且已经能够使用 Algolia 强大的基于 API 的产品创造引人注目的搜索和发现体验。
我们现在加入了 Shopify 的 Plus 认证应用程序计划,让更多的商家更容易上手。作为该计划的一部分,Algolia 将带来更多的功能和服务,指导商家从概念到实施他们的在线商店。
对于任何希望通过极速搜索和尖端内容发现推动客户爆炸性增长的 Shopify Plus 商家来说,Algolia 是您的解决方案!我们的主要重点是让您的内容动起来,这意味着我们可以帮助您将合适的内容连接到合适的访问者,无论规模如何。我们希望减少您的客户寻找所需的时间和尝试次数。这种速度带来了令人愉快的体验,更多的转换,并为您的企业增加收入。
Shopify Plus 商家通过实施 Algolia 激发的体验,取得了改变业务的成功——Gymshark,这是一个在英国不断发展的时尚品牌,收入增加了 400%,转化率增加了 61%,每次交易的收入增加了 24%。Staples Canada和波兰玩具商no ski no ski也经历了非凡的成果,同时获得了更多的洞察力来优化他们的搜索和发现策略。
作为 Shopify Plus 认证合作伙伴, 我们致力于利用以下附加元素提供最佳资源:
- 24/7 支持
- 个性化入职体验(Kickstart 包)
- 独家提前获得测试版功能和黑色星期五缩放比例
有了 Algolia,Shopify Plus 商家获得了优势:
- 通过易于使用的 API****:更快地进入市场商家可以利用 有据可查且灵活的 API迅速过渡到 Algolia。
- 快速高效地部署和扩展:Algolia Search for Shopify Plus 遍布 17 个地区的 70 多个数据中心,速度超快且非常可靠。商家可以放松下来,因为知道 Algolia 可以在像去年黑色星期五和网络星期一这样的销售活动期间处理超过120 亿次搜索 的峰值流量,而没有客户停机时间;事实上,我们帮助我们的商户承受他们的核心平台在这些高峰期间无法处理的负载。
- 与忠诚的合作伙伴建立合作关系 : 与 Shopify Plus 的世界级合作不相上下,此外,商家还将获得专门的计划,以成功加入 Algolia。
如果您希望推动有意义的 探索之旅,同时丰富每位终端用户的体验,请访问 了解更多信息,请访问https://www.algolia.com/search-solutions/shopify/。
使用 Algolia 索引减价内容
原文:https://www.algolia.com/blog/engineering/indexing-markdown-content-with-algolia/
我与 Starschema 全栈工程师 Soma Osvay 合作,写了一个我非常喜欢的项目:开发人员文档。Soma 和我都希望您喜欢这篇文章,其中我们讨论了用例、挑战以及 Soma 提出的实现。
在 Starschema,我们已经完成了许多项目,作为 markdown documentation 咨询的一部分。当我们支持这些现有的解决方案或者想要开发一个新的项目时,我们经常想要搜索所有的文档。我们目前没有解决方案,因为我们必须手动完成这项工作,这耗费了我们很多工时。
用例
我们需要能够搜索与特定主题相关的项目,以检查实现细节,从代码中获得灵感,等等。销售团队还需要一个解决方案来确定我们的团队为某些主题完成了什么样的项目,并能够快速将其传达给潜在客户。对于我们的开发人员来说,拥有类似内部堆栈溢出的东西也很棒,因为我们在 Tableau 中做了很多深入的技术工作。项目经理还需要能够确定哪些员工使用过某些技术,这样他们就可以快速、轻松地得到问题的答案。
简而言之,我们需要能够基于以下属性搜索我们自己的项目:
- 使用的技术(编码语言、数据库等)
- 项目关键字(标签)
- 项目文件本身,如安装说明、技术文件等。
- 项目发生的时间框架
所有这些属性都存在于内部文档降价文件中——我们只需要一种方法来搜索它们。
实施计划
计划使用 NodeJS CLI 作为概念验证,它将:
- 搜索顶级的 GitHub 公共库并获取 README markdown 文件(这将最终代表我们的内部项目)
- 将文档文件与项目的基本信息(标题、编程语言、标签等)一起存储到 Algolia 中
CLI 将包含高级日志记录和命令行参数,以便于使用。我们还想把它放在网上,这样人们就可以试用了。
挑战
眼下最大的挑战是记录的大小——Algolia 最多只允许我们的记录达到 100KB。然而,大多数降价文档文件要大得多。解决方案是我们需要在索引中将 markdown 文件分成多个部分。然后,我们还需要确保当我们搜索某个东西时,单个项目只出现一次——即使它被分成多个记录。
幸运的是,Algolia 有一个独特的功能,所以我们可以很容易地重复这些结果。
索引器实现
为了尽可能简单地使用索引器,我选择为它创建一个 CLI,如上所述。提供所需的参数后,该工具将自动初始化存储库,删除任何现有记录,并配置相关性设置。
为该工具提供动力的是一个简单的 GitHub API,它获取所需数量的顶级存储库,提取它们的所有元数据,并下载 README 文件。它还会过滤掉缺少所有者或缺少自述文件的存储库,为我们提供最佳结果。最后,它还会将 markdown 内容转换为 HTML,以便在前端更容易地呈现。
为了控制记录大小,该工具会自动将超过 50k 个字符的 READMEs 分割成更多的记录。这样,记录不会变得太大,但是一个记录仍然应该服务于几乎所有的存储库。然后,它会将这些信息一次同步到 Algolia 100 条记录,这样我们就可以满足他们的批处理建议,如文档中的这里的所述。
前端实现
作为起点,我利用了 Algolia 发布的 create-instantsearch-app 库,并启动了一个 InstantSearch.js 样板文件。从这里,我可以添加 InstantSearch.js 提供的其他小部件,比如分页和页面大小选择器,它们工作得非常好。
因为我们还通过降价收集了存储库元数据,所以我们还需要定制 hits 组件来包含这些附加信息。通常元数据和库描述一样重要,所以开发人员一眼就能看出它是否是一个流行的库,谁发布了它,标签等等。我还添加了 facets,这样用户就可以通过编程语言、标签或者分叉次数进行过滤。
拼图的最后一块是添加“打开文档”按钮,允许您在不离开应用程序的情况下,在弹出窗口中快速轻松地阅读存储库的降价内容。如果我们点击的记录有多行,它会自动加载额外的记录并将它们连接在一起显示——太棒了!
结论
这个项目是一个有趣的测试,并真正向我展示了 Algolia 对于像我们这样的不同用例是多么灵活。这些现成的小部件在原型制作过程中节省了我大量的时间,并且从最初的几次击键中获得相关的结果给我留下了非常深刻的印象。我还认为,如果我们能够利用 Algolia 推荐的力量,如果我们能够从用户内部点击项目中产生足够多的事件,那将会非常有趣。
你可以点击这里观看 GitHub 测试项目的现场演示,点击一个按钮,你就可以使用默认的演示凭证来查看我们的索引。对后端索引代码感兴趣?你可以在 GitHub 上找到这里的!
我们希望您喜欢来自 Soma 的这篇深入的文章!如果你正在寻找更多这样的内容,我们在 Algolia 工程博客上有更多的主题!如果你是 Algolia 的新手,你可以通过注册一个免费等级账户来尝试一下。
如何以三种方式从 Adobe Experience Manager (AEM)获取数据
企业花费大量的时间和资源开发能够支持产品销售、提升品牌和思想领导力、教育用户或回答常见问题的内容。重要的是,他们可以组织他们的内容,为给定的角色提供最相关的信息。虽然对于营销人员和数字出版商来说,这可能最终是一个手动过程,但 Algolia 等更智能的搜索和发现平台可以使这变得更容易,并推动更强的参与。
Algolia 是一个 API 优先的解决方案,可以轻松地与单片和无头平台集成,包括 Adobe 广受欢迎的 CMS、Adobe Experience Manager (AEM)。随着我们看到越来越多的 Adobe 客户在 AEM 上使用 Algolia 来管理和呈现他们的内容,我们想讨论他们连接这两个系统的三种方式:通过 API、合作伙伴构建的集成和 Algolia Crawler。
Adobe Experience Manager 拥有通过数字渠道管理的所有页面、资产和内容。此外,其他内容可以存储在外部系统中,例如 Zendesk 或电子商务系统,例如 Adobe Commerce。通过将所有内容索引到 Algolia,客户可以轻松创建统一的搜索体验,从而允许他们的客户通过一个搜索栏搜索不同类型的内容。这可能是一个大型 CPG 品牌的所有品牌网站,一个流媒体服务的媒体内容,或者一个设备公司的产品、手册和常见问题。在所有这些情况下,将来自 AEM 和其他平台的所有内容聚合并呈现到一个体验中是非常重要的。此外,所有的内容都以一种高性能的方式呈现,每次击键的结果都在几毫秒内更新。
Pentair 是 B2C / B2B 公司的一个很好的例子,它使用 Algolia 将 AEM 内容和 Adobe 商务产品结合在一起。他们为用户建立了一个漂亮、统一的搜索和发现体验。
我们如何把 AEM 和 Algolia 联系起来?
选项 1: Java API 客户端
作为索引数据的直接方式,Algolia 提供了一个 Java API。 Java API 客户端 是一个开源的、生产就绪的 API 包装器,它从与 Algolia 搜索 API 直接交互的复杂性中抽象出来。例如,它处理网络重试策略、记录批处理和重新索引。因为 AEM 是一个 OSGi 平台,需要一个 uber JAR 作为依赖,所以我们提供了与这些平台兼容的algoliasearch-Apache-Uber。
直接使用 Algolia Java API 可以更灵活地满足您的业务需求。Java API 客户端可能需要额外的投资和时间,但允许您根据自己的内容结构和规范进行定制。利用 AEM 的事件引擎将根据配置中定义的 Algolia 索引的内容变化提供近乎实时的索引。
至于搜索体验,你有两个选择:你可以使用 Algolia 的 API 客户端(Java、JavaScript、PHP 和其他八种语言)中的一种,从头开始开发定制体验;或者,您可以利用 Algolia 的搜索小部件及其 即时搜索 库,可用在 vanilla Javascript、ReactJS、AngularJS 等中。Algolia 的 InstantSearch 库调用 Algolia 最接近的服务器,提供了令人难以置信的快速搜索体验。InstantSearch 小部件可以嵌入到 AEM 组件中,而不是构建自己的 UI 组件,发布者可以使用它在自己的网站上构建搜索体验和结果页面,从而提升网站的性能和速度。
你为什么会选择这种方法
许多客户和 SI /机构合作伙伴选择使用我们的 Java API 客户端和 InstantSearch 库在 AEM 和 Algolia 之间构建定制集成。这种内部解决方案为客户定制数据结构的方式提供了额外的灵活性。
选项 Adobe 体验管理器的 Algolia 索引器加速器
为了加快开发过程,我们构建了一个加速器,利用 Java API 来索引来自 AEM 的数据。可以通过 Adobe Exchange 请求该包,或者您可以在【adobe-algolia-solutions@algolia.com的进行请求。该连接器包括配置模块、将配置分配给内容路径的方法以及触发手动重建索引的重建索引服务。
配置: 在 AEM Author 实例上安装连接器后,作者需要配置索引服务,导航到云服务下的“Algolia”。在那里,您可以为每个站点属性配置索引,包括要索引的字段、属性名称和发布 URL。如果启用了继承,配置控制台将允许继承,以便在祖先节点中找到任何缺失的配置属性。
一旦创建了配置,现在就可以将它们分配给任何级别的站点树。
索引: 索引服务然后在发布事件上索引页面、组件、属性、资产和片段。对于站点的完整索引,连接器在“部署”下提供了 Algolia 索引器控制台。向作者呈现路径查找器来选择开始索引的起始路径。如果选中了“树激活”复选框,索引器将对站点树进行爬网和索引。
页面/资产上的“发布”操作将在页面内容和 Algolia 索引中查找已配置的属性。“取消发布”事件将从 Algolia 索引中删除页面或资产。如果存在的话,可以在发布实例上部署一个额外的服务来检索页面的虚拟 url。
你为什么会选择这种方法
AEM Algolia 连接器将加速 Algolia 的开发周期。只需少量投资和一些定制,这种集成将允许您索引所有内容,并随着每次更改实时更新。
选项三:爬虫
爬虫是 Algolia 专有的自动网络抓取程序。当给定一组起始 URL 和配置好的提取定义后,爬虫会访问这些页面并从中提取内容。然后,它访问链接到这些网页的网址,并为这些网页重复这个过程。只需很少的配置,爬虫就可以通过时间表定期从你的网页中提取内容来为你填充和维护 Algolia 索引。
爬虫可以帮助你从多个站点提取内容,格式化内容,并上传到 Algolia。爬虫:
- 快速聚合您分发的内容
- 自动定期更新您的汇总内容
- 使您能够快速准确地搜索您的记录(并为您的客户提供同样的搜索体验)
对于前端搜索体验,仍然需要创建组件,如 选项 1 所述。使用 Algolia 的 即时搜索库 ,您可以通过将我们预先构建的搜索小部件嵌入到您的 AEM 组件中或使用它们来构建无头前端,从而加快您的搜索体验的交付。
你为什么会选择这种方法
如果您的数据位于 AEM 内部和外部的许多地方,或者如果您没有大量的元数据来对您的内容进行分类,或者如果您的上线时间很短,您可以考虑使用爬虫作为一种有效的方法来将您的数据索引到 Algolia 中,并根据站点结构用类别标记每条内容。
结论
一旦您将 AEM 内容编入 Algolia,您将使其更容易被发现,并可以开始配置您的相关性和排名顺序,以及 A/B 测试,以了解如何在您的内容上获得最大的参与度。我们期待听到您关于哪种索引方法最适合您的意见,以及您希望与社区分享的任何反馈或最佳实践。在 adobe-algolia-solutions@algolia.com联系我们。
查看我们“Algolia x Adobe Integrations”系列的下一篇博客,了解如何利用 Algolia 中的 Adobe 发布活动和 Adobe 分析指标来增强您的搜索结果!
将 OCR 集成到搜索包标签扫描应用程序中
原文:https://www.algolia.com/blog/engineering/integrate-ocr-into-search-in-a-package-label-scanning-app/
在没有 T2 的情况下,使用搜索栏来查找难以找到的信息听起来有些矛盾,但是以包装标签为例。快递公司以许多不同且不可预测的方式构建标签信息。通常,我们只是自己阅读标签并找到相关信息——在这种情况下,包裹是给谁的。但是我们更喜欢将 OCR 集成到搜索中。
但是,如果有成千上万的标签,所有的结构都不一样——不同的内容,有时是手写的,几乎不可读的灰色阴影,奇怪的文本方向,随机的线条,图形,污迹和撕掉的角落,会怎么样?OCR 有帮助吗?
光学字符识别(OCR)尽最大努力从图像中提取文本,但产生的文本通常很大且无结构。此外,如果 OCR 软件不能破译一些字母,文本将有错别字。
这就是集成搜索技术的用武之地。具有健壮的、适应性强的相关性的搜索引擎可以将 OCR 的非结构化文本与结构化数据集进行匹配,并返回正确的结果。
将 OCR 集成到搜索中
我们将搜索引擎整合到两项技术中:
本质上,我们扫描了一个标签,并使用谷歌云视觉 API 将标签转换为文本。然后,我们将不可预测的输出输入到搜索引擎中,搜索引擎将它与 BambooHR 的结构化数据进行匹配,找到并返回收件人的姓名。重要的是,我们不需要预处理或解析输入数据。这个工作流程也可以用于贴纸、邮票,甚至墙上的电影海报。
在线零售商和媒体公司正在利用这种 OCR +搜索集成来查询他们的后端系统。
我们的故事:为什么我们需要将 OCR 集成到搜索中
每天,Algolia 的员工都会在巴黎办公室收到大量包裹。我们办公室的协调员久美子一直在照顾他们。每当有新包裹到达,久美子就会搜索标签,找出是给谁的,然后找到 Slack 上的人,让他们知道他们的包裹正在前台等待。
但是阿尔戈利亚发展迅速。Kumiko 开始花费越来越多的时间来手工处理包裹分发。在节日期间,它变得非常难以控制
显然,手动搬运不成规模。我认为应该有一种 更快、更容易、可扩展的方式来帮助分派包裹。我决定为它建立一个 web 应用程序。我的目标是尽可能地自动化这个过程,从扫描标签到通知人们有空闲时间。
我最初想到使用条形码。不幸的是,我很快发现条形码不包含与二维码相同的数据。很多时候,它们只包含标识符。这些数字旨在查询私有运营商 API 以获取包裹的详细信息。
所以我决定用光学字符识别引擎(OCR)读取包裹标签,并将 OCR 文本按原样发送给搜索引擎,将其与索引中的正确记录进行匹配。
第一步:寻找合适的 OCR 软件
有几个处理 OCR 部分的开源库。最受欢迎的是 宇宙魔方 。但是,您通常需要对图像 执行 一些预处理,然后再将其发送到 Tesseract 以识别字符(例如,去饱和、对比度、去倾斜)此外,我们收到的一些包裹标签是手写的!宇宙魔方不擅长读手写的字。
谷歌的 视觉 API 提供 OCR 功能,所以我决定试一试。除其他外,它规定:
- 每月 1,000 次免费 API 调用(这足以启动)
- 手写字符检测
我们将在第 3 步中看到它是如何工作的。首先,让我们看看将 Algolia 搜索与 OCR 集成的代码。
第二步:创建 React app
我创建了一个 React app,安装了React web cam组件来访问设备的摄像头。在内部,React 组件利用了getuser media API。
一旦用户用手机捕捉到标签,应用程序会将其发送到快递后端。这负责将 base64 编码的图像代理到 Google Vision API。然后,Vision 返回一个 JSON 有效负载,其中包含文本形式的数据。
// Initialize the Google Cloud Vision client
visionClient = new vision.ImageAnnotatorClient();
// Ask Vision API to return the text from the label
// https://cloud.google.com/vision/docs/ocr
const [result] = await visionClient.textDetection({
image: {
content: labelImage.data, // Uploaded image data
},
});
const detections = result.textAnnotations; // This contains all the text
const labelText = detections[0].description.replace(new RegExp("\n", "g"), " "); // Replace the line breaks by a space
第三步:用谷歌视觉 API 读取标签
以下是谷歌视觉给我们的信息(以及我们最终将作为查询发送给搜索引擎的信息):
ORY1\n0.7 KG\nDENOIX Clément\nALGOLIA\n55 rue d'Amsterdam\n75008 Paris, France\nC20199352333\nDIF4\nCYCLE\nlove of boo\nAnod
如你所见,lAbel 并不漂亮。它们包含许多噪音。相关信息就在那里的某个地方,被其他数据包围着。它们包含与递送人相关的字符,例如标签号、发件人地址等。此外,顺序并不一致,信息也不总是完整的,所以在发送给 Algolia 之前,我们不能依靠单词排序或元素位置来提取相关部分。我们将在步骤 5 中完成。首先,让我们看一下将要搜索的后端数据。
第四步:数据索引 BambooHR 的后端数据
这部分不需要提供任何代码。索引来自其他系统的数据是所有搜索引擎的基础。其思想是从一个或多个系统中获取 相关的 数据,并将其全部推入一个称为索引的独立数据源。它在后端运行,运行频率与数据不断变化的性质相匹配。请注意,搜索引擎只需要一些与搜索目的相关的数据,用于查询、显示、排序和过滤。
Algolia 的 API 提供了更新方法来实现这一点。我们的文档提供了关于如何发送数据的教程。
第五步:用 Algolia 搜索
如你所见,谷歌的视觉应用编程接口给了我们大量的信息。但是搜索引擎怎么定位名字呢?
幸运的是,Algolia 搜索 API 有一个有趣的参数:removeWordsIfNoResults
。
当您将此参数设置为 allOptional
并且引擎未能找到原始查询的任何结果时, 将进行第二次尝试, 将所有单词视为可选。这相当于将单词之间隐含的AND
运算符转换为OR
。
// Initialize the Algolia client and the Algolia employees index.
const algoliaClient = algoliaearch(process.env.ALGOLIA_APP_ID, process.env.ALGOLIA_API_KEY)
const index = algoliaClient.initIndex(process.env.ALGOLIA_INDEX_NAME);
// Search our employees index for a match, using the `removeWordsIfNoResults=allOptional` option.
// https://www.algolia.com/doc/api-reference/api-parameters/removeWordsIfNoResults/
const algoliaResult = await index.search(labelText, {
'removeWordsIfNoResults': 'allOptional'
})
注意,labelText
包含了 Google Vision API 返回的没有任何预处理的字符串(除了去掉'\n’
)。我已经突出显示了搜索引擎从标签上的噪音中抽出的 名称(DENOIX Clément
)——大海捞针:
ORY1 0.7 KG DENOIX Clément ALGOLIA 55 rue d'Amsterdam 75008 Paris, France C20199352333 DIF4 CYCLE love of boo Anod
通常,该参数有助于 在查询过于严格 时改善结果。在我的情况下,它允许我发送未经处理的提取数据。我能够信任 Algolia 引擎“忽略”查询中无关的单词,只考虑重要的单词。
{
"displayName": "Clement Denoix",
"firstName": "Clement",
"lastName": "Denoix",
"location": "Paris",
"slack": {
"id": "U0000000",
"handle": "clement.denoix",
"image": "https://avatars.slack-edge.com/2018-04-03/340713326613_2890719b5a8d4506f30c_512.jpg"
},
}
只剩下几个步骤:从 Algolia 搜索结果列表中提取第一个匹配项并显示出来。从那里,我们的办公室经理可以确认结果,并自动向正确的员工发送 Slack 消息。
这是该应用的完整流程图:
如此处所示:我们拍下包装标签的照片。该应用程序通过 Express 后端将其发送到 Google Vision API。Google Vision 返回一个包含已识别文本的 JSON 有效负载,后端将其作为搜索查询发送给 Algolia。搜索引擎使用 removeWordsIfNoResults
选项来确保匹配成功。Algolia 然后返回一个匹配记录的列表,后端从中提取第一个命中的记录,并将其返回给 React 应用程序。
结论&下一步
Algolia 强大的搜索引擎不仅限于搜索框。凭借想象力,您可以将 Algolia 的使用远远超出盒子的范围,并解决各种问题。
标签读取只是 OCR 集成的一种。有图像识别,在线零售商可以从图像中识别服装的类型、风格、颜色和尺寸。还有语音识别,网站可以与人们说话的非结构化方式互动。
有很多方法可以做到这一点。在这种情况下,我们使用搜索引擎的内置功能来实现这一点,这些功能使它能够根据非结构化查询数据的多样性和不可预测性来调整其相关性算法。下一步是将人工智能和机器学习结合起来,使搜索引擎的适应性和用例范围更大。*
使用 Apollo 客户端将第三方 API 集成到 graph QL
要将快速且功能丰富的第三方 API 添加到任何代码库中,开发人员需要在一个旨在包含这些自给自足的 API 的生态系统中工作。
开发人员还需要依靠像带有 Apollo Client 和 React 的 GraphQL 这样的技术来帮助他们管理各种功能和数据源。
在大多数情况下,GraphQL 是天赐之物。作为一个灵活的数据层,它有助于集中和标准化后端和前端之间的数据交换。
然而,要求所有数据交换都流经 GraphQL 有时会阻碍外部 API 发挥其作为关键功能组件的全部潜力。在我们的例子中,我们希望集成一个基于云的搜索 API,它的性能远远优于 GraphQL。
我们在本文中解决的问题是,你如何使用一个独立的外部 API,与 GraphQL — 并行,也就是说,不通过 GraphQL。
为什么我们决定用 Apollo 客户端绕过 GraphQL,以及我们如何实现互操作性
我们将本文分为两部分:
- 解释为什么我们决定绕过 GraphQL 来允许我们的前端直接调用外部 API 的云服务
- 我们用来构建外部 API 和 GraphQL 与 Apollo 客户端之间的互操作性的代码
请随意跳到代码。但是背景故事可能会帮助那些面临同样问题的人:如何将 GraphQL 与提供自己数据集的自给自足的 API 结合起来?
为什么是 GraphQL?为什么是外部搜索 API?
说我们的在线服务是数据密集型的是一种保守的说法。Openbase 帮助开发者找到完全符合他们需求的开源库和包。他们可以使用强大的指标和用户评论来搜索和比较开源包。这些信息有很多来源,包括 Github 和我们自己的数据库。
还有其他的担忧:
- 每周下载量
- 维护
- 捆绑大小
- 分门别类
使用 GraphQL 与 Apollo 客户端
Openbase 是一个 GraphQL 商店。我们用[@apollo/client](https://openbase.com/js/@apollo/client)
访问数据,用 React
进行渲染。我们的许多 React 组件都是使用 @apollo/client#readFragment
从我们的 GraphQL api 引用数据构建的。这使得我们的组件与@apollo/client
和 GraphQL 紧密耦合,与其他数据源的可重用性更低。
示例:
PackageTile.tsx
的代码:
import { useApolloClient } from '@apollo/client'
import React, { FC } from 'react'
// Generated using GraphQL Code Generator
import { AlgoliaProductFragment, AlgoliaProductFragmentDoc } from '@openbase/graphql'
interface PackageTileProps {
packageId: string
}
const PackageTile: FC<PackageTileProps> = ({ packageId }) => {
const apolloClient = useApolloClient()
const packageFragment = apolloClient.readFragment<AlgoliaProductFragment>({
fragment: AlgoliaProductFragmentDoc,
id: `Package:${packageId}`
})
return (
<div>
<div>{packageFragment.name}</div>
<div>{packageFragment.description}</div>
<div>{packageFragment.bundleSize.gzipSizeInBytes}</div>
</div>
)
}
使用第三方、基于云的搜索 API 构建搜索
有了这些数据,搜索对我们的业务是必不可少的。我们的开发者用户从搜索栏开始。但是他们做的不止这些——他们分类、过滤、浏览多个结果和分类页面,所有这些都来自外部搜索 API。最重要的是,我们的产品提供评级和推荐,并允许用户个性化他们最喜欢的语言的结果。这些额外的功能大部分直接来自外部搜索 API 的结果,结合我们自己的数据源,可以通过 GraphQL 访问。
这两个选项用于组合 GraphQL 和一个外部搜索 API
有两种互斥的方法可以将外部 API 集成到 GraphQL 前端层:
1.使用前端的 API 作为@apollo/client
2 旁边的辅助数据源。使用我们的 GraphQL API 后面的后端 API,并维护一个前端数据源
选项 1——绕过 GraphQL 的原因
由 Algolia 提供的外部搜索 API快速,在用户输入时即时显示搜索结果。将 Algolia 放在我们的 GraphQL API 后面会成为搜索的瓶颈,大大降低搜索速度。
- Algolia 的 API 显示超过 300,000 个请求的平均搜索速度为_ 32 毫秒(在撰写本文时)
- 我们的 GraphQL API 请求有时需要 100-200 毫秒
相比之下,这种延迟是站不住脚的。
为了获得额外的速度,这对我们的产品至关重要,我们真的需要直接调用 API。
选项 2–将外部 API 置于 GraphQL 之后的原因
对于绕过 GraphQL,我们有两个顾虑:
- 缓存。构建在 GraphQL 缓存上的现有组件不知道通过我们的搜索 API 检索到的记录。
- 无图式。搜索 API 的记录是无模式的。它的索引是平面的,包含搜索、显示和排序所需的最小属性集。虽然对于速度、相关性和可伸缩性来说是必要的,但是一个平面的、无模式的数据集不容易与我们的 GraphQL 模式中的对象类型相一致,而我们的组件是建立在该模式之上的。
此外,将搜索功能放在 GraphQL 的后面,将搜索结果集成到前端组件中,正好可以脱离 GraphQL 的框架:前端只是向 GraphQL 发出请求,检索相同的对象类型,开发人员的体验保持一致。
决定
因此,我们面临以下选择:要么选择更简单的解决方案(将 API 插入 GraphQL ),要么再努力一点,从 API 中获得我们期望的全部功能。
我们毫不犹豫地决定为用户提供即时搜索结果。
我们如何将外部 API 集成到我们的 GraphQL 前端组件中
Algolia 使用不属于 GraphQL 层的索引。从这一点开始,我们将引用 algolia
。
我们的 GraphQL 客户端叫做@apollo/client
。
基于以上考虑,我们引入了一个algolia-to-@apollo/client
互操作层,这样我们就能够:
- 直接在前端使用 API(以保持快速)
- 使用我们现有的针对 GraphQL 构建的 react 组件来维护与我们应用程序的其余部分一致的开发人员和用户体验
在高层次上,互操作性是这样工作的:
- 从
algolia-indices
查询记录 - 使用自定义映射函数和从
@graphql-codegen/cli
生成的 GraphQL 片段将记录中的数据写入我们的@apollo/client
缓存 - 所有组件都使用 GraphQL 从
@apollo/client
的缓存中读取数据
下面是我们如何建立我们的指数来实现这一点(用[typescript](https://openbase.com/js/typescript)
建立):
algoliaToGraphQL.tsx
的代码:
import type { ObjectWithObjectID, SearchOptions, SearchResponse } from '@algolia/client-search'
import type { RequestOptions } from '@algolia/transporter'
import type { ApolloClient, DocumentNode } from '@apollo/client'
import type { SearchClient, SearchIndex } from 'algoliasearch'
// Narrowly type our indices for intellisense
export type AlgoliaTypedIndex<TRecord> = Omit<SearchIndex, 'search'> & {
search: (query: string) => Readonly<Promise<SearchResponse<TRecord & ObjectWithObjectID>>>
}
// Define the schema for configuring the custom mappings
export interface AlgoliaToGraphQLFieldConfig<
TIndex extends ObjectWithObjectID,
TFragment extends Record<string, any>
> {
__typename: string
fragment: DocumentNode
fragmentName?: string
id?: (value: TIndex) => string
write: (value: TIndex) => MaybePromise<Maybe<TFragment>>
}
// Define how the custom mapping will type-translate to narrowly-typed indices
export interface AlgoliaToGraphQLFields {
[indexName: string]: AlgoliaToGraphQLFieldConfig<any, any>
}
export type AlgoliaToGraphQLResult<T extends AlgoliaToGraphQLFields> = {
[P in keyof T]: T[P] extends AlgoliaToGraphQLFieldConfig<infer I, any>
? AlgoliaTypedIndex<I>
: never
}
// Create algolia-indices that will inject hits data to our `@apollo/client` cache
const createIndex = async <
TIndex extends ObjectWithObjectID,
TFragment extends Record<string, any>
>(
algolia: SearchClient,
apollo: ApolloClient<object>,
name: string,
config: AlgoliaToGraphQLFieldConfig<TIndex, TFragment>
): Promise<AlgoliaTypedIndex<TIndex>> => {
const {
__typename,
fragment,
fragmentName,
id = (value) => `${__typename}:${value.objectID}`,
write,
} = config
const writeFragment = async (value: TIndex): Promise<void> => {
const fragmentData = await write(value)
!!fragmentData && apollo.writeFragment<TFragment>({
fragment,
fragmentName,
data: { __typename, ...fragmentData },
id: id(value),
})
}
const index = algolia.initIndex(name) as AlgoliaTypedIndex<TIndex>
return {
...index,
// Override search to write everything into cache.
async search(query, opts) {
const result = await index.search(query, opts)
await Promise.all(result.hits.map(async (hit) => writeFragment(hit)))
return result
},
}
}
// Generate all of the new algolia indices from a config
export const algoliaToGraphQL = async <T extends AlgoliaToGraphQLFields>(
algolia: SearchClient,
apollo: ApolloClient<object>,
config: T
): Promise<AlgoliaToGraphQLResult<T>> => {
const indices = await Promise.all(
Object.entries(config).map(async ([indexName, fieldConfig]) => {
const index = await createIndex(algolia, apollo, indexName, fieldConfig)
return [indexName, index] as readonly [string, AlgoliaTypedIndex<any>]
})
)
return indices.reduce(
(acc, [indexName, index]) => ({ ...acc, [indexName]: index }),
{} as AlgoliaToGraphQLResult<T>
)
}
一旦我们有办法将 algoliasearch
数据注入到我们的@apollo/client
缓存中,我们只需键入 Algolia 记录的形状,定义要写入的 GraphQL 片段,将记录映射到片段,并构建新的索引。
types.ts
的代码:
import type { ObjectWithObjectID } from '@algolia/client-search'
// Types for our algolia records (for demonstration only)
interface BaseAlgoliaTypes {
AlgoliaProduct: {
name: string // String!
description?: Maybe<string> // String
bundleSize?: Maybe<number> // Int
starRating: number // Float!
}
}
export type AlgoliaTypes = {
[P in keyof BaseAlgoliaTypes]: BaseAlgoliaTypes[P] & ObjectWithObjectID
}
用于映射的 GraphQL 片段的代码:
fragment AlgoliaProduct on Package {
id
name
description
bundleSize {
gzipSizeInBytes
}
starRating
}
indices.ts
的代码:
import type { ApolloClient } from '@apollo/client'
import type { SearchClient } from 'algoliasearch'
import { algoliaToGraphQL, AlgoliaToGraphQLFieldConfig } from './algoliaToGraphQL'
import type { AlgoliaTypes } from './types'
// Generated using GraphQL Code Generator
import { AlgoliaProductFragment, AlgoliaProductFragmentDoc } from '@openbase/graphql'
// Map algolia package records to our `AlgoliaProduct` fragment in GraphQL
const packages: AlgoliaToGraphQLFieldConfig<
AlgoliaTypes['AlgoliaProduct'],
AlgoliaProductFragment
> = {
__typename: 'Package',
fragment: AlgoliaProductFragmentDoc,
write(value: AlgoliaTypes['AlgoliaProduct']): AlgoliaProductFragment {
return {
id: value.objectID,
name: value.name,
description: value.description,
bundleSize: {
gzipSizeInBytes: value.bundleSize,
},
starRating: value.starRating,
}
},
}
// Create all of our indices
export const getIndices = (algolia: SearchClient, apollo: ApolloClient<object>) => {
return algoliaToGraphQL(algolia, apollo, {
packages,
// Different sortings using algolia virtual replicas
packages_by_bundleSize_desc: packages,
packages_by_starRating_desc: packages,
})
}
AlgoliaApolloProvider.tsx
的代码:
import { useApolloClient } from '@apollo/client'
import algolia from 'algoliasearch'
import React, {
createContext,
FC,
ReactNode,
useContext,
useEffect,
useState
} from 'react'
import { getIndices } from './indices'
export type AlgoliaApolloContextIndex = InferFromPromise<ReturnType<typeof getIndices>>
const AlgoliaApolloContext = createContext<Maybe<AlgoliaApolloContextIndex>>(null)
export interface AlgoliaApolloProviderProps {
children?: ReactNode
}
// Wrap your application with this, to be able to use the interoperability anywhere
export const AlgoliaApolloProvider: FC<AlgoliaApolloProviderProps> = ({
children,
}) => {
const [index, setIndex] = useState<Maybe<AlgoliaApolloContextIndex>>(null)
const apollo = useApolloClient()
useEffect(() => {
const newClient = algolia(process.env.ALGOLIA_APP_ID, process.env.ALGOLIA_API_KEY)
getIndices(client, apollo).then((newIndices) => setIndex(newIndices))
}, [apollo])
return (
<AlgoliaApolloContext.Provider value={index}>
{children}
</AlgoliaApolloContext.Provider>
)
}
// Hook to use in any component that needs to search algolia
export const useAlgoliaIndex = () => useContext(AlgoliaApolloContext)
从这一点开始,每当搜索 Algolia 时,使用@apollo/client
缓存的组件将开箱即用:
import { NextPage } from 'next'
import React from 'react'
import { useAlgoliaIndex } from './AlgoliaApolloProvider'
const Page: NextPage = () => {
const index = useAlgoliaIndex()
const [hits, setHits] = useState<any[]>([])
useEffect(() => {
index?.packages
.search('react', { length: 20, offset: 0 })
.then((results) => setHits(results.hits.slice()))
}, [index])
return (
<div>
{!!hits && hits.map((hit) => (
<PackageTile key={hit.objectID} packageId={hit.objectID} />
))}
</div>
)
}
export default Page
这样,我们实现了我们为快速搜索设定的目标,开发人员和用户体验与 Openbase 的其他部分保持一致。我们修改的索引的 API 与来自algoliasearch
的未修改的索引相同,并且我们的组件可以保持不变 — 特定于我们的单个@apollo/client
数据源。
想出一套高质量和相关的 Github repos 是一个无限的挑战。Algolia 的algoliasearch
为 Openbase 消除了一个显著的复杂性,以构建一个允许用户找到满足其需求的最佳开源工具的体验。GraphQL 商店采用的集成 Algolia 或任何其他 API 的方法可能取决于您自己的要求和条件。
通过搜索微服务 发现难以访问的媒体档案
《华盛顿邮报》 每天发布大约 1200 篇报道、图片和视频 。你没看错:每天有 1200 条内容。这相当于每年将近 50 万条内容。这是一个多产的产品,但没什么不寻常的。《华尔街日报》和《纽约时报》每天都会发表大约 240 篇文章和博客文章。BuzzFeed 是一家以高产出闻名的公司,每天发布 220 篇文章、博客、文章和视频。
重点是:报纸产生了大量的材料。不仅仅是报纸。大多数媒体公司—无论是广播、新闻、出版物、音频还是流媒体—都制作和管理着庞大的内容库。他们的档案通常保存在自制的内容管理系统(CMS)上,这是有充分理由的。
媒体公司有非常特殊的需求:特定的内容目录、独特的编辑工作流程和特定的出版策略。几乎没有现成的解决方案既强大又灵活,能够满足所有需求。所以公司建造,而不是购买。以生产出版为目的,他们自建 CMS 做工作。但是他们无意中把内容锁在了不可访问的档案中。
自建平台内的原生搜索一直很差。相关性不够,用户界面拥挤,高级功能缺乏——如果有的话。通常,搜索功能将在简单的关键字匹配上运行,这对于小型搜索索引来说很好,但对于庞大的媒体库来说不太合适。
假设一名记者每周写一篇关于他们国家低碳技术的更新。如果他们在自己的 CMS 上搜索 低碳 ,一个基本的关键词搜索就会返回成百上千个结果。《卫报》上的一个快速实验显示了超过 32,000 个结果。这种高压手段会产生太多的结果,无法人工筛选。除非有问题的记者中了头彩,否则他们不会偶然发现他们要找的东西。但是过时的搜索技术并不是唯一的挑战。数据一致性也加重了内部搜索的负担。
很少有媒体公司在内部制作所有内容。报纸刊登来自外部记者的电讯报道。杂志刊登来自合作伙伴出版物的联合报道。电视网从无数制作公司购买节目。音乐流媒体服务合并了数百家独立唱片公司的回溯目录。毫无疑问,每个源都有不同的元数据结构。也不能保证创作者(记者、电影制作人、编辑)会坚持他们的内部结构。不一致的元数据意味着不能保证您搜索的是整个内容库。
对于许多媒体公司来说,这两个挑战(搜索技术和元数据一致性)使得内部搜索不可靠,甚至误导和虚假。但是这有什么关系呢?
时间、生产率和影响
回想一下那位记者报道的 低碳技术 。这是一篇简单、直白的文章,但是有很多丰富的机会。记者可以附上一张图表,显示各行业的低碳推广统计数据,或者嵌入他们最近对一位生物技术专家的采访。他们可以链接到早期的建模项目,或者交叉链接到关于脱碳策略的意见文章。
但是记者只能做到 如果 他们能在他们的档案中找到旧的内容。
动力不足的搜索以三种方式伤害组织。
第一,员工损失时间。如果一个旧的内容对于一个新的故事来说是必要的,那就不要无休止的滚动和搜索,一页接一页,一个接一个的搜索。人们通常会求助于在谷歌上使用站点搜索操作符查询(site:example.com“搜索术语”)。请记住,我们谈论的是高技能、有创造力的专业人士——记者、电影制作人、编辑等等。组织真的想付钱给他们,让他们花时间在琐碎的信息收集任务上吗?几乎可以肯定不是。
第二个后果是生产率下降。当员工在寻找工作上浪费时间时,连锁效应会更加广泛。吃力地浏览没完没了的搜索结果是令人沮丧和耗费精力的。它让人们感到脱离和缺乏灵感。在竞争残酷的媒体世界里,这是你最不想要的事情。
最后,公司失去了发挥影响力的机会。媒体公司就像冰山:你只能看到它们质量的一小部分。《华盛顿邮报》每天发表 1200 篇报道,但其档案却有数千万条。面对一个不成熟的搜索功能,很多人会走开,放弃重用、丰富和添加的机会。再想想那些放弃寻找完美图表的记者。这是一种巨大的浪费。这意味着媒体公司正在让他们的档案无所作为、无效、闲置和无利可图。
但是搜索并不一定是一个阻碍者。
事实上,现代搜索服务可以释放媒体库和档案,让信息和内容触手可及。
你的技术栈。更好的搜索技术。
搜索和发现的未来不在于改进 CMS 的原生搜索。不可能建立一个现成的平台来满足每个人的需求——更不用说一个具有强大搜索功能的平台了。相反,像《泰晤士报》和 POLITICO 这样的领先媒体公司正在转向像 Algolia 这样的搜索微服务。
将微服务视为可以附加到现有技术的构建模块。他们扩大你的内容管理系统的狭窄功能,而不是大规模取代它。这意味着你可以在不中断编辑工作流程的情况下革新你的内部搜索(也可能是面向用户的搜索)。
考虑一下欧洲政治。早在 2010 年,他们就推出了 POLITICO Pro,整合新闻、数据和工具,为政策专业人士提供实时情报和分析。该平台每天发布 500 篇文章,面临着与大多数媒体公司相同的挑战:如何以这样一种方式管理如此庞大的内容库,使其易于访问?
长话短说,他们为客户部署了现代搜索微服务。它与他们现有的技术堆栈相集成,统一了他们的媒体库,并允许用户一次查询多个内容索引。一夜之间,付费用户获得了一种直观有效地搜索“2400 万张选票、70 万条修正案、1.6 万名立法者和 700 万个可搜索项目”的方法。但有趣的是:开始使用这项服务的不仅仅是 POLITICO Pro 的付费用户。
POLITICO Europe 的工作人员记者开始利用新的搜索功能来了解该平台庞大的档案。突然之间,他们可以让长期丢失的洞察力和曾经隐藏的数据点浮出水面。这有助于他们更好更快地完成工作。
这是搜索的未来。类似于我们在关于后台搜索的文章中描述的,它创造了一种类似谷歌的体验——只是更好。第三方搜索引擎拥有、控制和隐藏搜索算法。你受到他们的突发奇想和实验的支配。另一方面,搜索服务向你揭示了机器和手控的内部工作原理。如果你想优先考虑最近,你可以。如果你想推广某些来源的内容,你可以。如果你想按受欢迎程度排列作品,你可以。你控制着搜索体验。
授权人类主导创作
媒体处于人类主导和机器主导创作的十字路口。虽然算法和自动推荐已经彻底改变了内容发布,但让人类控制仍然有一些神奇之处。媒体公司需要加倍努力,让员工能够搜索他们的媒体库和有价值的内容。我们已经拥有这样做的技术。所需要的只是敢于冒险的领导力。
如何分析你的内部网站搜索数据
原文:https://www.algolia.com/blog/product/internal-site-search-analysis/
您上一次对网站进行站点搜索分析是什么时候?如果你的答案是“永远不会”,你不是唯一一个。很少有公司投入资源挖掘网站搜索数据。但即使你不是一个人,你也肯定错过了。每次访问者搜索你的网站,他们都会产生大量有用的数据,这些数据可能会回答你迫切的问题。
什么是站点搜索分析?
网站搜索分析是对您网站上访问者搜索行为的详细检查。这些行为包括关键字和关键短语搜索、过滤器和方面选择以及搜索建议点击。这种分析可以通过专门的网站搜索分析仪表板来完成。
有了网站搜索分析,你就能根据你不断发现的用户信息,每周甚至每天改进你的网站。例如:
- 零售和电子商务网站 可以发现本周最受欢迎的商品,并让它们出现在更多的搜索中。
- 媒体网站可以发掘热门话题,开发更能引起用户共鸣的内容。
- 几乎任何类型的网站都可以根据最新的用户洞察来改进设计和功能。
分析是实现这些改进的关键步骤。但这只是它能让你做的事情的开始。
网站搜索分析能产生影响的 6 种方式
站点搜索分析的优势是巨大的。它提高了销售额和盈利能力,增强了竞争力,并促进了长期客户满意度。以下是分析你的网站搜索对你的业务产生影响的六种方式:
揭示你的站点搜索质量
一旦你开始查看你的数据,你可能会惊讶于使用你的网站搜索 和 的访问者的比例。如果访问者在搜索后立即离开,这清楚地表明他们的需求没有得到满足。你可以也应该致力于改进搜索功能。
揭开你的用户和他们的用户意图
每次你网站的访问者在搜索栏中输入一些东西或应用搜索过滤器,他们都在告诉你 关于他们想要什么的有价值的信息 。了解客户对任何企业或网站的成功都至关重要,对市场细分等营销工作尤其有益。
提升用户体验(UX)
当访问者搜索和浏览你的网站时,他们会留下痕迹,表明有多容易(或多难!)是为了找到他们想要的东西。你可以利用这些线索来微调你的网站,调整设计以提供最【UX。现在,您可以确保浏览您的网站是直截了当和直观的访问者。
提高转化率
转化率与站点搜索 之间的 联系由来已久。运行网站搜索的网站用户比不运行网站搜索的用户更有可能转化。在实施网站搜索解决方案后,Lacoste 将其转化率提高了 37%,其搜索销售额提高了 150%。但要实现这些高转化率,你需要洞察客户意图,以确保你的搜索功能得到完美调整,并引导访问者到正确的地方。
降低跳出率
KISSmetrics 发现,在一次不满意的搜索后,12%的网站访问者会离开并选择竞争对手的网站。网站搜索分析数据可以帮助您优化搜索结果的准确性和速度。
增强 SEO 力度
虽然网站搜索分析并不是为了 SEO 工具而设计的,但它对 SEO 有着的间接积极影响。实施来自网站搜索分析的见解支持了 UX,而且由于谷歌偏爱具有优秀 UX 的网站,所以一些排名最高的网站也很容易搜索就不是巧合了。
如何分析你的站点搜索
因为每个网站和客户群都是不同的,所以对于一个企业来说,根据他们的网站搜索分析采取行动并不只有一种“正确的方式”。
有很多东西需要学习,但在开始之前,你需要在你的网站搜索平台的仪表板中设置跟踪分析。这将允许您分析您的站点搜索的性能。
一旦你做好了准备,你就可以开始使用对任何网站都有益的网站搜索策略了。这里有一些网站搜索分析提供的内容和搜索配置的提示。
提高内容搜索的技巧
现代营销人员明白 高绩效内容 的重要性。但是,即使你的内容团队在你的网站上放满了业内最高质量的文章、信息图表和视频,如果它们不符合客户需求或者找不到,这些资产也没有价值。为了弥合你和你的网站访问者之间的差距,你需要检查他们的搜索行为并采取行动。
围绕关键词优化内容
你越是使用网站搜索分析来继续了解你的客户和客户意图,你就越能更好地制作迅速出现在他们搜索结果中的内容。包括用户搜索的关键词和关键短语,并确保你在内容策略中预见到他们的需求。
修复“0 结果”的出现次数
返回“0 个结果”的搜索肯定会让访问者远离你的网站。
这可能表明内容标记不正确或不充分,或者你的访问者正在搜索你在你的网站上根本没有涉及的内容主题。当这种情况发生时,是时候填补内容空白了。
也许你遗漏了关于特定产品特性、演示视频、常见问题解答或规格表的信息。不管它是什么,一旦你制作了它,你就可以确定你提供的是有目的的内容,因为它已经被你的分析所证实。
当用户不点击搜索结果时改善内容
在你的网站搜索分析中,你可能会发现访问者的搜索 会返回 结果,但是你的访问者不会点击这些结果。这可能是一个信号,尽管你的内容可能与关键词一致,但它并不符合查询背后的用户意图。同样,这可能是一个确保内容被正确标记的简单问题,也可能意味着修改你的内容,以解决你的访问者对这些主题的疑问和好奇。
用更好的网站设计让内容更易访问
一旦您执行了搜索站点分析,并发现了访问者搜索次数最多的内容主题,明智的做法是通过 直观导航 以及 搜索功能,轻松访问这些内容。
不要把频繁搜索的内容话题埋没在无数点击和层层页面下。相反,突出显示受欢迎的内容,让每个访问者都能看到。你甚至可以考虑添加突出的侧栏来显示你网站上搜索最多的内容。
此外,在用户搜索关键词或短语之前,分析他们正在访问的页面也是一种很有价值的做法。该页面是否已经提供了访问者搜索的信息?如果是这样,用户可能因为糟糕的 UX 设计而没有看到这些信息。
为您的搜索配置提示
最先进的网站搜索平台提供强大的工具和配置,帮助您为用户提供最简单快捷的搜索体验。这里有一些最大化这些特性的技巧。
添加过滤器和刻面以防止搜索过载
如果你在亚马逊搜索“iphone 充电器”,你会得到超过 4 万个结果。拥有选项几乎总是一个优势,但是当 显示太多 结果而没有优先顺序感时,用户可能会不知所措。一个查询有数百个(甚至数千个)搜索结果会导致搜索结果超载,使访问者容易迷路、分心和不满意。
激活搜索平台中的过滤器和方面,为您的访问者提供更相关、范围更窄的搜索结果,从而简化搜索体验。
根据用户点击深度配置搜索设置
如果网站访问者点击进入我们搜索结果的第二、第三和第四页,你应该引起注意。用户达到目标花费的时间越长,他们的体验就越不令人满意。
如果你的分析揭示了这个问题,那么 点击深度 就需要改进了。考虑利用 查询建议 ,这是一种在用户键入时建议关键字的搜索功能,作为减少这种麻烦的潜在方法。查询建议有效地将相关信息在搜索栏中带给用户。例如,当用户键入“mac”时,“MacBook Air”和“MacBook Air 15 英寸”可能会显示出来,以帮助用户更快地找到他们需要的东西。
根据变化的产品需求配置搜索设置
产品需求经常随着季节或最新的流行时尚而变化,很容易让人措手不及。使用网站搜索分析,您可以观察特定产品搜索频率的变化,从而实时了解当前哪些产品最热门,哪些不热门。
随着对当前需求的深入了解,网站所有者可以配置自定义排名设置,将最畅销的项目(或阅读量最大的内容)放在搜索结果的顶部。
根据自己的日常测试配置搜索设置
在你的网站上运行你自己的搜索很重要,而且要经常这样做。搜索突出的关键词并分析搜索结果。 您的搜索是否返回相关结果?如果没有,您需要根据您在搜索中发现的问题来配置您的搜索设置。这可能意味着创建 搜索同义词 (例如“soda”结果与“pop”结果一起列出),以及添加过滤、备选排序和其他配置。
试用 Algolia 网站搜索分析免费
使用 Algolia 的直观分析仪表板,您可以跟踪关键的网站搜索指标:
- 搜索 查询: 最热门的查询和没有返回结果的查询
- 搜索过滤器: 最常用的过滤器属性和值
- 搜索结果: 所有查询中返回给用户最多的结果
- 点击: 跟踪用户对给定查询的点击位置和点击率
- 转化率: 所有搜索查询的转化率
仪表盘以易于理解的图形格式解释了每个指标,并提供了您根据客观数据采取正确行动所需的所有洞察力。
立即试用 Algolia 强大的网站搜索分析功能,享受 14 天的免费试用。
介绍 Algolia 推荐:开发者增加收入的下一个最佳方式
从一开始,Algolia 就利用其托管搜索和导航 API,帮助开发者打造独特、差异化的数字商务体验。因此,Algolia 是我们零售客户年收入超过 250 亿美元的重要组成部分。
现在,随着 Algolia Recommend 的推出,Algolia 进一步使开发人员能够释放体验的组成部分,推动产品发现体验的剩余部分:产品推荐。
就像搜索和导航一样,我们认为负责产品推荐的开发人员不应该把时间花在排除基础设施故障、维护和扩展低级代码库,或者与具有不同开发人员体验的各种供应商打交道上,而是应该利用构建模块来帮助他们释放创造力,创造独特的体验,并加速他们的业务增长。
在这个世界上,越来越多的企业开始上网,消费者有了更多的选择,更换品牌的成本和便利性都很低,因此,通过打造差异化体验和不断创新来获得和保持竞争优势至关重要。API 构建块对于建立这种差异至关重要——因为它们具有显著的灵活性、易于实现,以及它们如何允许开发人员和产品经理动态迭代。
有了 Algolia 的推荐,Algolia 在开发人员的工具包中增加了一个新的强大设备,因此他们有钥匙来增加 100%的零售商 GMV。(商品总值)。
让我们深入了解 Algolia 推荐的独特之处……
机器学习推荐模型一个 API 调用走
Algolia Recommend 根据生成建议
- 您的产品目录被编入 Algolia
- 您的用户对您的数字财产的互动
然后,它依靠机器学习模型来提供相关的建议,从以下几个开始:
经常一起买
经常一起买的模型推荐经常一起买的物品。对于给定的项目,它会根据用户在您的平台上执行的转换事件推荐一个项目列表。
这种模式通过向顾客展示补充他们当前选择的产品,让你创造交叉销售机会。
相关产品
相关产品模型推荐彼此相关的项目。对于给定的项目,它根据用户在平台上执行的点击和转换事件返回项目列表。
这种模式最大限度地提高了转化率和目录曝光率。
频繁一起购买模型使用转换事件,因为我们需要在购买过程中检测产品的互补性。相关产品模式依赖于点击和转化,因为关联性可以通过购买和浏览来传递:搜索,然后探索选项。
对于这两个模型,收集了对应于过去 30 天的数据。结果是一个矩阵,其中列是 userTokens,行是 objectIDs。每个单元格代表 userToken 和 objectID 之间的交互(点击和/或转换)次数。然后,我们应用一种协同过滤算法:对于每一件商品,我们会找到在顾客中拥有相似购买模式的其他商品。如果同一组用户与项目交互,则项目将被认为是相似的。如果同一组用户购买了物品,则这些物品将被认为是一起购买的。
然而,协同过滤的局限性在于冷启动问题。对于最近添加到目录中的项目,产生大量流量的机会较低,因此它们不太可能出现在推荐中,并且它们的推荐可能没有那么好。
我们正在努力消除这一限制,方法是根据商品的内容整合某种程度的商品相似性(例如,我们知道属于同一产品类别的商品已经有些相关)。与此同时,我们引入了一个后备策略,直接利用产品属性来解决冷启动问题和缺少事件。
回退策略
目录中的某些商品可能没有经历足够多的事件,因此 Algolia 推荐模型无法生成相关推荐,例如新列出的商品。Algolia 考虑到了这一点,并添加了一个“后备策略”,以确保使用 fallbackParameters
仍能提出相关建议
更多来了!
Algolia 将增加一系列新的推荐模式。今年晚些时候,Algolia 将增加“个性化推荐”,根据购物者的偏好显示更多相关产品。
Algolia 还将利用 Algolia 搜索 API 的功能,更轻松地生成基于内容的推荐,例如,将热门产品、新品、畅销书等打包到 Algolia 推荐中。
轻松实施,同时尊重您的网站或应用程序的外观和感觉
我们的 API first 方法的一个优势是,您可以使用 6 行代码在任何需要的地方显示 Algolia Recomend 生成的建议。
遵循与 Algolia 搜索相同的标准,Algolia 提供前端小部件,以简化推荐在前端的显示和格式化,从 Vanilla JS 和 React 开始。
“我们对 Algolia 推荐系统的简易和快速实施留下了深刻的印象,这使我们能够在仅 4 天内完全投入 hicart.com 的生产。”
–hi cart 技术主管劳尔·拉里奥
神奇发生在哪里:总弹性
当你开始在你的数字接触点上显示推荐时,事情开始变得令人兴奋:Algolia 的 API 优先方法与前端小部件相结合,使开发人员能够使用 Algolia 的 facetFilters
属性,根据业务需求完全控制和微调返回的推荐。
全店过滤器
Algolia Recommend 允许您对整个商店展示的所有推荐进行过滤。例如,大多数时候从推荐中排除缺货产品是有意义的:
但是你可以走得更远!让我们探索一些更复杂的用例:
情境化建议
通过这种过滤逻辑,您可以根据购物者当前正在浏览的类别,甚至是他们当前正在查看的或购物篮中的产品的特定属性来过滤推荐。以下是一些例子:
仅显示与显示项目颜色相同的项目:
只显示与所显示项目类别相同的项目:
仅显示利润比显示的项目多的项目:
本地化推荐
一个 Algolia 推荐用户是一家位于加利福尼亚州的在线零售商。他们的实体店网络对他们来说是一个真正的优势,所以他们尽可能地在网上体验中利用它。当你浏览他们的网站时,你可以选择你喜欢的位置。一旦你这样做了,推荐将会个性化,只展示你的首选商店中的产品。
能见度
Algolia Recommend 附带一个模拟器,因此您可以在生产中实施之前评估模型生成的建议的质量。
统一平台的优势为您带来全方位体验
Algolia Recommend 的一个关键优势是,它依赖于与 Algolia Search 相同的基础,并采用相同的标准开发,为您的开发人员和企业带来各种优势:
不重复实施努力
利用 Algolia 搜索+推荐来增强搜索、导航和推荐,您只需为所有产品目录创建一个索引集成,并将您的用户事件发送到一个 API。
为您的用户带来内聚体验
由于 Algolia 搜索和 Algolia 推荐依赖的索引是相同的,您的用户将在您的整个在线商店中看到相同的产品信息,具有相同的新鲜度。
一个开发者的经历
Algolia Recommend 秉承与 Algolia Search 相同的开发标准和开发人员卓越体验,这意味着开发人员将受益于相同的实施原则,以及相同质量的开发人员工具和文档来构建您的整个搜索、导航和推荐体验。
可扩展且可靠
Algolia Recommend 由与 Algolia Search 相同的团队在相同的基础上构建,每月为 10,000 多名客户的 100 多亿次请求提供支持。所以你可以专注于创造体验,不必担心你的推荐引擎会在黑色星期五崩溃。
指标一次,处处兑现。今天就开始
与 Algolia Search 相结合,Algolia Recommend 允许您在一个地方索引您的目录,并将其发送到您需要的任何地方。我们的客户已经在他们的数字商店中看到了很好的效果:
“Orange Romania 一直在使用 Algolia 推荐技术来留住和转化购买断货产品的顾客。通过向他们推荐相关产品,我们的在线商店增加了 8%的收入。”
–Orange Romania 的数字营销经理 Florin Spataru
“自从实施以来,我们已经看到每个会话的产品页面浏览量显著增加,并预计这将对我们的收入产生巨大影响。”
HiCart 技术主管劳尔·拉里奥
如果您准备好测试 Algolia 推荐,您可以立即注册 Algolia.com 或 登录您的账户 ,每月可获得 10,000 次免费推荐 API 请求。你会在我们的文档 中找到实现它所需要的一切 。
如果您想了解更多关于 Algolia 推荐的信息,请随时联系您的客户成功经理我们的团队,请点击
介绍 Algolia 最人性化的定价
原文:https://www.algolia.com/blog/algolia/introducing-algolias-most-customer-friendly-pricing/
在 Algolia,我们的使命是让每一个开发者和公司——无论大小——都能创造愉快的搜索和发现体验。牢记这一使命,我们正在对我们的定价进行重大更新,目标是让 Algolia 更容易访问,并让每个人都能提供出色的搜索体验。从最小的项目到大规模的部署,我们的价格现在是市场上对客户最友好的。
从今天开始,我们的新定价包括长期承诺较少的选项、较低的入门级价格以及针对增加使用量的批量折扣。现在,无论你是从事小型项目的开发人员,还是希望提供更好的消费级搜索体验的大公司,Algolia 都能满足你。
作为一家开发者至上的公司,如果没有对开发者的友好,Algolia 就不会有今天。作为联合创始人,Nicolas 和我自己也是早期开发人员,所以坚持我们的愿景一直是我们 DNA 的一部分。因此,我们听取了开发人员的反馈,并使我们的入门级价格更容易为开发人员所接受,即使他们需要访问我们的高级功能。
我们的新定价模式基于以下原则:
- 易于尝试,易于购买: 客户有更多选择,包括无长期承诺、每月仅 1 美元的付费计划。
- 访问: 我们的一些高级功能现在可以在我们的标准计划中使用;您不再需要成为企业客户就可以访问高级功能,如查询建议和 A/B 测试。
- 透明度: 我们的定价已经过简化,因此更容易理解和预测。
- 按使用付费: 我们新的定价是基于你的搜索量和你的索引大小;您也可以选择按月付费或按年付费,以获得年度承诺的折扣。
- 可扩展: 批量折扣奖励使用量增加的客户,使他们能够随着业务增长进行经济高效的扩展。
更简单的定价,可根据您的需求进行调整
为了让“按使用付费”模式更加清晰,在新的定价中,我们将不再对索引操作(对您的索引的更改)收费。相反,我们引入了单位的概念。
一个单元表示给定数量的两个容易测量的月值: 搜索请求数* 和Algolia 索引内的记录数 。
在每月“按使用量付费”模型中,一个单位代表一个月内消费的 1,000 个搜索请求和该月内 Algolia 索引中的 1,000 条记录。如果这两个值中的一个超过 1000,那么你就已经消耗了那个单位。单位是您需要支付的费用,标准的现收现付月度计划的起价为每月每单位 1.00 美元,年度计划的起价甚至更低。
在新的定价模式下,消耗的设备越多,每台设备就越便宜,随着使用量的增加,可以实现规模经济。
在新定价中,有两种主要计划: 标准版和高级版,具有以下更多功能。
此外,为了让更多客户能够使用我们的一些高级功能,标准计划中现已提供了一些高级功能,如 、搜索分析、事件分析和 A/B 测试 。
我们知道你会喜欢 Algolia,所以在决定是否适合你之前,请随意尝试。我们提供为期 14 天的免费试用(包括多达 500 台),甚至可以访问我们的许多高级功能,包括 规则、可视化编辑器和个性化 。在这里报名。
概要
我们相信,新的定价计划将为我们的客户带来好处和积极影响,特别是现在能够轻松试用然后轻松购买 Algolia 的开发人员社区——成本透明且可预测,并且可以获得比以往更高级的功能。
我们希望您喜欢它,并一如既往地欢迎您的反馈。
最后,如果你现在是 Algolia 的顾客,并且对你的计划感到满意,那太好了!你可以无限期地保持现有的计划。我们支持您第一次注册我们的服务时所做的承诺,并将让您决定什么最适合您的发展。如果您有兴趣利用即将推出的新功能,我们可以随时提供帮助,指导您迁移到我们的新定价计划。
要了解更多关于 Algolia 的新定价,请访问www . algolia.com/pricing/。
*如果您是 Algolia 的现有客户,值得注意的是,我们将“搜索操作”概念替换为“搜索请求”。这是一个重大变化,根据客户反馈,我们的定价变得更加简单。我们的批处理查询 API 端点现在只计为一(1)个请求,这意味着您可以使用分面和联合搜索,而不必考虑成本。
介绍 Algolia 的新合作伙伴计划
原文:https://www.algolia.com/blog/algolia/introducing-new-partner-program/
今天,我们很高兴能够为我们的客户提供新的服务,推出新的 Algolia 合作伙伴计划 。企业现在可以利用我们值得信赖的合作伙伴生态系统,包括代理商、系统集成商和技术提供商,他们可以帮助企业在其网站和应用中构建一流的 Algolia 支持的体验。
将我们的专业知识带给更广泛的精英开发人员社区,使企业能够选择合适的合作伙伴来构建和加速开发他们的搜索解决方案,并拓展他们的用户体验。我们很高兴今天与 20 家认证合作伙伴一起推出我们的计划,其中包括埃森哲互动公司(Accenture Interactive)——Altima、Redbox Digital、Magento(Adobe 公司)和 Shopify。
我们对客户和合作伙伴的承诺
我们关注人们如何与他们喜爱的网站互动,如何发现新产品和文章,以及如何探索内容。无论是移动应用、网站,甚至是语音或虚拟现实,人们对内容发现的期望每年都在增长。性能和功能是一个网站或服务能否成功提供引人注目的体验的越来越重要的因素。如今,企业面临的挑战是将近乎神圣的期望转变为个性化的用户体验,这种体验会让每个访问者感到愉悦,并邀请他们深入参与和转化。【1】
Algolia 深知,API 优先的搜索和导航方法能够让企业客户更加灵活。它还促进了他们随时随地为客户提供服务的能力,同时超越了他们对更个性化和更有针对性的用户体验的期望。为了构建这些类型的解决方案,各种规模的组织都求助于他们首选的合作伙伴:当地机构、地区咨询公司和全球系统集成商。有了 Algolia 坐镇,这些合作伙伴不再需要建立专门的搜索咨询团队。
听听我们的合作伙伴在说什么:
“消费者对内容发现的期望每年都在增长,这意味着数字组织必须跟上步伐,提供符合每个用户需求的个性化搜索体验,”埃森哲互动公司 Altima 的电子商务顾问爱丽丝·坎迪达特说。“Algolia 让我们的顾问能够为我们的客户(如 Lacoste)提供明智的建议,告诉他们如何通过吸引和个性化每位客户来增加数字渠道的收入,从而使我们的业务与众不同。”
电子商务机构 Redbox Digital 的首席执行官 Jonty Sutton 表示:“在电子商务中,最大的一个痛点是将用户的意图与他们正在寻找的产品相匹配。如果你不匹配用户浏览或搜索的内容,零售商无疑会赔钱。
“Algolia 团队在帮助我们的团队了解他们的软件的全部功能方面发挥了宝贵的作用,因为它与我们的客户项目有关,所以我们可以将该工具作为我们全面的网络战略和方向的一部分,”TrendyMinds 数字战略高级副总裁 Jon Immel 说。
Algolia 正朝着搜索和发现远远超出简单搜索栏的未来发展。为了最终提供可以提供非常相关的体验的无用户界面数字产品,我们必须与我们的合作伙伴一起踏上这一旅程。今天的发布是朝着实现这一愿景迈出的激动人心的第一步。
要了解如何成为咨询合作伙伴的更多信息,请访问 partners.algolia.com,或联系 alexandre.popp@algolia.com。
_______________________________________________________________________
【1】来源:《乐搜索:De L'intention à L'Attention》, 用谷歌 思考(2018 年 6 月)。https://www . thinkwithggoogle . com/intl/fr-fr/tendances/vision/le-search-de-Lin tention-a-laction
介绍我们的新导航
原文:https://www.algolia.com/blog/product/introducing-our-new-navigation/
我们很高兴能分享我们全新设计的导航系统的幕后故事。重新设计是大量研究和努力工作的结果,它仍在发展。我们一直在认真听取反馈意见,现在它已经推出,我们将继续听取意见,并使它变得更好。
小安正在成长
有很多很好的理由来重新思考我们的用户在仪表盘上导航的方式。我们不断地对我们的用户进行研究,我们已经积累了他们在现有导航中遇到的越来越多的问题。当我们拥有更少的功能时,有意义的选择不再起作用。在特定的屏幕尺寸下,我们的导航会从屏幕底部消失。
例如,我们使用侧边栏来处理:
- 管理和切换应用程序
- 浏览不同的搜索功能
- 管理计费和团队角色
- 管理个人账户设置
我们的航行实际上已经人满为患了!
……而且越来越大!
最重要的是,我们最近发布了我们的第二款产品:推荐(psst, )更多信息请点击这里。 超级爽!).因此,除了导航中所有其他争夺注意力的东西,现在我们需要一种方式让我们的用户在两个不同的产品之间移动,搜索和推荐,很容易。他们必须始终清楚地知道自己在仪表板中的位置,并且他们需要能够理解为什么他们应该使用一种产品而不是另一种。我们需要一个能够随着更多产品的出现而扩展的解决方案。
反思等级制度
我们的第一步是给每个独立的功能一个家。正如你在旧设计中看到的,我们要求侧边栏承载很重的负载。应用程序切换、搜索导航、个人设置和帮助都在一个共享空间中。不幸的结果是,精神负担被转移到了用户身上,他们被期望理解这一切。
因此,我们设计了一个新模型,其中每种行为都有一个确定的位置。现在,侧边栏是专门为浏览仪表板而保留的。 想要更改或添加应用程序或索引? 永远在屏幕的正上方中央。通过更具体地定义这些空间,我们允许用户根据他们过去的经验来假设在哪里可以找到东西。当我们需要添加新的东西时,它的归属是毫无疑问的。
我们还在右上角专门留出空间,用于存放支持、文档和帮助相关项目。如果您需要快速获取文档,只需点击一下鼠标即可。
设计直观的导航
分离出我们的产品
在导航 Algolia 仪表盘时,我们做了一些更改,以帮助您找到所需的内容。最明显的变化是,我们在导航中给了每个产品自己的位置。这是我们对 Algolia 仪表盘工作方式的一个小转变,但它允许我们在您需要时展示更多具体功能。
例如,如果您使用推荐,您将只能看到与推荐相关的功能。搜索也是如此。一次又一次,我们看到用户在测试中变得沮丧和困惑,因为他们看到的导航与他们使用的产品无关。
创建单一平台
提供多种产品带来了一些我们需要解决的新的复杂性。许多一直与搜索联系在一起的东西,比如索引,现在可能被用在其他地方。完全有可能有只用于推荐的索引,所以我们突然需要一个你可以同时看到搜索和推荐索引的地方。所以我们增加了第三个部分,叫做“平台”
最初,我们添加了平台来存放跨多个产品的导航项目。它与我们的产品处于同一水平,但用于聚合共享元素。我说最初,因为,嗯,它已经不存在了。但是我一会儿会讲到这个。😉
分组相关功能
对我来说,这是事情开始变得真正有趣的地方。关于 Algolia 的仪表盘,需要意识到的一件重要事情是,我们的用户并不都是技术人员。很多都是,但有些 真的 不是。我们看到许多项目经理、业务员,甚至设计师,支持他们对我们来说同样重要。
考虑到这一点,我们知道某些对一类用户来说显而易见的术语对另一类用户来说却完全莫名其妙。用户测试表明,在技术理解方面有一点悬崖——基本上非技术用户一次又一次地被相同的术语难住了。我们需要建一座桥。
我们添加了功能组来帮助我们解决这个问题,方法是根据功能将项目重新分组。一次又一次,我们看到测试人员使用组标题作为线索来找出导航中可能存在的东西。作为设计师,这正是我们希望看到他们做的事情。
在每款产品中,我们对功能进行了分组,以便它们更好地与用户的旅程联系起来。例如,在搜索中,您会找到“配置”、“观察”和“增强”组。
正如这里所看到的,增强小组一起“增强”相关性的方法。在 Configure 中,您可以添加索引或提出查询建议。在 Observe 中,您可以检查搜索分析或启动 A/B 测试。
还有更多!
当然,我们并不仅仅坚持那些更新。我们还借此机会对 UI 做了一些调整,为计划中的更新做准备。总的来说,我们已经尽可能地进行了清理,并进行了许多细微的改进。现在我们有了一个更干净的未来。
我想提到的最后一个重大变化实际上是当你来到 Algolia 仪表盘时首先会遇到的:一个改进的概览页面。我知道这听起来很疯狂,但我们希望概览页面实际上是一个概览。所以现在你可以鸟瞰你在阿尔戈利亚做的一切,而不仅仅是搜索。我们为您最需要的东西添加了快速链接,并且我们有许多有趣的计划来让这个屏幕对您更加有用。你今天看到的只是这个屏幕的第一步。
Beta 测试
对我来说,设计过程中最好的部分发生在人们开始使用界面之后。事实是,到目前为止,我刚刚谈到的所有变化都是猜测。我们通过一个设计过程让他们 受过良好教育的 猜测,但他们仍然是猜测。当真正的用户开始告诉我们使用 Algolia 做他们的工作是什么感觉时,情况就变了。
当我们在 7 月发布公开测试版时,我们马上发现了一些问题。人们很难找到一些真正重要的东西,比如 API 键、账单和团队设置。他们很难找到它们的原因是,将它们都放在一个名为“平台”的部分没有意义。在一些非常有见地的用户访谈的帮助下,我们最终在导航中将平台分成了三个新的部分:API 监控、数据源和设置。我喜欢它,因为如果没有用户的帮助,我们永远也不会找到那个解决方案。
虽然没有那么大和引人注目,但我们在测试版中也做了一些其他重要的改变。我们对用户界面的对比进行了调整,使层次更加明显。我们反复讨论了二级导航是如何打开和关闭的。我们收紧了产品导航最小化时出现的工具提示。一般人可能不会注意到它们,但总的来说,它们在使用导航的方式上有很大的不同。
走吧!
我为这个团队感到无比自豪,正是他们的努力让导航成为今天的样子。团队合作在反思长期导航中的作用怎么强调都不为过。
在这次导航之后,有很多很棒的产品更新。说实话,这真的感觉导航就像是我们正在打开的一扇门,让我们一直在做的其他事情呼啸而出。在阿尔戈利亚,这是一个非常激动人心的时刻,我迫不及待地想让你们知道接下来会发生什么。
介绍用于个性化和隐私感知体验的用户数据资料
数据是各种规模的蓬勃发展的公司所拥有的最重要的资产之一。不幸的是,这并不总是转化为良好的实践,特别是对于那些个人数据可能被肆意滥用而又无能为力的用户。
这是用户认为使用人工智能系统个性化体验的在线公司缺乏诚意的众多原因之一。然而,情况并不总是如此,这当然不是所有公司的经验法则,主要是因为有一些基本力量在阻止他们这样做:
就在最近(2022 年 1 月)奥地利数据监管机构发现,使用 谷歌分析违反了【GDPR】。虽然一半的解决方案可能会采用新的EU-美国数据传输协议 的形式,但它确实会引起对另一半的关注: 最终用户如何才能更好地控制自己的数据?
是的, 83%的消费者 确实期望个性化 在瞬间和几个小时内完成。同时,高达 80%的消费者对公司关于其在线数据的安全和隐私做法 非常敏感。
乍一看,这似乎是一个悖论: 个性化用户体验,同时保护他们的数据隐私 ?
根据我们的经验,只要我们小心翼翼地为用户提供价值和便利,并且不成为干扰,基于人工智能的个性化是一种可以鼓励和广泛采用的实践。
当我们衡量这些个性化技术的有效性时,有几个方面需要考虑
- 技术部分,对于最智能的推荐系统,涉及机器学习;
- 业务关键绩效指标的演变(转化率、平均订单价值、收入增长等。).
- 用户满意度,通常被认为是隐含的:如果用户转化了,就意味着他们很满意。
难以忽视的事实是,在网络领域,个性化技术的有效性大多与底线相关:“ 推荐引擎必须是我们用户的热门,因为我们的收入飙升 !”这种逻辑是部分有效的,因为它没有描绘出整个画面。收入的增加并不一定意味着用户满意度的提高,而用户满意度等难以衡量的指标通常会排在优先级列表的末尾。
另外,它揭示了一个至关重要的盲点——问题的答案: 我们以用户为中心的 AI 系统是否具有隐私意识?T13
什么是隐私感知 AI 系统?
具有隐私意识的人工智能系统知道,一个人的个人数据分散在不同的账户中,只能由个人自己访问。
因此,为了在与第三方 AI 系统的交互中从个人数据中获得价值,个人必须“ 激活 ”该个人数据。换句话说,个人应该决定他们的用户数据配置文件如何被第三方使用,包括人工智能系统。
受到两篇深入探讨该主题的论文的启发,每篇论文都有自己的方法,但最终都试图解决相同的问题( 我的数据,我的术语:个人数据使用许可提案 和 固体:基于关联数据的去中心化社交应用平台 )根据面向消费者的公司现有的数据使用实践,我们正在重新设想第三方人工智能系统
- 完全或有限匿名。 例如,在线购物者可能选择保持匿名,不向在线零售商透露任何个人信息。
- 追踪许可。 通过授予对其用户数据档案的访问权,个人可以对服务提供商施加不跟踪该特定用户的义务(即,不跟踪个人在特定会话期间或之后的活动)。
- 存储数据的许可。 这意味着,即使服务提供商有权访问特定个人的用户数据档案,服务提供商也无权在其系统中保留用户数据档案。
- 允许捆绑数据。 个人还应有权阻止服务提供商将特定个人的用户数据资料与其他个人的用户数据资料进行汇总。
- 共享数据的许可。 个人应当能够强制要求服务提供商不与其他第三方共享该个人的个人数据。
- 出售数据的许可。目前最有争议的问题之一是,在没有客户同意的情况下,公司之间出售个人客户数据。
今天理解这种用户数据档案的含义,可以通过成为早期采用者,引领这一变革浪潮,而不是落后和抵制它,给公司明天带来实质性的竞争优势。
我们采用用户数据档案(可以由在线零售商、市场甚至媒体公司整合)的愿景包括在以用户为中心的人工智能生态系统中的 3 层实施策略。
1。用户数据类型
大多数网上商家处理的用户数据类型至少有 3 种:
-
个人资料。 年龄、姓名、性别、地点、身份证号等详细信息。T49
-
生成的用户数据(显式;内部)。 除了每个用户拥有的默认个人数据外,其他数据点也通过订单、联系表、反馈表、与聊天代理的交互、电子邮件消息等方式收集。用户在与网站或应用程序交互时会明确给出这些信息,这些信息通常被视为内部数据,因为在线企业通常会将这些信息存储在他们的数据仓库中。
-
行为用户数据(隐式;外部)。 行为用户数据是存储的最浅层的数据类型,因为它在大多数时候是匿名的或者至少是半匿名的。想想所有使用第三方分析平台(如 Google Analytics)来跟踪其网站/应用程序访客的在线企业,这就是其外部性。因为访问者以“ 客人 ”的方式与网站进行交互,而不透露任何个人信息,所以这种行为用户数据可以被表征为是隐含的。
2。用户意向档案
一个经典的电子商务漏斗由以下步骤组成:
- 主页/类别
- 产品视图/详情
- 添加到购物车
- 结账/交易。
如果用户在漏斗的每一步都表现出某种意图,我们可以想象可以授予个人数据档案的某些权限:
- 查看个人资料——供无意购买,只是来浏览的用户使用。这意味着在线零售商在查看主页、产品类别甚至产品详情时,无法获得消费者的个人数据(年龄、性别、职业等)。这是否意味着用户不会从高度个性化中受益?是的,如果用户选择保持半匿名,并且只允许访问他的视图配置文件。在这种情况下,我们操作的数据类型是行为的,可以提供的个性化级别是最低的。
- 兴趣简档–当用户的意图改变并决定将一件或多件商品添加到他们的购物车时,兴趣简档就会起作用。为什么?嗯,他们可能需要选择 t 恤的尺寸(或性别),如果这是他们要买的东西,不仅要透露购买该商品的兴趣,还要透露生成的数据类型。或者他们可能开始使用网站上的实时聊天功能。此时,由于与在线平台共享了新的数据点,用户可以收到更个性化(和相关)的推荐。
- 购物者资料。一旦用户准备购买,他们将不可避免地添加他们的信用卡信息。当用户达到这一点时,他们对操作其数据的在线企业的信任程度可能接近 100%。
3。人类-人工智能隐私握手
如果我们把所有这些放在一起,我们揭示的形象与目前的现状大相径庭。这种形象对在线企业和用户都有破坏性。以用户为中心且可能由用户持有的数据模型将服务提供商从从第三方(数据经纪人)收集数据中解放出来,并为他们提供了直接从其客户处获取最准确数据的工具(在客户同意的情况下)。
这种新的数据模型还将帮助企业为客户创造更个性化的体验,并增加试图提供更多客户价值的企业之间的竞争。此外,个人将受益于更好地控制其个人信息的使用,并获得更好、更相关的产品和服务。
如果我们看看本文中提出的核心概念,并分析用户将如何在以用户为中心的范式中管理他们的身份,我们很快就会意识到,每个网站或应用程序都可以被授予不同的权限。
根据客户的电子商务偏好自动识别和管理权限的潜力正在形成。假设用户登陆一家在线家具店寻找一把办公椅——只是为了浏览并获得一些灵感,因为她还没有准备好购买。在这种情况下,可以打开“ ”视图配置文件 ”,这意味着商店的人工智能系统可以跟踪并仅使用被授权访问的数据配置文件。
或者,如果他们是一个重度网上时尚购买者,并将他们的 兴趣档案 设置为开启,他们允许网站或应用程序提示更个性化的体验。
我们可以称之为人类与人工智能的隐私握手!想想看,在最少的人工干预下,以无缝的方式,第三方人工智能系统可以更好地了解用户的隐私设置,并采取相应的行动,甚至是强调。
如何启用用户资料档案?
在线零售商启用用户数据档案的一种方式是在其网站/应用程序的“ 我的账户 ”部分。从那里,最终用户可以授予对其用户数据资料的访问权限,这取决于他们的具体意图: 视图 , 兴趣 或 购物者 。
在网站/应用程序上导航时,人工智能系统将只接收和处理它有权访问的数据。如果我们谈论的是个性化的搜索结果,它将返回一个条目列表,这些条目按照从共享配置文件中推断出的相关性分数进行排序。
在 推荐产品 的情况下,那些可以跨多个页面以不同格式显示,有时与个性化消息相关联,这取决于用户的交易概率。
毫无疑问,技术是改善客户体验的强大动力,无论我们站在哪一边。所提出的用户数据简档可以是对隐私感知的个性化问题的优雅解决方案。尽管如此,最重要的区别是用户授权 AI 系统访问特定级别的个性化,这是用户认为舒适的。要做到这一点,最重要的是信任。要做到这一点,需要的是开放的心态和尝试新的数据处理方式的意愿。
你对此有什么看法?您是否愿意迈出这一步,准备在您的组织中使用用户数据配置文件? 联系我们 让我们开始讨论可能性。
Algolia DevCon 2022 回顾:查看视频
原文:https://www.algolia.com/blog/algolia/its-a-wrap-the-algolia-devcon-2022-recap/
9 月 14 日和 15 日,Algolia 举办了我们的首次开发者大会。这是为期两天的演示、演示和研讨会,重点是开发人员为他们的用户构建搜索和发现体验。
从我(Chuck Meyer)穿着睡袍出现在预展上,到高管团队戴着派对帽闯入总结会,我们尽最大努力为我们的开发人员社区提供一个有趣、信息丰富、休闲和真实的活动。
我们在这里整理了一份本次活动的一些亮点,包括嵌入的视频和每次会议记录的链接。YouTube 上还有一个所有会议的播放列表。让我们来看看亮点!
欢迎来到 Algolia DevCon!(主题演讲和产品演示)
https://www.youtube.com/embed/zOz-Sk4K-64?feature=oembed
视频
在今年的主题演讲中(如上视频),首席执行官 Bernadette Nixon 谈到了 Algolia 最近宣布的 search.io 收购以及混合搜索 API 的未来。然后,产品团队共同努力,为口袋妖怪交易卡构建了一个搜索和发现应用程序,首次推出了像 Algolia CLI (Khalid 从他的吊床上流式传输!),然后讨论混合推荐模型,以及数据连接器和流。最后,我们看到了 search.io 的神经搜索技术在发挥作用。
7 个性化引擎功能障碍
https://www.youtube.com/embed/8mXRV1xN5uI?feature=oembed
视频
Algolia 产品经理 Ciprian (Chip) Borodescu 向我们展示了他在个性化方面的心得,个性化是客户体验的圣杯,如上面的视频所示。他谈到了一些关于个性化的错误假设,为什么你不能在这个问题上“扔更多的数据”,然后他谈到了在用户行为的背景下使用人工智能和机器学习的一些伦理问题。
instant search,从 7 年前推出到今天
https://www.youtube.com/embed/9c5Wqv9LWyc?feature=oembed
视频
一个伟大的搜索引擎没有一个伟大的用户界面,用户可以很容易地互动,寻找和探索的东西。Algolia 产品经理 Alexandre Collin 带领我们走过了 7 年的 Algolia 即时搜索之旅。在上面的视频中,他分享了我们已经取得的成就,以及前端开发人员构建世界级搜索&发现体验的未来。
在一个遥远的世界里缩放文化
https://www.youtube.com/embed/HIQC-938aJA?feature=oembed
视频
Twilio 文化传播副总裁 Ricky Robinett 展示了惊人的坦诚(Algolia 的文化价值观),同时分享了一些关于文化在组织中的重要性和影响的非常个人的故事。在上面的视频中,他分享了自己和父亲生活中的例子,这些例子塑造了他对现代工作场所文化复杂性的看法。
走向增进理解:语义搜索的未来
https://www.youtube.com/embed/P01XNVJyh4E?feature=oembed
视频
语义搜索是未来,但它是现在吗?Algolia 首席产品经理 Dustin Coates 向我们介绍了语义搜索的关键概念(如加权向量),以更好地理解为什么搜索引擎必须超越关键词,才能真正为我们的用户服务。
开发人员真正在寻找什么:我们在构建供 100 万开发者使用的服务时学到的 5 条经验
https://www.youtube.com/embed/TXyP_gHQtjA?feature=oembed
视频
Openbase 创始人兼首席执行官 Lior Grossman 主持了一个有趣的智力竞赛节目,该节目基于开发人员使用他们的网站搜索和发现开源库时收集的分析数据。看看你能否在测验中得 5 分。
用连接器加速您的实现&流程
https://www.youtube.com/embed/XQ6EepICYak?feature=oembed
视频
Algolia Staff 产品经理 Keshia Rose 带我们深入了解了数据同步的未来,先睹为快地介绍了今年晚些时候即将推出的两个数据功能:连接器和流。她演示了如何在自动加载数据到 Algolia 时提取和转换数据。你也可以和 Keshia 的团队一起加入 GitHub 上的讨论来决定下一步要构建什么连接器!
传递开发者卓越体验
https://www.youtube.com/embed/QgVFMaAX4KU?feature=oembed
视频
Algolia 的软件工程师 Sarah Dayan 分享了她从与来自 Vercel、CodeSandbox、Tailwind 和其他公司的行业领导者的采访(在 Algolia 的开发者体验(DX)播客上)中获得的许多见解。订阅播客,在你喜欢的平台上收听播客过去和未来的剧集。
新的 Algolia CLI 将告别手工操作
https://www.youtube.com/embed/Qs_smyilmiQ?feature=oembed
视频
Algolia 高级技术项目经理 Khalid Elassaad 离开吊床,向我们展示了他可以通过 Algolia CLI 完成的重要任务,从而结束了第一天的工作。他填充了一个索引!他调整了配置!他通过及早发现不好的设置节省了大量时间!多好的方式来结束 DevCon 的第一天!
工作坊和动手实验室
我们还在第一天主持了一系列演示实验室:
DevCon 的势头持续到第二天,举办了一系列实践研讨会!
Sarah Dayan 回到 stream,教我们如何将搜索体验集成到 React 应用程序中,而她的队友 Dhaya 做了同样的事情,将搜索体验集成到 vanilla JS 店面中。
最后,Algolia 的工程师 Vlad 和 Mouaad 向我们展示了如何使用 Flutter 构建跨平台的搜索体验,从而结束了会议。
感谢所有来参加发布会的人!这两天有你的问题和能量和我们在一起真是太好了。我们已经等不及 2023 年再见了!
更好的 DX 之旅:创建即时搜索应用程序
原文:https://www.algolia.com/blog/engineering/journey-better-dx-create-instantsearch-app/
即时搜索 by Algolia 是一个前端库家族,在 Algolia APIs 之上创建搜索 ui。
今天,我们将介绍 创建即时搜索应用 : 一个命令行界面(CLI)来从终端 引导即时搜索应用。你需要的只是node . js≥8,不需要安装其他的。
https://www.youtube.com/embed/Lv0j__EdVqg?feature=oembed
视频
创建即时搜索应用预览
为什么
开发者体验(DX)一直是 Algolia 的 DNA。我们一直想改善开发者和我们产品之间的互动。在 Algolia 仪表板上花费了大量的努力来方便您的搜索设置,在我们的 API 客户端上花费了大量的努力来与我们的服务器轻松通信。另一方面,我们构建搜索界面的前端解决方案——instant search——虽然功能强大,但开始使用起来相当复杂。
当只有instant search . js可用时,开发一个普通的 JavaScript 应用程序是非常简单的。既然我们支持很多环境( React ,React Native,Vue,Angular,iOS,以及 )我们已经提供了很好的组件原语来构建搜索 ui,但是我们还能做得更好吗?
我们从脸书汲取灵感,更具体地说是 创建 React 应用——React 团队正在开展的一个令人敬畏的项目,旨在改善 React 开发人员的体验和入职。
创建即时搜索应用程序让你专注于你的项目,不管你的生态系统如何,你都可以处理所有繁琐和重复的工作:
- 你有新的数据集可以使用吗?运行 CLI 并输入凭据以访问该数据集。
- 你有新的客户需要制作演示吗? 运行 CLI,输入应用凭证,开始构建体验。
- 您需要 Algolia 团队的帮助吗? 使用 Create InstantSearch App 生成的 在线模板 发送给我们!我们将尽最大努力帮助您获得出色的搜索体验。
这个工具是关于实际的搜索实现,而不是构建一个应用程序的过程。它根据给定的信息创建一个工作 UI。在宣布之前,我们已经在内部使用 Create InstantSearch 应用程序几个星期了,它极大地提高了我们的工作效率。
我们如何在 Algolia 使用工具
帮助快速取悦用户
在 Algolia,解决方案工程师是面向客户的工程师,为客户和合作伙伴构建概念验证。他们经常需要创建即时搜索应用程序,并在其上进行演示和迭代。这个工具帮助他们提高开发速度,展示他们的业务的可能性。
帮助阿哥利亚帮助你
臭虫繁殖通常是解决问题的最佳方式。创建即时搜索应用程序允许用户重现 bug:
后者现在是我们帮助客户发现问题的首选方式。我们给他们发送一个在线模板的链接,他们把它分出来并展示 bug。这完全发生在浏览器中。
帮助你了解即时搜索
工具永远不应该妨碍新用户。在重写整个 Algolia 文档时,我们决定跳过所有入门指南中的工具解释,提倡使用 Create InstantSearch 应用程序。我们甚至用它来引导我们新的 互动教程 。
这只是开始
创建 InstantSearch 应用程序只是我们迈向更好的前端 DX 之旅的开始。我们有更多的目标要实现,并期待分享更多的改进。同时,试试我们的即时搜索库吧!
npx create-instant search-app my-app
你可以在 GitHub 上找到文档和源代码 。如果您有任何反馈,请不要犹豫,在 Github 上让我们知道,在上发推文给我们或者评论这篇文章。
知识图表回答问题并返回知识而不仅仅是搜索结果
原文:https://www.algolia.com/blog/ai/knowledge-graphs-and-ontologies-adding-knowledge-to-keyword-search/
知识图表和本体代表了一种相当简单和直观的方式来组织和搜索你的内容。像 谷歌、亚马逊、苹果医药 和 金融等科技公司已经将知识图技术构建到他们的搜索应用中。
(知识图还有其他用途;例如, 自动翻译 。然而,我们这里的重点是搜索。)
在搜索的历史上,有很多不同的做法,例如 关键词搜索 ,基于文本匹配或同义词匹配单个单词或短语。本体和知识图通过添加 主题 匹配向前迈进了一步,其中属于相同主题或包含相同实体(不一定是相同单词)的项目和文档也被认为与查询相关。
我们可以通过查看两个常见的用例来了解关键词搜索和知识图之间的区别:
- 通过查看多个结果并选择您喜欢的一个来搜索项目。当你在电子商务网站上搜索一件衬衫、寻找一份土豆食谱等时,这是你在大多数专业网站上正在做的事情。
- 搜索精确问题的答案(“问题回答”)。这就是当你搜索你喜欢的建筑的建造日期,或者你刚刚看的电影中的一个演员时你正在做的事情。问题回答是关于寻找精确的数据:日期、姓名、地点等。
关键词搜索第一个就够了。知识图表的引入是为了帮助后者——回答精确的问题。在 knowledge graphs 之前,在你刚刚观看的电影中寻找演员是一个三步的过程:找到一个描述电影和演员阵容的页面,浏览页面寻找演员,并在列表中找到你的角色。知识图可以直接显示答案。
2013 年,随着计算机科学的发展趋势,谷歌宣布对其搜索引擎进行根本性的改变,即搜索万维网应该帮助人们找到“东西而不是字符串”。这个变化就是他们对知识图表的使用。他们的想法是我们被大量的事情淹没了。事物难以简单分类,因此不包含一组简单的共享关键字。知识图表通过在给定的领域内根据事物的意义和用法来组织事物,帮助我们从众多事物中发现我们想要的东西。包含超过 5000 亿个事实的 谷歌知识图谱 在其所有月度搜索中使用了近三分之一。其著名的“知识面板”(有时称为“信息框”)将基于项目的关键字搜索与知识图结合起来,以返回查询的完整答案:
在上面的图片中,用户输入了一个单词(“奥斯卡奖”),谷歌用它来找到其知识图的入口点(我们将在下面看到它是如何工作的)。然后,谷歌在其知识面板中发回了一组完整的相关事实,我们称之为故事。用户然后点击知识面板中的一些事实来更深入地挖掘故事。
接下来,用户键入一个更详细的查询(“奥斯卡金像奖 1939”),Google 使用它来显示一个更新的知识面板(带有附加效果的图像):
相当好。Google 将查询扩展为一个 问题 ,并返回一个 答案 以及一组有用的搜索结果。此时,用户可以选择继续搜索或停止搜索,因为他们的问题已经得到了回答。
什么是知识图?数据是什么样的?
知识图是一种专门的数据结构和查询语言,它允许人们(通常是领域专家)用易于理解的知识位来表示信息。医学专家可以将他们的专业知识输入到图表中,而其他医学专业人员可以查询图表来帮助他们诊断和治疗患者。
考虑一下 维基百科 ,一个广泛使用的知识图表,包含 越来越多的信息 ,其中许多信息是由公众进行同行评审和策划的(就像维基百科)。比如包含大量关于 巴黎 : 的结构化信息
当你在维基数据页面上滚动时,你会看到对巴黎的简短描述,以及它在多种语言中的不同名称
再往下,你会发现不同年份的人口:
注意 概念 在这里扮演的角色:所有的信息都被组织成主题——城市人口、按性别划分的人口,等等:
概念使知识图能够组织世界上任何一个城市的海量数据。
最后,还有其他主题的超链接。比如在巴黎页面,可以了解到现任和前任市长:
但如果你点击现任市长的名字(安妮·伊达尔戈),你会进入一个关于她的单独信息页面:
以此类推。知识是无限的,但可以一次构建一个事实。
事实、关系和概念
正如我们所见,知识图将数据组织成事实关系图。这种事实关系包括:
- 一个或多个相关概念(“城市”和“人口”是概念)
- 符合概念的事实(“巴黎是一座城市”)
- 一个或多个关系(城市“巴黎”的人口为“2,165,423”)
我们称这些个体事实关系为 三元组 ,因为它们有 3 个部分:2 个对象和 1 个关系,如:对象 1 →相关→对象 2
- 三联是“巴黎”→“是实例”→“城市”。
- 对象是“巴黎”和“城市”
- 关系是“是一个实例”
你还可以更进一步,创建一系列事实关系和推论,例如“巴黎是一个大城市,男女居民人数几乎相等。”
利用概念和层次创建一个本体框架
因此,图表将事实与其他事实联系起来。但这还不是知识。像人类一样,计算机需要概念(和概念的层次)来理解世界上事物的多样性和复杂性。换句话说,概念以及事实帮助我们 认识 世界;因此,知识图表必须创建概念关系,我们在其中放置事实。我们称之为图的 本体框架 。
回到 Wikidata,我们有“实例”概念,这是一种关于对象的知识。这个概念可以应用于图中的 100 多万个项目。例如,巴黎是几个类的“实例”,包括:
- “首都”,是“城市”的子类
- “特大城市”(超过 1000 万市民),是“百万城市”(超过 100 万市民)的子类
没有概念,关键字搜索仍然是足够的。然而,有了概念,就有可能走得更远,增加一个城市的历史、日常事实等等,以利用一个图表可以告诉我们的关于世界上任何一个城市的网络故事。
让我们回到开头提到的两个用例:搜索一个物品或者一个精确的答案 。
关键词搜索
关键词搜索可以通过返回项目来回答像“城市人口”这样的最简单的问题,而知识图 可以对像“巴黎的人口是多少” 这样的问题提供精确的答案,从而显示更详细的知识作为结果。关键字搜索中的同义词 解决了搜索一个项目时语言的复杂性(通过 向查询添加备选单词)。在一般知识图的情况下,目标是提供问题的答案,复杂性是分析查询以识别实体(查询可以是像“巴黎”这样的实体,但是它也可以匹配像“1939 年奖励学院”这样的实体的几个属性)。)
知识图表
类似于巴黎页和其中导出的推论,专家医疗诊断系统将极大地受益于知识图的能力;然而,要做到这一点,需要以一种准确的方式将许多不同来源的数据结合起来,这是一个特别复杂和巨大的挑战。例如,如果你点击第一个参考(2988507)来查找巴黎的天气:
您将看到下面的信息屏幕,它从许多外部来源(例如,天气和地图数据提供商)获取数据。使用多个数据源,每个数据源都有自己的专有结构和特性,这是一项耗时且复杂的工程任务:
尽管面临这一挑战,强大的知识图表仍被用于以及 科研金融 和法律 等领域,在这些领域中,信息多种多样且数量巨大,事实关系变得多维且往往难以理解。我们将讨论知识图带来的大数据和可伸缩性挑战。但是首先,让我们再来看看知识图是如何与关键词搜索相结合的。
结合知识图谱和关键词搜索
回到上面提到的两个用例,下面是关键字搜索如何与知识图一起工作:
关键词搜索可以用同义词回答类似“晚礼服”这样的简单查询。知识图对于这个用例是必要的。
一个寻找事实的精确问题可以通过知识图来解决。比如“巴黎的人口是多少”。
注意,像“喝葡萄酒最好的城市是哪里?”无法用知识图表来回答。虽然知识图表可能有助于回答一个精确的问题,但是它们受到它们能够回答的问题类型的限制。需要像 LLMs 这样的机器学习技术来“理解”和回答这样复杂的、基于语义的问题。
知识图表的挑战——优点/缺点
知识图的一个关键优势是它的信息是有管理的。例如,谷歌知识图中的大部分数据都是人工管理的。另一个优势是它能够通过提供链接来证明答案的正确性
然而,一个缺点是,一个知识图谱侧重于而不是侧重于。换句话说,知识图可以很好地回答一个小问题列表(高精度),但不能覆盖许多问题(低召回率)。为了在不牺牲精确度的情况下提高召回率,像 OpenAI 的 ChatGPT 这样的 LLM 虽然还处于早期阶段,但已经超越了知识图。
没有一项伟大的技术是没有挑战的。但是有些挑战可能会成为阻碍
-
构建知识图表成本高昂,而且通常无法达到回答足够多问题所需的规模,因此无法获得正投资回报(ROI)。大多数知识图没有正的 ROI,这使得许多公司寻求其他语义搜索解决方案来回答客户的问题。
-
保证 质量 和正确的 数量 的数据是一个挑战。知识图的好坏取决于它所包含的关系。成功所需的大量事实和关系令人望而生畏。如果它的知识中有任何漏洞,或错误的信息,图表就变得不可用,如果重要的数据是误导性的,那么依赖它就有风险。
-
很难规模化。信息发生变化,变得过时或陈旧;旧数据可能是错误的或错误分类的;新数据有时需要重新思考旧的概念和关系;诸如此类。这些问题使得知识图在许多情况下很难保持最新。
-
专门的知识图谱依赖于该领域专家繁琐的手工录入。这需要他们花费大量宝贵的(也是昂贵的)时间来输入正确的东西。
机器学习和/或知识图表
公司因此转向人工智能/人工智能技术来加强他们的关键词搜索,如预先训练的大型语言模型(LLM)和向量空间。想象一下:取代手动输入事实和概念,或者从精选的资源中提取知识,教机器阅读领域内的每个重要文档并学习如何综合这些信息以回答相关问题的技术怎么样?一台 自学习 机器将解决上述数据输入和可扩展性挑战等问题。
当资源的管理和解释结果的能力是一个关键优势时,知识图表对于谷歌网络搜索或较小的特定行业网站仍然是相关的。对于其他用例,大型语言模型(LLM)在捕获大多数问题的能力方面已经超过了知识图。然而,知识图仍然可以作为训练数据:最佳知识图中的质量信息经常被用作 LLMs 和其他基于 ML 的神经学习系统的输入——这是有意义的:专家信息创建了一个更透明、 可解释的 AI ,并为模型构建提供了一个彻底、可靠的起点。
什么是知识管理?
你了解知识管理吗?
让我们从知识的概念开始,因为它适用于企业环境,并向下钻取。在做生意的过程中,知识创造会自然而然地发生。从根本上说,知识是有用的、相关的信息,是公司从各种事实和数据中收集到的。
知识一直被认为是无价之宝。早在 1597 年,弗朗西斯·培根爵士在认识到“知识就是力量”时宣布了这一事实。
几十年后,本杰明·富兰克林在他的《财富之路》一书中写道:“如果一个人倾其所有追求自己的知识,那么没有人能从他那里拿走。对知识的投资回报最高。”
知识管理的来临
在现代,思想家们逐渐认识到,为了充分利用知识,你必须管理它。
在现代,知识管理什么时候变得时髦了?
管理顾问和作家彼得·德鲁克在 20 世纪 80 年代提出了“知识管理”这个短语,因为顾问们注意到互联网是游戏规则的改变者。随着诸如在线仪表板、自助服务客户支持、内容管理系统和内部网等工具的出现,他们可以很容易地看到,找到组织和共享大量信息的方法,以及自动化系统来实现这一点,将是改进业务指标的关键。
“知识管理”这个术语在 20 世纪 90 年代变得更为人所知,那时知识管理战略,实际上,已经诞生了;几个关键人物充实了细节。这个概念的设计师之一是汤姆·达文波特,他(和合著者拉里·普鲁萨克一起)写了一本 1997 年的畅销书,名为《工作知识:组织如何管理他们所知道的知识》;它仍然被认为是关于这个话题的圣经。
成功的知识管理保存并提供了组织的知识资本,减少了对现有内容的再创造,提高了员工的效率,可以想象更高的利润率,以及许多其他相关的好处。
公司最近意识到这些潜在的优势,开始投资信息管理。
他们开始有意识地收集、记录、组织这些信息,并与相关利益相关者分享。这样做也是谨慎的,因为企业知识的数量正在激增,数据存储在多个位置,如纸质文档、不同类型的知识库和网站上,以至于搜索信息的人并不总是有时间或耐心搜索每一个潜在的信息源。
三类组织知识
公司希望收集和保存哪些类型的知识?共识是,当谈到企业知识管理计划时,有三种类型的知识:显性、隐性和隐性。
- 显性知识 是最具体的,看似显而易见的类型:现有的或正式记录在案的,结构化的细节,比如一步一步的程序,数据库中的客户数据,研究报告,案例分析。在企业环境中产生的显性知识很可能会被理所当然地保留下来,这是一件好事,因为它可以帮助指定的群体,如新员工。
- 隐性知识 是应用显性知识——学到的技能;某人通过理解实现某事的最佳方式而获得的东西。这种类型的知识可能很难正式表达或转换成明确的知识,但它可能同样有价值。
- 隐性知识 更多的是“直觉”获得的信息,这些信息可能是人们在学习过程中“获得”的,比如如何在自行车上保持平衡。它可能是只有特定的人脑子里才有的实时信息。
隐性知识可能很难用语言表达,这当然也很难传达给其他人。根据 达文波特 的说法,就工作场所的知识管理系统而言,没有大量的隐性信息是特别相关的。尽管如此,即使是一条相关的隐性知识也应该被收集。
什么是知识管理?
达文波特将知识管理定义为“获取、分配和有效利用知识的过程。”其他专家说,它涉及定义、构建和保留信息。
大多数知识管理的应用都围绕着公司世界中的信息流,这通常包括各种不同的信息结构,如内容管理系统、数据库和信息技术服务台界面。
管理企业知识的一个目标是使用组织技巧和技术来利用它。在办公环境中,这将转化为识别、组织、存储和共享关键信息的多部分流程,以便可以通过 企业搜索 轻松找到关键信息,并在需要时由合适的人员高效访问。
这种相对宽松的知识管理定义被采用了几年,直到 Gartner Group 决定制定并公布自己更具体的版本:
知识管理是一门促进识别、捕获、评估、检索和共享企业所有信息资产的集成方法的学科。这些资产可能包括数据库、文档、政策、程序,以及以前未获得的单个工人的专业知识和经验。
提炼最初的概念被证明是有益的,因为越来越多的公司正在创造和传播大量的企业知识,同时也开始意识到他们不断增长的数据宝库的内在价值。像这样的统计数据正在被发布和仔细考虑
- 财富 500 强公司每年因不分享知识而损失至少 315 亿美元。(IDC)
- “向员工或客户提供更好的背景知识,将服务提供商的回答时间缩短了 20 %- 80 %,提高了竞争力和满意度。”(高德纳)
简而言之,看起来公司需要某种综合系统来管理他们迅速增长的知识量。
什么是知识管理系统?
这很简单:知识管理系统是一种 it 设备,公司使用它来帮助 IT 组织信息,并将其提供给客户(内部和外部),或其他需要它的人群,以提高他们的理解,并最终促进业务流程中的协作和协调。
有各种类型的知识管理系统。其中一些是独立的孤岛,而另一些可能有重叠区域,例如当技术支持门户可通过人力资源内部网访问时。典型的知识管理系统可能以案例研究、网络研讨会、常见问题解答、教程和社区用户论坛的形式存储信息。
知识管理系统可以是特定团队或组织专有的,也可以是整个公司(员工和销售人员)或公众都可以访问的。
知识管理系统的一些例子包括:
- 单据集合。 例如,医疗患者填写的表格、白皮书、技术帮助文章或特定行业的时事通讯文章
- 文档存储系统 用于保留各种类型的数字文件,如 pdf、文本文档和图像
- 文件管理系统。 根据IBM的说法,文档管理系统是“用于捕获、跟踪和存储电子文档(如 pdf、文字处理文件和纸质内容的数字图像)的系统或过程”
- 内容管理系统(CMSes): 让人们创建结构化和非结构化数字内容,然后编辑、共享和发布这些内容的软件
- 聊天机器人, 搜索数据库并应用机器学习技术为信息搜索者提供准确即时答案的程序
- 在线培训项目, 例如,包含软件工程师课程的学习管理系统(LMSes)
- 群件系统, 也被称为“协作软件”,它的功能就像从事共同任务的人们的社交网络,让他们共享信息,而不管他们的地理位置如何。群件包括消息传递工具,如 Slack,它保留对话和项目笔记,以备将来通过搜索参考
- Wikis, 用于项目组织、协作和公共文本编辑的在线空间
- 数据仓库。 这些支持商业智能活动,尤其是分析。公司使用它们来汇总不同来源的信息,并允许根据需要提取这些信息
- 内部网、 内部可搜索的公司网络,是共享生产力工具、文档、人力资源数据和工作流程信息的理想选择
- 反馈数据库。 这允许销售代表等团队提供产品信息
知识管理流程
知识管理流程通常由三个阶段(在某些情况下,四个阶段)组成,这可能会根据企业的目标而有所不同。
第一阶段:获取和组装信息
第一步包括寻找、识别和收集所有正确的信息,并记录下所有遗漏的细节。该信息收集过程通过多种方式实现,包括:
- 确定寻找信息的最佳方法(这有助于了解组织学习在公司的运作方式)
- 确定应该搜索哪些数据源和系统
- 梳理所有相关数据来源,收集需要知道的信息
- 扫描文件并使用光学字符识别清理文件
- 如果必须捕获信息,但目前还没有一种可访问的格式(例如,它只存在于某人的大脑或手写笔记中),适当地记录它
- 与利益相关方核实,确保所有信息都得到考虑
第二阶段:存储和组织信息
第二阶段围绕着建立正确的系统,以便轻松高效地检索知识。该过程可包括:
- 创建可行的组织结构
- 对可用信息进行分类和映射
- 在内容中,提供相关信息的适当链接
- 评估如何有效整合组织结构中的信息
- 分析以确定如何最好地获取知识
- 系统最佳实践的编纂
第三阶段:共享信息
现在回报来了:信息的无缝分发,因此它可以以任何有意义的方式被利用来提高效率、生产力、过程改进和创新。这个最后阶段可能包括:
- 与相关团体分享收集的信息以及如何获取这些信息
- 关于如何优化使用知识管理系统的员工教育
- 获得员工反馈和微调功能
- 推广倡导和重视知识共享的企业文化
- 返回以保持知识课程的最新和相关性
知识管理的好处
让我们回到培根的古训:知识就是力量。
那么,具体来说,一家公司如何有效地组织和管理其获得的知识来改善其业务流程和员工生产力,从而促进更大的成功呢?
让我们细数一下。对关键知识的有效管理可以促进:
- 员工需要时,轻松、即时地获取 信息
- 消除信息 孤岛 因为所有数据都存储在单一系统中并可供访问
- 流程标准化, 不再需要花费时间重新发明操作方法
- 减少重复的信息收集 和任何相关的失误
- 更好地做出决策 因为手头拥有所有相关信息,并提供获取人们的经验和意见的途径,这可以扩大集体视角
- 团队成员之间的无缝目标协调
- 团队成员协作 通过共享信息的轻松移交
- 更好的入职和培训, 通过仅提供关键信息和最佳实践(而不是提供庞大的数据转储)来最大限度地缩短学习曲线
- 员工满意度
- 卓越的客户体验。 信息共享和协作可以帮助公司更快地提供答案,还可以减少优化产品或服务所需的时间
- 向客户提供最佳实践, 可以提高客户忠诚度,并通过正面口碑帮助建立企业品牌
- 减少运营成本 通过减少花费在重塑集体知识车轮上的时间
- 更少的错误。
- 揭示技能差距,这可能导致新的组织结构的形成和额外的雇佣
- 效率。 当员工能够快速找到完成项目所需的详细信息,而不是从零开始或者重新构建现有信息时,他们可以节省时间
- 数据保留: 如果一名长期员工离职且未能向同事进行充分的知识转移,能够自动将知识保留在内部
- 生产力。
- 通过鼓励分享关键信息和提供及时获取详细信息的途径,促进企业文化的创新
当考虑到所有这些广泛的、切实的利益时,这些利益还可以相互促进以获得更大的收益,大多数雄心勃勃的组织选择接受知识管理。
当然,知识管理并不是一门完美的科学。
知识管理解决方案挑战
建立一个有效的知识管理系统,也许是开创性的,只是第一步。为了获得最佳效率,必须积极维护系统。以下是一些公司在知识管理的冒险中最常遇到的挑战和陷阱:
- 过时的知识。 信息应定期审查和更新,以保持 100%的相关性。
- 老化的基础设施。 一个新的知识管理系统的“最先进的”技术工具和流程可能会迅速恶化,并开始对系统的各个方面产生负面影响。例如,如果一个 后台流程 按照现代标准来看变得难以访问或使用起来笨拙,员工可能会忽略它或绕过它
- 员工缺乏寻找和利用可用信息的动力 。如果没有持续的企业对知识共享的重视,管理者可能很难激励员工利用现有资源,利用信息,并与队友分享知识
- 信息安全受损 如果用户权限和安全级别没有得到很好的维护
基本上,一个公司可能会因为知识管理而陷入更糟糕的境地。如果知识管理系统没有得到定期的重新审视和维护,那么在开始时看似伟大的计划可能会很快变成一堆过时的垃圾或过时的东西。
唷……这是一大堆博文知识,需要以一种最佳的方式来管理和分享。
总结一下你所学到的:知识管理让员工、客户和其他相关方轻松找到所需的信息,这可以极大地提高员工的效率和生产力,从而为企业带来竞争优势和更高的销售额。
据麦肯锡公司称,一个有效的知识管理系统可以将人们搜索信息的时间减少 35%,并将组织生产率提高 20 %- 25%。因此,总而言之,建立一个有效的知识管理系统被认为是对想要提升自己的公司的一项巨大投资。
正在为您的公司寻找合适的知识管理工具?Algolia 提供先进的搜索技术,让员工和客户使用单一搜索界面轻松、高效地访问他们的数据。 联系我们 了解更多。
更多信息
Algolia AI:宣布业界最智能的搜索平台
今天,Algolia 非常兴奋地推出我们的最新人工智能功能,使我们在帮助任何规模的企业通过个性化和相关的体验来控制人们如何搜索、发现和找到他们的产品和内容的使命上向前迈进了一步。
我们一直希望利用最好的技术来解决消费级搜索的众多挑战,包括人工智能。 但是首先,为什么 AI 对于搜索是必要的?
搜索是一个不断进化的谜题
搜索是一个永远无法解决的问题——它伴随着一系列不断演变的独特挑战。每个客户都是不同的,甚至单个客户的需求也会随着时间的推移而变化,因此搜索发现不可能有“一刀切”的配置。
有四个主要原因:
- 我们都在以一种“混乱的”、不可预测的方式搜索,因为我们用不同的词来描述同样的事情,打错别字,等等。
- 我们并不都期望同样的搜索得到同样的结果。
- 我们期望的结果会随着时间而改变。只要想想 2019 年和今天相比,人们在寻找“面具”时的期望是什么!
- 最相关的结果不一定是企业最想展示的结果。
所有这些挑战都让搜索变得极其困难。手动解决这些挑战是不可能的,因为有太多快速变化的参数需要考虑。
这就是为什么人工智能(AI)是应用和解决这些搜索挑战的完美技术。
所有 AI 驱动的搜索都不相等
直到今天,将人工智能应用于搜索的选择是从头开始构建整个搜索栈,或者购买第三方“人工智能搜索”解决方案。这两种方法都是不够的。
对于 DIY,你需要召集拥有合适技能、基础设施和工具的团队来构建你自己的人工智能模型,并将它们应用到你的搜索中。
在打包的人工智能搜索解决方案方面,大多数都是固定的,难以定制。他们没有给企业任何控制权和可见性。
输入阿洛艾
Algolia AI 是一个人工智能算法家族,解决了搜索和发现体验的每个维度。
首先,它能让你了解所有类型的用户和搜索。
- 自然语言处理,允许 Algolia 识别超过 70 种语言的搜索
- 自然语言理解识别搜索请求中的意图和实体,以运行更有针对性的搜索。
- 动态同义词建议用 AI 生成的同义词不断优化体验,所以无论用户用什么词来描述一个物品,都会找到。
“ABC 是澳大利亚最大的新闻平台,我们的受众非常多元化。在我们超过 100 万篇文章中,很难持续地将访问者与正确的内容联系起来。自从使用动态同义词建议后,我们看到我们的搜索在 上有了很大的改进
–彼得·布芬顿,澳大利亚广播公司产品经理
一旦 Algolia 理解了用户的意图,下一步就是返回最相关的结果。Algolia AI 为每个搜索和用户提供完美的结果。
“对于像我们这样目录中有超过 25,000 种产品的零售商来说,能够改善我们每个用户在搜索过程中的体验的解决方案会带来巨大的价值。Algolia 的内置个性化代表了迪卡侬新加坡在数字时代的真正进步。”
–理查德·米格特,迪卡侬新加坡电子商务项目负责人
掌控企业
会有 Algolia AI 代替不了人类的情况。这就是它与我们的搜索和发现管理工具紧密集成的原因。它与我们的定制排名公式一起工作,因此我们的客户可以使用利润、可用性、用户评论或任何其他数据来影响相关性,并且仍然可以使用我们的规则和我们的可视化编辑器对任何搜索进行商品销售。通过这种方式,业务用户始终可以控制体验。
最后,Algolia AI 允许您带来自己的 AI,将您的数据和定制模型的输出与 Algolia 的速度、相关性和灵活性相结合,为您的用户创造出色的体验,同时优化您的业务指标,从您的 AI 投资中释放更多回报。
“由于 Algolia 的灵活性及其强大的规则 API,我们能够将我们独特的数据科学专业知识与 Algolia 最先进的文本相关性相结合。这种方法极大地提高了我们的搜索和 Algolia 支持的谷歌购物登录页面的转化率。”
–艾蒂安·德布里埃,马诺马诺高级产品经理
还有一件事……阿哥利亚解答!
今天,我们还宣布了另一个自然语言理解功能:Algolia Answers!
Algolia Answers 将 Algolia 的可调相关性与人工智能驱动的自然语言和现实世界理解相结合。基于 Algolia 和 OpenAI 的技术,Algolia Answers 解决了最困难的自然语言问题,不仅找到了答案,还找到了对搜索者问题的最佳回应。
“我们已经从 Algolia 的答案中看到了很好的结果,这些问题很难单独通过文本搜索来回答。它能够从我们的新闻档案中返回非常相关的常青内容,例如“火山为什么会爆发”
–彼得·布芬顿,美国广播公司产品经理
现在就开始吧!
以下是如何开始使用我们最新的人工智能功能:
标准计划和高级计划已经提供自然语言处理功能,高级计划还提供个性化功能。 报名入门 。
动态同义词建议 和 动态重新排名 将普遍适用于我们的 保费计划 客户。但是任何人都可以在他们还在测试阶段的时候测试他们! 今天报名 受益于 Algolia AI,或者阅读 动态同义词建议 和 动态重排名 。 终于, 阿果懂 和 阿果答 在封闭 beta 中出道。点击链接加入等候名单。
网站搜索的 5 个最佳实践
原文:https://www.algolia.com/blog/product/learn-about-site-search-best-practices/
在一个用户期望相关、及时结果的网络世界里,网站搜索不仅仅是一个基本的搜索栏。
当用户进入你的网站却没有找到他们想要的东西,他们会在几秒钟内转到其他地方。然而,正确使用的话,网站搜索可以成为一个非常重要的商业工具,推动转换,参与,并产生有价值的见解。
设计和优化是满意的用户和不满意的用户之间的区别,满意的用户可以自信地在你的网站上操作,而不满意的用户会因为负面的搜索体验而离开。
这里有五个需要记住的关键最佳实践:
- 使搜索框用户友好。
- 分析搜索数据。
- 针对移动搜索进行优化。(或者您的用户可能在的任何地方!)
- 使用自动完成、自动更正、过滤器和方面来帮助搜索。
- 让结果页面直观、有帮助、有启发性。
通过遵循这些关键实践,你将为你的网站配备强大的网站搜索,让用户找到他们需要的东西——甚至可能发现他们甚至不知道自己需要的东西。
为什么要优化站点搜索?
网站搜索是用户体验中非常宝贵的一部分。致力于相关结果和直观设计的伟大搜索体验可以快速启动你的网站并满足访问者。
有些访问者在进入你的网站时,很清楚他们想要什么。其他人没有。伟大的网站搜索迎合浏览器和搜索者。
超过 40%的网站访问者 会直接进入搜索框。这些目标导向的网站搜索者是你网站成功的重要组成部分,因为他们比浏览器更有可能转化【216】。使用站点搜索,你可以帮助他们快速找到他们需要的东西,有意义地改进他们的搜索,并帮助他们在你的站点上使用其他相关内容。顺利,优化的搜索意味着快乐,参与转化访问者。
对于没有明确目标的网站浏览者来说,网站搜索功能可以为他们提供有意义的后续步骤。搜索和发现工具,如相关搜索、推广横幅、过滤器和方面,可以帮助激起他们的兴趣,引导他们获得满意的体验、内容和产品。只要他们的点击继续带来价值,他们就会继续关注你的网站。
网站搜索的 5 个最佳实践
这里有五种方法可以让你的网站搜索发挥最大作用
1。使搜索框对用户友好
搜索栏是用户参与网站搜索的门户。不留任何怀疑的余地。
你可以通过几种重要的方式让搜索框变得直观:
- 将搜索框放在一个有意义的地方。
- 确保搜索栏在所有页面上的位置都相同,这样用户在浏览网站时就能准确地知道在哪里可以找到它。
- 使用microcopy作为文本提示帮助用户解决。
- 确保搜索栏足够大,能够引起人们的注意。
- 创建一个足够长的搜索栏来接受平均搜索字符串。如果您需要节省空间,请确保搜索框可以在单击时展开。
2。分析搜索数据
每次用户与您的网站交互时,他们都会生成有价值且可操作的数据,您可以使用这些数据来阐明用户意图并推动业务优先级。 分析你的站点搜索数据 可以帮助你评估你的搜索功能的质量,揭示重要的关键词,给你提高转化率的洞察力。
数据还可以推动不同类型站点的具体改进:
- 电子商务网站所有者可以识别最受欢迎的产品,发现搜索中出现的新趋势,然后相应地配置搜索。使受欢迎的产品易于查找,突出显示流行或特价商品,并帮助搜索者发现受欢迎的相关产品。
- 内容密集型网站(如媒体网站)的所有者可以发现内容缺口——用户正在搜索的主题,但没有相关内容——并填补这些缺口。让受欢迎的视频或资源更容易找到,并将用户指向与他们最初观看或搜索的内容相关的内容。
3。针对移动搜索(或您的用户可能在的任何地方)进行优化!)
如今,用户不仅仅是通过桌面上的浏览器进行搜索。从手机到语音到虚拟助手,访问者使用的每一个设备都需要优化的相关搜索。
移动搜索正在迅速发展,在移动设备上执行的搜索比标准计算机上执行的搜索更多。
移动搜索应该建立在优秀搜索的基础上,增加即时结果、输入错误容忍和查询建议等功能。移动搜索还应该考虑到等手机特有的 UX 元素,无论是标签栏、全搜索栏还是图标都最适合你的内容。
语音搜索 功能也是必备。大致 36%的消费者拥有 智能音箱 ,75%的智能音箱拥有者日常使用。出色的语音搜索通过使用动态过滤、提供上下文和个性化结果来提供相关结果。确保你的生活经得起挑战。
目前没有智能音箱的客户,未来可能仍会使用语音搜索。允许用户使用自然语言模式与应用程序和网站互动的对话式搜索也在兴起。
4。使用自动完成、自动更正、过滤器和方面来帮助搜索
不幸的是,在线访问者并不总是搜索专家。 研究显示 客户不仅需要好的搜索,还需要出色的导航和 UX 来找到他们在网站上需要的东西。
因此,一个好的网站搜索的作用是引导用户找到他们最终想要的东西。这包括帮助他们提炼和完善他们的搜索词,或者帮助他们找到他们需要的东西,而不需要输入完美的查询。
有很多方法可以让搜索变得更容易,包括:
- 将搜索词留在搜索框 中,这样用户可以方便地编辑他们当前的搜索。如果搜索使用自动更正,这可能特别重要。
- 使用自动建议和推荐的搜索词 帮助用户进一步定义他们的搜索。
- 确保你的网站搜索能够容忍错别字 和 使用文本相关性 这样用户无论如何都能得到结果。
- 提供过滤器和方面 来帮助他们的搜索更加具体。对于电子商务网站,一些常见的过滤器可能包括大小、颜色和价格。
5。让结果页面直观、有帮助、有启发性
结果页面应该易于阅读,内容全面,并能预见用户需求——但又不至于让人不知所措。考虑一些给你的结果页面增加价值的方法
-
通过在搜索结果中使用推广的横幅 来激发用户寻找新的兴趣,而 通过在站点搜索中使用营销功能 。
-
考虑在结果中加粗或突出显示搜索词 。确保搜索栏出现在页面上,以便用户可以改进或更改他们的查询。
-
不惜一切代价避免“无结果页面”。确保你的同义词库已经建好,用户资料已经定义好,所有相关的页面、产品和内容都可以被你的网站搜索索引。不要显示“没有找到结果”的页面,引导用户找到相关的产品或内容来帮助他们转化,即使你没有他们想要的确切产品。
-
结果页面的格式可以决定用户体验的成败。 的结果应该包含来自你网站各处的所有类型的相关内容,就像一个 的联合搜索界面 一样。对以图像为主的结果使用网格布局,对以文本为主的结果使用列表布局。如果两者都没有明显的优势,查看用户统计数据,看看哪个是最有益的信息布局。
3 个伟大站点搜索的例子
一个优秀的网站搜索可以成就或破坏用户体验,尤其是对于拥有多样化内容的大型网站。看看这些伟大的网站搜索的例子:
LegalZoom:超凡爬虫
LegalZoom 是一家提供在线法律援助和资源的公司,该公司面临的挑战是让用户能够访问其网站上丰富的法律信息。为了提供相关和及时的结果,Legalzoom 使用一个高级爬虫 优化了他们的网站搜索,该爬虫可以有效地索引所有内容,并帮助用户回答甚至最细微的法律问题。
Coursera:前沿搜索 UX
随着 Coursera 的课程目录的扩大,开发团队发现自己陷入了一个代价高昂的迭代周期,无法让搜索达到标准。他们知道他们需要改善移动用户的体验,支持网站上的发现,并提供直观的界面。
Coursera 实现了一个新的搜索 UX,它是移动友好的,提供随你输入的搜索功能和打字错误容忍,并允许用户跨内容类型进行搜索。通过这些改进,Coursera 的目标页面浏览量增加了 10%,现在 30%的注册学生来自搜索。
iflix:闪电迭代
iflix 是一个面向新兴市场的娱乐平台,它依靠强大的用户分析数据来为用户提供新内容。尽管搜索是访问者浏览网站不可或缺的方式,但 iFlix 的搜索结果并不相关,也不直观。
用手机友好的搜索取代低效的搜索,让 更容易、更快地迭代 让他们的转化率提高了 20%。
【网站搜索入门】
优化的网站搜索让用户在更短的时间内更轻松地找到他们想要的产品、内容和服务。这是鼓励用户参与、转化和购买的关键。
Algolia 的快速搜索和直观界面建立在所有有效网站搜索的最佳实践之上。Algolia 配备了语音搜索、移动优化和分析仪表板,可帮助您联系到您的客户,无论他们身在何处。
观看我们的 演示 来了解在世界各地的网站上使用的功能。
学习我们的自然语言和语音搜索内部黑客马拉松
原文:https://www.algolia.com/blog/product/learning-natural-language-voice-search/
对于 Algolia 来说,声音是一个巨大的话题。我能提供的最好的视角是,在 2018 年初,我们每周都有一两个客户顺便问我们关于语音的问题。今天,我们大部分的对话都涉及到声音。我们正处于一个激动人心的时刻,我们的核心利益正在完美地满足市场需求。
声音触及一切
未来人人都有自己的声音。我们需要为自然语言查询提供良好的相关性,构建使人们能够自己调整相关性的服务,并创建帮助开发人员在任何平台上实现语音搜索的工具。我们还希望与我们的商业用户直接合作,设计最佳的语音体验这不是一小群人的努力,而是整个公司的努力。整个 Algolia 都相信语音搜索的未来。
这就是我喜欢我们最近举办的内部黑客马拉松的原因。我们邀请整个团队参加两天的自然语言互动实验。我们希望每个人都梦想着声音的未来。
一个适合大家的黑客马拉松
通常,当人们听到“黑客马拉松”时,他们会想到一群开发人员挤成一圈,敲击键盘。的确,在我看来,我们的工程团队是世界上最好的团队之一。但是我们在每一个工作岗位上都有人才。如果我们将黑客马拉松仅限于程序员,我们将会在其他方面失去优势。虽然我们称这个事件为黑客马拉松,但我们也认为它与其说是针对 黑客 的事件,不如说是针对 建筑 的事件。任何人都可以构建,即使他们不会编码。
我认为最能接受独特观点号召的团队是“第 28 团队”当你在活动期间经过他们杂乱的区域时,你可能会想知道他们的名字是否代表了他们团队成员的数量。(事实上,28 号团队有 11 个人。)软件工程师乔纳森·蒙塔尼(Jonathan Montané)组建了这个团队,他决心尽可能多地从不同的岗位招聘人才。
Montané告诉我,编码人员和非编码人员的混合对他们项目的成功至关重要。他说,因为语音应用程序的开发者花了很多时间来了解用户将如何与应用程序交互,所以团队中的非技术成员能够帮助决定 Team 28 的应用程序将支持哪些功能。这导致了“主要”和“次要”功能的创建,如果团队中的编码人员立即开始编码,他们可能不会发现这些功能。
Algolia 是一家国际公司。我们在世界各地有六个办事处,即使在我们的巴黎办事处,也有近三分之一的员工来自法国以外。每个人都带来了独特的视角。
我们希望我们所有的办公室都能参与进来,我很高兴看到我们纽约和亚特兰大的办公室也参与进来。几乎这些办公室的每个人都做出了贡献——当你意识到这些办公室主要是销售办公室时,这真是难以置信!纽约专注于一个常见的大苹果问题,即午餐吃什么,一名助理首先确定提问者的身份,然后转向 Algolia 搜索,提供餐馆建议。与此同时,亚特兰大建立了 Alexa 技能,以满足他们自己的销售需求。用户可以询问“管道中的机会”,Algolia 的查询规则将确定提供正确答案的意图。
安戈利亚的下一步是什么?
黑客马拉松项目帮助我们扩展了语音搜索和自然语言处理能力。不要担心——我们不会直接从黑客马拉松上发布代码。然而,我们确实学到了很多关于缺乏 NLP 经验的开发人员在使用现有工具时所寻找的东西。我们现在正在利用这一经验,并将其与客户反馈以及我们对未来几年 voice 发展方向的理解相结合。自然语言搜索有很多机会,我预计 Algolia 将继续保持我们的领先地位。
我希望人们能看看我们在手机、语音优先或其他任何地方为他们的语音搜索需求提供了什么。看看我们在algolia.com/voice正在做什么,让我们聊聊。
如何使用 Adobe Analytics 数据对 Algolia 搜索结果进行排名
原文:https://www.algolia.com/blog/product/leveraging-adobe-analytics-for-algolia-search/
众所周知,Algolia 为企业管理搜索结果及其排名提供了细粒度的控制。虽然首要任务是文本相关性,但接下来是打破排名关系的定制方式——例如,在 100 件不同的“polo 衫”之间。该定制逻辑可以基于销售排名、库存量、受欢迎程度、评级或企业正在跟踪的任何其他东西。考虑一家企业如何在搜索结果的第一行优先显示一个 polo,并在第三页隐藏另一个 polo,最终会对转化率和收入产生巨大影响。对于 Lacoste 来说,使用 Algolia 来改善搜索结果的排序,导致转化率提高了 37%。其他一些搜索优先级排序示例包括可能使用两个指标(最近和点击次数)对文章进行排序的新闻出版物,或者可能通过首先显示导致最多“联系我们”表单提交的内容来对其搜索结果进行优先级排序的咨询公司。
对于我们的 Adobe 客户,我们希望分享他们如何从 Adobe Analytics 引入指标,例如点击率最高的文章和页面,以便他们可以在排名逻辑中无缝利用。有几种不同的方法可以实现这一点:
1。Algolia Crawler 能够链接到您的 Adobe Analytics,以提供业务指标来改善您的发现体验。通过 几个步骤 ,爬虫将自动连接并从 Adobe Analytics 检索页面数据,使您的解决方案保持最新并与您的客户相关。
2。可以编写一个外部脚本来连接到 Adobe Analytics 获取数据,并丰富 Algolia 内部的记录。一个 的阿果前端库 可以方便的丰富阿果的记录。
3。Algolia InstantSearch 包括一个 小部件 ,可以轻松地将搜索数据直接发送到 Adobe Analytics 等分析系统。搜索是去抖的(只捕获完整的单词,而不是按下的键),并且可以为 Adobe Analytics 进行配置。
一旦您连接了您的数据,您就可以开始使用您的 Adobe Analytics 指标来战略性地优先排序您的搜索结果。
除此之外,您还可以利用 Algolia 内置的 A/B 测试功能来衡量如何在参与度和转化度上更进一步。我们很高兴听到你的结果!在 adobe-algolia-solutions@algolia.com 与我们联系。
查看“Algolia x Adobe Integrations”系列中的其他博客,关于如何将 AEM 内容导入 Algolia 和如何利用 Adobe Launch 个性化您的搜索体验!
了解如何在 Adobe Launch 中个性化您的 Algolia 搜索
原文:https://www.algolia.com/blog/product/leveraging-adobe-launch-events-in-algolia-for-personalization/
当潜在客户使用您的数字财产时,每一秒都是创造相关且难忘体验的关键。丰富的搜索和发现体验赢得了客户忠诚度,并提供了他们可能会参与的信息或产品。Algolia 的平台可以轻松利用来自多个数据源的见解,为搜索体验提供超强的个性化。与我们的合作伙伴 Adobe 合作,我们专注于将 Adobe Launch 的活动数据引入 Algolia,以了解客户在线上和线下采取了哪些行为和行动。这些事件以匿名方式进入 Algolia,用于了解哪些商品与每位顾客最相关。例如,我们可能会获得事件数据,表明一个人点击了布朗尼混合的多个 Instagram 广告。后来,当他们去搜索栏开始搜索“b-r-o-w”时,我们会知道将布朗尼混合食品排在比眉笔或棕色裤子更高的位置。让用户留在你的网站上,每一秒都很重要,拥有尽可能多的上下文有助于企业理解亲缘关系和解释意图。
我们之前的文章向您展示了各种数据摄取方法,让您开始使用 Adobe Experience Manager (AEM)。本文向您展示如何通过捕捉用户的点击和转换事件来个性化您的用户的搜索结果。
工作原理
Adobe Launch 是一个标签管理器和分发容器,允许数字团队在其 web 属性上收集用户行为,并在其工作流程中利用这些事件。当客户浏览网站时,Launch 会在页面上添加一个 Javascript。该脚本执行并绑定页面上可操作元素的启动规则,比如搜索或点击。
Launch 允许营销人员在一个地方管理跟踪脚本,他们希望将这些脚本添加到基于表单的体验页面中。例如,营销人员可以创建一个启动规则,在按钮上发生事件(例如,单击或鼠标悬停)时发送用户、页面和浏览器属性。
我们为 Adobe Launch 构建了一个 Algolia Insights 扩展 ,它提供了两个预打包的Algolia Insights事件(“搜索后单击”和“搜索后转换”)。这段代码是启发性的(不支持),但是可以给你一个如何开始和添加更多事件的想法。
扩展仪表板
扩展仪表板提供了一种浏览可用安装启动扩展的方式。它还允许根据您的需求进行扩展配置。
Adobe Launch Extensions dashboard
分机配置
Algolia Insights 扩展需要在使用前进行配置。
Algolia dashboard
这两个事件——“搜索后点击”和“搜索后转换”——被创建为“Adobe 动作”。这些操作需要输入,比如查询 ID、产品 ID、位置和用户 ID,我们可以从搜索结果中获得这些信息。我们可以将这些属性直接添加到 DOM 中,放在动作可以获取的 HTML 元素上。用户 ID 来自 API 调用。
创建规则和事件
使用 Algolia Insights 操作需要启动规则。
Algolia Rules dashboard
点击后搜索
Algolia Insights API 包含在一个启动操作中。此操作必须配置如下:
- 事件名称–在 Algolia 中识别事件的任意标签
- 类名 HTML 元素上使用的 CSS 类,该元素包含 Algolia Hit widget 设置的数据属性
文档 提供了关于此操作的更多详细信息。
Algolia’s dashboard screen to create the click event Rule
Algolia’s dashboard screen to configure the click event
搜索后转换
Algolia Insights API 包装在一个启动动作上。该动作需要以下配置:
- 事件名称–在 Algolia 中识别事件的任意标签
附加属性是必需的,但从 url 中提取。Algolia Hit 小部件需要在可操作的链接上添加查询字符串。 文档 提供了关于此操作的更多详细信息。
Algolia’s dashboard screen to create the click event
Algolia’s dashboard screen to configure the conversion event
Algolia Personalization dashboard
当其中一个用户事件在页面上发生时,Launch 会将事件和适当的元数据发送回 Algolia,我们的搜索引擎将使用这些信息来重新排列产品,以反映趋势和个人喜好。上面,你可以看到一个例子,我们如何使用特定的事件来定义 Algolia 中的搜索个性化策略。
我们欢迎您来到我们的助手 的 build off,与我们分享您如何利用 Adobe 发布活动在 Algolia 中推动动态重新排名和搜索个性化!在 adobe-algolia-solutions@algolia.com联系我们。
查看“Algolia x Adobe Integrations”系列中的其他博客,关于如何将 AEM 内容导入 Algolia 以及如何利用 Adobe Analytics 指标进行搜索排名。
寻找“女同性恋者”
原文:https://www.algolia.com/blog/algolia/looking-for-lesbians/
在网上搜索“女同性恋”这个词就像走过一个雷区。输入“拉拉”,回车,你极有可能被色情淹没。添加一个像“医疗服务”或“事件”这样的词,你就会得到对女同性恋友好的医生和事件的信息。错误地输入“gyno”(例如,“gyon”),或者添加像“女同性恋性行为”这样的模糊搜索词,你就会被带回到与女同性恋相关的色情信息中。
在搜索与女同性恋相关的信息时,必须筛选色情内容,这创造了一种令人不满意、尴尬甚至令人不快的搜索体验。这也传达了一个错误的印象,默认,女同性恋内容是色情的。我们很容易理解为什么 LGBTQ+社区指出这是一个可见性问题。
对于 Algolia 来说,骄傲月似乎是一个通过搜索技术来看待这个问题的好时机,可以让人们了解这里正在发生的事情以及如何解决这个问题。
Algolia 为个人网站提供网站搜索。网站搜索依赖于结构化的内容,或者至少以一种已知的方式格式化内容,这与网页搜索相反,网页搜索的内容很大程度上是非结构化的和不可预测的。通过格式化和结构化数据,Algolia 让客户能够根据内容的含义控制过滤、排名和选择内容,从而将成人内容与其他内容分开。这对谷歌来说难度更大。为了理解为什么,让我们比较一下我们和谷歌的做法,看看采取什么步骤来解决这个问题。
知道你的数据
为了更好地组织您的数据,您需要了解您的数据。当你知道你的数据,你可以命名和分类它,并把每一个项目放在一个特定的背景下-医疗,娱乐,色情。这使得能够过滤,这是一个强大的工具,让用户能够控制他们看到的东西。了解数据使网站所有者能够挑选和选择他们的数据的哪些部分被搜索,优先考虑一些数据,调整措辞,添加同义词,并应用许多其他类似的工具,以获得对搜索引擎的更大控制。例如,我们的客户可以使用定制排名来影响搜索结果的顺序。
这就是 Algolia 为站点搜索提供的功能,网站所有者知道网站的内容。
搜索引擎优化
谷歌没有这种控制,因为他们不提供与 Algolia 相同的服务。作为一个网络搜索引擎,谷歌不知道也不可能知道它搜索的数据。
相反,谷歌使用的排名算法通常被称为炼金术或魔法;虽然他们没有泄露他们的秘密,但他们确实提供了一套技术,网站所有者可以用这些技术来提高他们的排名,从而增加他们的网络流量和在网络上的存在。这些技术被归类在 SEO(搜索引擎优化)标签下。我们一直都能看到 SEO 的效果。例如,一些网站比其他网站更受青睐,名/姓组合首先返回名人,并且总是很容易找到某人的 LinkedIn 帐户。
所以还是回到正题吧。“女同性恋”这个词的流量很大程度上是寻找色情作品的流量。根据最受欢迎的色情网站,“拉拉”一词是搜索的第一名。你可以看到,如果谷歌应用简单的基于流量的流行度算法——比如,总是首先显示访问量最大的网站——这是如何无法解决的。
幸运的是,SEO 要复杂得多。SEO 为网站所有者和社区提供方法来提高他们自己的网站和他们所代表的社区的排名。
出于我们的目的,搜索引擎优化将是一个工具,用于在搜索“女同性恋”一词时生成相关内容。也许有一些想法值得探索,让“女同性恋”的搜索体验更相关,更少冒险。
几个念头
利用热门网站
利用像维基百科和其他非色情、高流量网站(如医疗网站、新闻和娱乐媒体)这样的强势网站的流量可能是一个建议。我们所说的利用,是指在这些网站上增加更多关于女同性恋者的信息,并更加一致地使用“女同性恋者”一词和其他重要术语。
本质上,这意味着给每个官方网站增加更多值得信赖的内容:。网,。gov,。edu。org 等等。
结构化内容
另一个选择可能是 构建网站,其中包含对女同性恋者重要的信息或服务。关键网站需要展示它们的内容,这样谷歌就能更容易地理解它们,也能信任它们。大公司雇佣 SEO 专家对网站的每一个字和每一页提出建议。大多数建议包括一致的术语、较小的网页、简短、清晰的文本和微数据的巧妙使用(谷歌为网站添加清晰定义的结构的方式)。这个列表并不详尽
反向链接
这是社区发挥最大作用的地方。对于谷歌来说,这代表了社区内的内部链接(称为“反向链接”)。社区内的网站需要相互超链接,以便更好地浏览。这在这些网站上建立了更重要的存在,也在整个社区中建立了更多的信任。反向链接将内容结合在一起,形成一种集体声音。
Meta 标签
虽然谷歌已经对元标签失去了一些信心,但由于滥用和伪造,仍然有一些关键的元信息需要你自己关注,例如每个页面上的title
和description
标签。
没有保证
请注意这些建议并不保证。你做的任何事情也是色情网站所有者做的。这是一场竞争激烈的竞争。你的努力必须是严格和不懈的。
女同志, Lesbian, Lesbienne, lesbiyanki, समलैंगिकों, …
有趣的是,并不是每个国家都有相同的行为。例如,英语国家没有这种经历,但法语和俄语国家有。印地语只显示骄傲游行的链接。不知何故,每个国家都有不同的结果。
我们无法确切知道这是为什么。有人说,这是因为谷歌在后台为这个和其他类似的潜在攻击性歧义打开了安全搜索。世界各地的团体正在组织起来提高人们的意识。如果我们根据上述建议考虑这些差异:
- 英语单词“拉拉”在网络上很普遍——尤其是在维基百科和 WebMed 等网站上,以及所有的新闻和娱乐媒体上。相比之下,“lesbienne”这个词在维基百科上的拼写不同(“ lesbianisme ”)。你会想要修改维基百科,使其更一致,更符合普通用法。
- 美国的 LGBTQ+社区比其他任何国家都更大,资金也更充足,因此它可以聘请 SEO 专家来确保对女同性恋友好的内容是结构良好的、优化的和完全反向链接的。
所有这些都有所不同。
骄傲!🔎👭
毫无疑问,你可以在网络上创造出“拉拉”这个词的另一种含义。谷歌的机器学习速度很快,尽管排名算法有时确实很神秘,但它远比简单的“流量”算法更智能、更细致。搜索引擎不是交通警察,被所有超速行驶的司机撞倒,以寻求廉价的刺激。搜索引擎可以发现竞争的声音,并帮助他们被听到,但你必须知道如何获得并保持他们的注意力。
Magento 2:我们的新扩展在这里,它充满了新功能
原文:https://www.algolia.com/blog/product/magento-2-search-extension/
在电子商务网站上搜索是一个棘手的问题:如果你想赢得并留住客户,你需要在数字体验游戏中保持领先。我们的 Magento 客户相信我们能帮助完成这项工作。以下是 Magento 2 的新 Algolia 扩展如何走得更远。
无限滚动
你要求的,现在你得到了!没有更多恼人的分页为您的客户。让他们在同一页面上顺利浏览你的目录。只需在 Magento 的 Algolia 配置中打开它,就万事俱备了!
标准分页:
无限滚动:
适应性图像
你的用户是否一直在搜索一件黑色夹克、蓝色 t 恤或一条橙色短裤,而他们得到的只是一个充满不同颜色产品图片的结果页面?不会再发生了。该扩展现在可以索引所有颜色的图像,无论您是在搜索某种颜色的项目还是按颜色过滤,正确的图像都会显示在结果页面上。
您的客户不再困惑和沮丧。
防止后端渲染
当您在服务器上加载和生成所有页面时,不要让您的客户等待。Algolia 扩展会在前端重新呈现页面。该扩展现在提供了一个实验性的特性,可以禁止在服务器上生成 HTML 目录。
它从生成的 HTML 代码中移除目录的所有 HTML。这意味着像 Googlebot、Bingbot 和其他搜索爬虫可能找不到你所有的产品,并从他们的索引中删除一些页面。
在启用此功能之前,请阅读文档并确保您关注您的搜索引擎流量。
搜索方面值
如果您有一个包含大量属性及其值的大型商店,您肯定会从搜索方面值特性中受益。该功能在您的过滤器上添加了一个搜索栏,让您的客户搜索正确的值。对方面值的搜索包括突出显示,以使其对客户来说尽可能平滑。
开发者友好
该扩展提供了许多方法来扩展它,修改它的功能,并处理每一种边缘情况。这样,您的开发人员就不必花费宝贵的时间来编写样板代码——我们为他们做了这些。
这里有一个定制的 Algolia Magento 2 扩展,它帮助编写事件监听器、覆盖模板和修改前端。您可以使用的所有事件都可以在这里找到:
接下来是什么?
我们听说你缺少基于类别的产品定制排序,这正是你可以从下一个版本中期待的。如果你使用类别列表的扩展,在下一个版本中,它将会考虑你在类别配置中设置的产品在类别中的顺序。
保持联系
延伸最重要的部分是…你!—扩展的用户。无论你是店长、设计师还是开发者,欢迎反馈!给我们留言、创建问题、发送拉请求或向我们展示您在 Algolia 论坛上构建的内容。
我们会很高兴见到你的🙂。
为假日季节准备 Magento 店面的 10 个技巧
原文:https://www.algolia.com/blog/ecommerce/magento-holiday-season/
消费者不安地等待着它,商人既等待又害怕它。假期很快就要到了。它占所有年销售额的一半,但也代表着在线商店的巨大流量峰值,Magento 商店也不例外。虽然假日季节为在线接触消费者提供了巨大的机会,但最小的错误——包括停机或延迟时间——都可能损害零售商的底线。
为了充分利用这个季节,商家必须考虑一件产品(“礼物”)在到达收件人手中之前所经历的所有阶段,包括搜索和发现。
要了解如何优化旅程的其他部分,请查看 Magento 的 2019 年假日指南“礼物之旅”,并发现所有为您的客户创造愉快体验的机会,并确保您的电子商务网站牢牢地留在“好名单”上。
1。准备好 Magento 商店的所有组件来处理费用。
就像其他任何一天一样,购物者会期待在你的商店里获得类似谷歌或亚马逊的体验。但与以往任何一天相比,辜负这一期望的代价都是巨大的。
你的竞争对手花了和你一样多的钱和精力来获得客户。据麦肯锡&公司称,一个用户会在 2 到 3 秒后为竞争对手抛弃不良网站。这意味着你网站上的每一个额外的延迟都会把访问者引向你的竞争对手,并降低你的收入。
造成摩擦的典型原因是页面加载时间、支付系统可用性——但你知道你的 Magento 搜索也可能是宕机的主要原因吗?为了让你感受一下 2018 年黑色星期五期间的疯狂,我们的一些客户每秒钟经历了 3,000 次搜索查询,如果不是几天的话,峰值超过每秒 10,000 次查询,而正常情况下每秒钟 700 次搜索查询。
无论您是使用自己的 Magento 搜索基础设施还是信任搜索提供商,您都应该确保您的系统已经准备好处理这样的负载增加。
2。保持库存最新
虽然制造稀缺性是加速购买决策的有力策略,但展示在假期结束前不会发货给顾客的产品会让用户反弹。这也浪费了不会产生任何销售的产品的屏幕空间。
因此,请确保在 Magento 商店的任何地方展示产品,无论是在类别页面、登录页面还是搜索结果中,您都可以选择不显示缺货商品。
考虑到节日期间交易的数量和频率,这有时意味着每天要对您的产品数据库进行数百万次更新。每个系统都需要适应这些变化,这需要一个非常大规模、敏捷的系统。
3。预测顾客的愿望
你提供的产品当然是你最大的资产之一,所以要确保它满足你客户的需求。使用 Magento search analytics 来发现你的购物者在假期前搜索的商品,最重要的是,他们正在搜索但没有找到的商品。使用这些见解来调整您的目录和计划交易,或改善您的广告和搜索引擎优化策略。
4。利用您的内容
你为你销售的产品生成有价值的内容,包括博客文章和指南。这些内容可以影响购物者的购买决定,并将你定位为一个知识渊博的卖家,所以不要犹豫,将它放在你的 Magento 商店,产品页面旁边,甚至在你的搜索结果中。
5。积极主动地推销你的商品
与实体店不同,您可以通过一次点击,甚至自动地重新组织您的 Magento 店面。用它!购物者会寻找最好的交易,所以在你的搜索结果排名中使用折扣率。通过首先排列销售时间有限的产品来制造稀缺性。你有一个大优惠,但仍想保持你的利润?首先对相关查询进行排名,然后在你的排名逻辑中加入你的折扣后利润。可以玩的参数是无穷无尽的。重要的是能够根据对你的顾客和你来说重要的事情来配置你的 Magento 搜索的排名逻辑。
6。优化您的 Magento 类别页面
在假期前查看你的分析,你可能会发现产品类别,甚至这些类别中的特定产品,都有增长的表现。利用这些见解来针对这些趋势优化您的类别页面。确保你的顾客在浏览你的 Magento 商店的分类页面时,首先会找到符合他们需求的产品,并且是你最感兴趣的产品。
7。创建新的登录页面以获得更多的流量
在节日期间,流量的竞争处于高潮,所以任何获取新流量和更好地转换你的商店上的流量的机会都是要探索的。其中一个机会是创建专门的登录页面,将你的目录中的相关产品与简短的编辑内容结合起来,以支持新的付费关键词、付费广告或电子邮件活动,或者更好地吸引和转化已经通过现有购买渠道登录你的商店的购物者。
8。适应意外
不管你喜不喜欢,你都会错过一些趋势,发现你希望有更多促销的高销售报价。现在还不晚!调整您的搜索结果排名逻辑,以促进您最畅销的产品,并捕捉更多的销售。
9。分析一下!
通过你的网站搜索,你的顾客真的会和你说话。利用这些宝贵的见解!他们在寻找什么是你没有提供的?哪些搜索结果的转化率最高?人们是如何浏览你的商店的?他们在寻找电视时是否按特定品牌进行了筛选?所有这些数据都可以帮助你改进明年的产品和向顾客展示的方式。
10。将首次购物者转化为积极参与的顾客
在整个假日季节,你将获得新的购物者,这要归功于你在特定产品上无与伦比的优惠,以及广告力度的加大。如果他们喜欢整体体验,他们可能会再次光顾你的商店。因此,当事情平静下来时,反思一下哪些进展顺利,哪些进展不顺利,并开始为您的用户体验规划长期投资。研究报告称,在 UX 投资的每一美元都会产生 2 到 100 美元的回报。
我们为您的 Magento 搜索和发现提供了更多提示和最佳实践——如果您想与搜索专家交谈,请点击此处。同时,我们很想听听你对假日网站搜索的建议。给我们留下评论或推文。
搜索和发现只是旅程的一部分。阅读 Magento 的 2019 年假日指南——礼物之旅,发现优化 Magento 商店支付处理、运输、客户服务模块等的最佳解决方案。
让杂乱无章的内容被发现的 2 个步骤
原文:https://www.algolia.com/blog/product/make-disorganized-content-discoverable/
今天的用户对他们的在线体验有很高的标准,无论是界面还是设备。一个组织混乱的网站,很难搜索和找到相关的内容,往往不能满足用户的期望,使企业失去了吸引用户和满足他们需求的重要机会。
无论你是 B2C 还是 B2B,一个有优化搜索栏的有组织的网站可以让用户通过一个简单的按键在任何地方搜索你想让他们去的任何地方。
在这篇文章中,我们将讨论站点抓取和联合搜索如何让你的站点更有条理,内容更容易被发现。
为什么可发现性是任何网站搜索体验的关键
不管你的垂直行业如何,为了给你的用户提供相关和有效的结果,你的内部搜索引擎需要能够系统地访问你的网站内容。通常情况下,搜索不成功不是因为内容或产品不存在,而是因为 搜索没有得到适当的优化 。
B2C 公司可以从使来自不同地方的产品、产品指南、视频、文章和其他内容一次被发现中获益。为什么?高达 43%的访问者在访问一个网站时会立即导航到搜索栏。可发现的内容构成了有用的搜索体验的基础,并为企业带来好处,包括:
- 推动转化率、用户参与度和其他指标。当用户找到相关结果时,他们会增加与您网站的互动,更有可能购买产品、观看视频、阅读文章、转化等等。【T2
- 降低跳出率。来自 KISSmetrics 的研究表明,12%的网站访问者在不满意的搜索后会离开去竞争对手的网站。如果用户可以找到他们需要的东西,他们就不必去其他网站寻找了。
B2B 公司面临的挑战是确保用户能够轻松找到可能位于不同位置的文档和资源。在您的域 上组织内容可以改善用户体验 并使用户能够找到帮助他们成功解决问题和回答他们自己的问题的内容。反过来,这可以减少您的团队必须处理的服务单数量,从而腾出时间来处理可能实际上需要专业知识的请求。
每个用户都可以从一个有组织的网站中受益。一个网站满足这种需求有两种主要方式
- 使用定制的 网站爬虫控制你的内容
- 用 联合搜索向用户展示综合结果
搜索功能是一个强大的工具,帮助用户从无关的内容和产品中找到他们需要的东西。没有搜索,用户很难知道从哪里开始。网站抓取和联合搜索都是 搜索和发现 体验的基本驱动力,将用户与他们当前和未来的需求联系起来。
用站点爬虫构建你的站点
网站抓取是一个强大的后端工具,它使内容更有组织性,因此可以被用户发现。一个 站点爬虫 提取并构建一个站点的内容,并有能力使任何对象或记录可被搜索。
一个网站爬虫分几步实现:
- 定义入口点。
- 爬虫提取并格式化数据。
- 数据被发送给搜索提供商。
- 你的团队可以专注于搜索界面,如果正在构建的话。
一旦站点爬虫结构化了你的数据,你就可以把结果用于的一系列应用,包括搜索。请注意,提取步骤通常需要一些中级编码技能。虽然不完全是一个无代码的过程,但开发人员受益于极大的灵活性。寻找一个站点爬行工具,它允许开发人员控制何时调用爬行器,何时进行提取,从而在这个过程中给你最大的灵活性。
使用站点爬虫的好处
网站爬虫提供了一些独特的好处,包括:
- 制作任意网页结构化内容
- 消除了在每个内容存储库之间构建数据管道的需要
- 用商业数据丰富抓取和提取的内容
- 无需编辑源代码即可抓取网站
- 将 爬虫插入 Google Analytics 丰富网站记录,提高相关性
- 索引任何需要 JavaScript 才能工作的网站(特定于 Algolia 的爬虫
此外,基于您选择的爬虫,还有竞争优势和好处:
- 白盒方法。对于一些供应商来说,搜索引擎和爬虫被打包在一起,本质上是在一个用户无法破译的黑盒子里。这意味着开发人员不能独立利用爬虫或 API。像 Algolia 这样的提供商明确区分了搜索引擎 API 和爬虫。通过这种白盒方法,您可以看到两者的不同功能,并使用最符合您需求的功能。
- 支持 SEO 和站点监控。当爬虫出于结构化的目的调用整个网站时,它们也可以暴露次要或主要的站点构建错误,例如没有标题的页面、断开的链接或 SEO 问题。
- 用爬虫建立 POCs 或站点搜索的初始演示。 Algolia 客户可以使用爬虫来演示 Algolia,看看它是否合适。虽然这不是爬虫的主要目的,但它允许潜在客户评估产品如何工作,而不必做任何额外的编码或雇人来实现演示。
用联邦搜索让搜索体验更全面
与用户相关的产品和内容通常存储在不同的产品目录、领域和数据库中,但是导航到这些不同的位置会在搜索体验中产生摩擦。
联合搜索是一个强大的用户界面元素,通过一次提供来自多个数据源的所有相关结果来简化搜索过程。使用对使用多个索引在不同数据位置上运行单独搜索的 搜索时间合并方法 的扩展,联合搜索界面在一个组合界面中呈现每种类型内容的结果列表。
构建联合搜索界面需要对您希望您的用户拥有的搜索体验类型进行一些规划和预先考虑。一旦建立起来,它可以大大增强用户体验,使每次搜索都有一个广泛的范围。它还为企业提供了增强的控制,因为搜索体验可以由最了解内容和/或产品以及业务目标的人来管理。
5 联合搜索的好处
联邦搜索可以通过 多种方式受益网站
- 允许产品所有者微调每类内容的相关性
- 使网站所有者能够控制他们希望访问者获得的体验
- 通过使不同类别易于访问来支持可浏览性
- 当产品和内容被添加到站点时,使站点保持可搜索状态
- 提高安全性,因为只有一个搜索引擎需要维护
提供精心策划的、易于理解的结果可以大大简化用户体验,提高用户参与度。当然,在设计界面时仔细考虑用户的需求是很重要的,这样才不会用无用的结果淹没他们。
在你的站点上使用站点抓取和联合搜索的 3 种方式
公司正在以多种方式使用网站抓取和联合搜索。这里有几个应用网站爬虫和联合搜索来改善用户体验和网站的例子:
示例 1:使内部网内容可被发现
公司通常会托管多个不同的子域名,以战略性地细分不同类型的内容、产品和信息。然而,这些不同的子域名会使内部用户感到沮丧,特别是当一个公司的内部网内容也分布在 10-20 个不同的站点时。
企业可以使用网站爬虫来解决这个问题。有了 crawler,该网站可以将所有关于公司政策、产品和服务信息、公司战略等的文档和 pdf 文件收集到一个页面中,因此用户不再需要费力寻找他们需要的内容。
示例 2:通过网站爬行提高国际网站的可见性(并控制这些网站)
大公司在不同的国家和语言中维护不同的站点版本,这些版本通常由本地团队管理。对于这些公司来说,简化和复制跨站点的搜索体验是很重要的,但为此收集数据通常是一个主要问题。本地团队可能无法访问所有站点数据来正确实施搜索。这可能是因为他们缺乏正确的许可级别,因为他们的 CMS 不允许他们控制而无法访问必要的数据,或者他们缺乏工程资源或时间来收集数据。
这是网站爬虫可以利用的地方。站点爬虫可以提取和构建站点内容,而无需后端许可。该公司可以使用这些数据,或者将其发送给 Algolia 这样的搜索提供商,开始在各个网站上建立一致而强大的搜索用户界面。
例 3:爬虫支持的联合搜索
Algolia 的搜索提供了一个联合搜索和站点爬虫协同工作的很好的例子。事实上,Algolia 的联邦搜索界面部分由爬虫提供动力。
安哥利亚使用不同的爬虫为 文档营销网站 ,以及 博客 。这些爬虫产生三种不同的可搜索索引。当用户在搜索栏中键入时,爬虫创建的三个索引和其他集成创建的索引,如 搜索 API ,在联合搜索界面中返回结果。通过一个简单的查询,该界面返回来自站点每个部分的结果,这些结果是健壮的、易于理解的并且是不断更新的。
通过网站爬虫和联合搜索将您的用户与重要内容联系起来
有效的搜索是在你的网站上获得有益的用户体验的基础。Algolia 提供强大的搜索工具,最大限度地缩短上市时间,最大限度地提高搜索投资回报。借助 Algolia 的定制 爬虫 ,让您的开发者无缝释放您的内容并提高您的相关性。使用 Algolia 的现成 即时搜索 工具,如联合搜索、键入时搜索、过滤器和刻面等,让您的用户感到愉悦。出色的搜索体验应该根据你的用户和业务需求量身定制。阅读我们的电子书“【7 种方式从 Algolia 搜索中获取更多信息 ”以了解更多方式来微调您的搜索策略并提高可发现性、相关性和用户参与度。**
马诺马诺的“制造或购买”决策网格
原文:https://www.algolia.com/blog/customers/manomanos-make-or-buy-decision-grid/
马诺马诺首席产品官皮埃尔·富尼埃的客座博文
当我们能在我们的网站上展示客户时,这总是很特别的。今天,我们很高兴有一个来自马诺马诺首席产品官皮埃尔·富尼埃的客座博文,“所有 DIY 和园艺的一站式商店”——直接送货上门。作为英国和欧洲 DIY 消费者的领先市场,ManoMano 的网站需要执行、扩展并帮助买家和卖家找到彼此。今天 Pierre 的文章首先出现在媒体上。请与您的网络分享 Pierre 的智慧和见解,尤其是在他们考虑构建还是购买新技术时。
随着 SaaS 编辑在科技界的崛起,你现在有了一个可以满足任何需求的工具(搜索、市场、聊天、内容管理、支付……)。如果您选择了正确的工具,它可以成为一个不可思议的加速器,但当事情出错时(迁移、集成、数据所有权……),它也会变成一场噩梦。因此,“制造还是购买”的决策成为产品经理工作中最重要的决策之一。
以下是我们在马诺马诺评估标准的总结(MM):
- 数据所有权属于 MM,不用于共同改善工具
- 功能的商品化并没有使其成为 MM 的战略
- 定制允许我们根据 MM 的特殊需求调整工具
- 向后兼容性让我们可以自由地重新考虑我们的选择
- 编辑的生存能力允许长期合作
- 如果使用量增加,成本不应该激增
作为奖励,我们还分享了一些在为购买策略选择工具时成功运行 RFP(征求建议书)的技巧。
关于“制造或购买”战略的初步想法
做决定或购买决定可能是非常艰难的决定,我认为这种情况在未来会越来越多。在我职业生涯的初期,你几乎没有 SaaS 工具(更不用说互操作性问题了),你必须自己开发几乎所有的东西。以下是根据 10 年来参加 buzz、trends 和参与 RFP(提案请求)的经验,对做出购买决定的一些想法…
- 是否有新的“自制和购买”选项?D2D 的崛起(开发人员对开发人员)基础技术层将继续发展,并为纯粹的“现成”解决方案提供替代方案,开启一条“制造和购买”的新路。例如,Twilio 提供了构建聊天等交流工具的基础。
- 开发内部解决方案仍然有意义:任何第三方工具功能通常只使用几个范围(假设 20%,甚至可以更少)。这就是为什么即使在今天,开发内部解决方案仍然是可能的。让我给你举个例子:我成立了一家食品科技公司,允许网上订购。我们花了 18 个月的时间来构建一个像样的解决方案。我们的一个同事在不到两周的时间里为一个餐馆老板构建了一个完美的解决方案…另一个主张决策的标准是成本:当量变大时,现成的工具可能就不那么有趣了。
- 您的资金将主要用于营销和销售:在第三方工具中,很大一部分成本通常用于资助编辑的营销和销售…您必须意识到这一点。Zoho 提供了一个很好的的例子,一家公司在产品上投资很多,而不是在销售和营销上(相比于像 Adobe 或 Salesforce 这样的美国巨头)。根据 Zoho 的说法,高达 50%的收入可以分配给销售和营销…从长远来看,将这笔钱投资到产品上可以产生很大的影响!
- 最佳策略可能变得更有意义:拥有几种专业工具而不是一劳永逸是人们通常花费大量时间做出的另一个决定。请记住,大编辑(通常是提供一体化解决方案的人)通常通过外部收购来开发他们的产品。将新收购的产品集成到现有的产品套件中是一项非常艰巨的任务,需要很长时间…有时这种情况从未发生过!因此,一体化解决方案最终可能会成为平庸的最佳选择。此外,API 现在是一个标准,简化了几种产品的集成(此外,如果你使用像 Segment 这样的数据中心)。
- 没有完美的工具:适应工具而不是让它适应你自己的需要,总是抱怨这不是你本来会做的方式。否则,开发您的内部解决方案!请记住,编辑除了他们的软件专业知识之外,还通过他们拥有的几十个客户开发了过程专业知识。通过购买第三方工具,您也可以从这一流程专业知识中受益。
标准 1:数据所有权属于 ManoMano,不用于共同改善工具
这可能是最具战略性的标准之一。通过该工具的 MM 数据不应该被用来改进编辑器的工具和潜在的竞争对手的表现。工具的价值应该来自算法本身或者工具提供的特性。
例如,ManoMano 使用 Algolia 为其搜索提供动力。我们选择阿尔戈利亚有两个主要原因。他们的相关性算法将总是比我们现在能够做的更好,并且没有利用我们的数据来改进。此外,与弹性搜索(之前我们用于搜索的技术栈)相比,他们的界面使开发者或产品经理更容易改变相关性规则。
然而,我们拒绝了另一个提供查询聚类的 SaaS 解决方案,因为他们的算法会利用我们的查询数据来改进他们自己的聚类,这对我们的竞争对手有潜在的好处。
标准 2:功能的商品化并不能使其成为马诺马诺的战略
当 MM 的需求与行业中的其他人一样时,重新开发解决方案就没有价值了,因为它不会带来额外的价值。我们更喜欢将我们的技术资源分配到开发不同的软件上。对于 Algolia 来说,相关性,或者更确切地说是文档搜索,在语义基础上在每个行业都遵循相同的规则(在下一段中,你会看到行为相关性在我们的 DIY 行业中是不同的)。你应用相同的词干规则,停用词删除,使用相同的算法(TF-IDF),你有相同的速度需要回答一个查询…
对我们来说,一个反例可以是我们选择内部开发的 CMS(内容管理系统)(即使我们求助于低层次的现有砖块,如 WYSIWYG 编辑器、角色和行政管理)。它主要用于提供提示表,以帮助我们的用户选择正确的产品。因为我们希望将它连接到我们的目录(产品建议),连接到我们的分类(重用我们在过滤器中创建的属性,例如从提示表中解释它们,并允许我们的用户在浏览提示表时缩小产品范围)。
你可能需要定期重新考虑市场,因为变化发生的速度很快。例如,我们在 2016 年提前通过社区提供聊天建议。当时没有令人满意的解决方案,所以我们决定在内部开发一个专用平台。3 年后,市场已经成熟,现成的工具已经可用。后退有多难,我们不得不做出这个决定,因为转移到第三方工具上会大大加快关键功能的发布。这将允许团队在这些基本功能的基础上专注于更具战略性的额外功能。这就把我们带到了下一个标准:定制。
标准 3:定制允许我们调整工具以适应 ManoMano 的特定额外需求
我们关注的一个关键点是我们调整工具的能力。一般来说,我们 80%的需求是与我们行业的其他竞争对手共享的,并且可以通过现成的工具来解决。但是,出于战略考虑,我们通常还有 20%的特定需求。因此,我们必须能够在第三方工具的基础上开发这些特定的功能。它通常依赖于使用我们的数据来个性化用户体验(搜索、建议……)。因此,以编程方式管理该工具(通过 API)的能力至关重要。例如,Algolia 允许我们通过 API 覆盖原生排名算法,使我们能够基于行为数据提供个性化结果。Iadvize 提供了利用 ManoMano 的数据(如产品推荐)定制本地小工具或在聊天基础设施上添加我们自己的计费系统的机会。
准则 4:向后兼容让我们在几年后可以自由地重新考虑我们的选择
向后兼容性是一个重要的标准,因为事情会变化得非常快(参见上面的聊天例子)。新技术可以产生阶跃变化(例如,当 Nosql 技术出现时,见数据库管理),新编辑可以从中受益,在短时间内产生大的变化。这就是为什么你需要能够以合理的成本拔掉一个解决方案(它总是需要努力)。当然,您需要能够取回您的所有数据(因为这是一项需要时间来重建的重要资产,请参见数据所有权部分),并且您需要尽可能多地限制专用于该特定工具的开发。你花越多的时间和精力编写专用于工具定制的代码,你就越不能重用它。然而,如果您构建定制的内部 API 来调整该工具,您应该能够轻松地重用它们,对 transferts 格式进行一些更新。同样,在我们的 Algolia 例子中,如果我们想要重新内部化搜索,我们为查询重新排序构建的所有代码都可以重用。
准则五:编辑允许长期协作的生存能力
当你的公司达到临界规模时(ManoMano 是欧洲 DIY 的在线领先平台),你必须确保你的合作伙伴在 3 年内仍会在那里。因为您将投入时间和精力来集成其解决方案。与此同时,风投们每个月都会资助几家科技公司,这些公司会来看你,假装它们是下一个大事件,给你带来疯狂的竞争优势。有些人可能会死,但大多数人会在两年内死去。
这是否会妨碍你与开发尖端技术但尚未形成规模的年轻初创公司合作?我会说你可以,但前提是:
- 市场上不存在其他选择(例如,我们选择与一家年轻的初创公司合作延期付款,因为没有其他编辑存在)
- 风投的支持足够强大,足以确保至少 2 年的发展(我建议该公司至少处于 B 系列的创始地位)
这需要双方利益相关者表现出非常成熟的行为。客户不能拆整个路线图,否则编辑器将无法开发。编辑必须非常透明,能够拒绝一些功能,并在其经济可行性受到威胁时发出警告。
标准 6:如果使用量增加,成本不应激增
同样,这一项对大公司来说是有意义的。作为一家初创公司,你的销量会很低,所以成本不是太大的问题。在马诺马诺,我们的月访问量达到近 5000 万独立访客。要知道大多数解决方案都是按量计费的,这在某些时候会变得非常昂贵。这通常是公司重新内部化第三方工具的原因之一。这并不意味着解决方案必须便宜。我们知道一个产品团队(项目经理、开发人员、设计师……参见本文的了解我们的比率)每年大约花费 50 万€,如果这个工具让你腾出相当于一两个功能团队的时间,这意味着你每年可以支付高达 100 万€。要带来经济价值,应该少 30 到 50%。还考虑到自己做需要维护,与第三方工具相反,你可能不会从最新的技术更新中受益,等等。与编辑协商也是关键,尤其是当工具基于每卷时的阈值。体积越大,价格应该越便宜边际。
我们就 PIM 解决方案(产品信息管理)进行了多次讨论。PIM 在许多行业都很常见,功能总是相同的,现成的解决方案是存在的。但最终我们决定自己制作,因为我们认为这是一项战略资产(高质量的数据和产品信息),而且与我们向卖家收取的佣金相比,解决方案的成本会相当高。
奖金:如何运行一个成功的 RFP 来选择工具?
在选择第三方工具时,公司通常会经历一个 RFP(提案请求)流程,解释他们的需求、他们当前的堆栈、他们需要的功能……我建议尽量简化。以下是我的建议:
1/专家应该协助最终用户,而不是相反。事情通常是这样发生的:来自 IT、产品甚至采购部门的项目经理有权负责运行 RFP。他将对一些最终用户进行几次采访。然后他会写决策表,衡量每个标准,采访编辑…我认为这是错误的。应该相反:最终用户应该是 RFP 的核心,由专家(架构师、产品经理、项目经理、开发人员……)支持。您应该从最终用户组中指定一个人作为项目经理。
2/让尽可能多的人参与每辆受影响公交车的 RFP 。我知道这听起来违背直觉(我们通常试图让最少的人参与进来以保持敏捷),但是通过使用例如释放结构格式,你应该能够做到。它将通过以下方式为您节省大量时间:
- 增加工具符合操作用户需求的可能性
- 减轻未来用户的负担(而不是像“这是我们选择的新工具,我们可爱的 150 个客户服务代理对您来说太棒了!让我们给你解释一下为什么!”)
3/尽可能通过概念验证测试解决方案。来自编辑器的销售代表经常撒谎(无意识地),因为他们离技术团队很远,所以你必须在真实条件下测试该工具。有些人会说这需要时间。确实如此,但比实现错误的工具要少。最大限度减少花费时间的方法是大幅缩小范围。通过测试该解决方案,您将快速评估技术文档、API、技术员工的质量以及工具的可用性…
4/选择构成交易破坏者的 3 个关键标准。不要在一百个标准需求网格中陷入混乱。你很容易陷入一个无休止的加权评分决策网格中。即使它能让你感到放心,它也是没有用的,因为你可能会错过将这个选择变成一个大错误的关键特征。
最后的想法
在每个公司内部,技术资源都是有限的。相反,商业创意是无限的。“购买”策略可以减轻对技术的依赖,尤其是对销售和营销的依赖,并帮助企业更快地发展。至少一开始是这样。如果做得不明智,几年后可能会变得一团糟,您最初获得的所有灵活性可能会在无休止的迁移和改造中丢失。所以不要急着做决定。此外,“制造或购买”策略也将取决于你的公司 DNA 和雄心。你是亚马逊那样的科技公司吗?还是主要靠营销?马诺马诺本可以使用像 Mirakl 这样现成的工具来建立自己的市场。这样会更快。但是当数量变得如此之大时,工具的成本就会成为一个真正的问题。我们知道,如果我们想建造独一无二的东西,我们必须靠自己。
如果你想加入马诺马诺的产品团队,请随时申请职位,我们在每个级别都有空缺职位(如果没有一个“官方”职位符合你的需要,仍然申请精确你正在寻找你想要的职位)
要了解 ManoMano 如何使用 Algolia,请阅读这里的故事
市场搜索:构建强大用户体验的三大挑战
对于今天的市场,差异化是关键。从竞争中脱颖而出的主要方式之一是用户体验,而搜索和浏览是其关键杠杆。
但是要充分利用搜索也有挑战;因为市场是典型的平台,他们需要明智地考虑技术投资。首先,搜索工具需要足够灵活,可以根据需要 放大或缩小 。第二, 工程资源 通常是有限的,必须明智地使用。第三,搜索工具必须是用户友好的,以便非技术人员可以优化以获得最佳结果。
优化可扩展性和灵活性
当巴西科技公司 Zoom 收购其竞争对手 Buscapé时,它面临着一个需要扩大其搜索能力的难题。快速增长意味着更多的访问者、更多的运营需求和更多的机会,但这些变化必须迅速发生,以免失去现有客户。
Zoom 是一个比较购物市场,在 300 个卖家和 3000 多万件商品的帮助下,每月为大约 9000 万访问者提供服务。由于要满足这么多人的需求,Zoom 需要为零售商和买家提供无缝服务。Algolia 在处理大规模和大容量的同时仍然提供灵活性方面经验丰富,因此它能够帮助团队定制解决方案,即使在高峰期也能满足其业务目标。例如,Algolia 根据类别和产品功能定制了搜索体验,以符合 Zoom 为商家和买家提供更好结果的目标。通过搜索 API,Zoom 现在能够在排名中调整产品属性,以快速获得相关搜索结果。
Algolia 还建立了分析仪表板,帮助企业用户轻松评估热门搜索结果并进行优化。这使得新的和现有的 Zoom 团队能够在同一页面上,即使两家公司正在合并。因此,Zoom 解决了延迟问题,提高了搜索结果的性能,并将转化率提高了 10%。
明智地使用工程资源
对一些公司来说,规模并不重要,更重要的是如何最好地利用有限的资源。在一个理想的世界里,变革很容易实现,不需要太多的员工。但是通常,工程团队发现他们专注于更重要的项目,而应该很容易做出的小改变最终需要大量的资源和利益相关者。
为自己动手项目提供设备的欧洲市场 ManoMano 一直试图修复其系统中的漏洞并优化搜索,但一直未能取得切实的成果。他们需要智能、快速的搜索体验,因为他们的客户不一定知道他们需要哪些工具,也不知道这些工具的正确名称。
该公司一直在使用另一种内部搜索工具来实现这一目标,但该工具需要大量的时间、知识和人员来优化功能。与此同时,需要进行一些改变来改善用户体验,但他们现有的工具并没有帮助 ManoMano 实现必要的改进。
Algolia 介入并实施了灵活的技术,ManoMano 的搜索团队无需像 Elastic 通常要求的那样接受数小时的培训即可使用。当 ManoMano 遇到影响搜索体验的数据问题时,这些品质就发挥了作用。该团队在一个小时内就完成了修复,而在过去,类似的改变需要几天时间。
仅仅两周之后,马诺马诺在测试 Algolia 搜索工具的四个国家的转化率增加了 20%。直接影响底线的是切实的结果——资源的有效利用和销售额的增加。
保持能见度&控制
虽然拥有一个完全了解搜索的工程团队很好,但这不是唯一需要利用搜索工具的团队。通常有一些非技术团队,通常是营销团队,他们需要访问任何给定搜索工具的分析和设置。
没有这种访问,工程团队会因变更请求而疲于奔命,而营销人员可能会错过重要的业务机会,因为他们不具备应有的灵活性或响应能力。
拉美电子商务公司 Linio 正面临着这个确切的问题。
Linio 为拉丁美洲社区提供各种价位的产品。这意味着搜索是公司成功和客户满意的核心;然而,相关的搜索结果对 Linio 来说相当难以捉摸。
该公司确实有一个现有的第三方合作伙伴提供帮助,但 Linio 的可见度非常低,并且无法访问该算法。该公司求助于 Algolia,希望获得一种更透明、更易用的工具。
Algolia 能够定制一个搜索工具,让 Linio 团队在不需要工程帮助的情况下拥有更多控制权。因此,Algolia 的用户友好型方法增强了非技术员工的能力,并创造了更多的商业机会。例如,营销团队现在可以推广新的 SKU,确定新的卖家,并联系卖家为品牌活动推广他们的商品。
产生影响的结果
对于网站搜索优化可能带来的挑战,这项工作肯定是值得的。好处是转换率提高,响应时间缩短,以及更多的商业机会。
如果你有合适的合作伙伴,这一切就更容易实现。Algolia 及其market place 的专业知识可以帮助您通过创新的技术、反应灵敏、知识渊博的支持团队以及可以帮助您获得最佳业务结果的解决方案来应对网站搜索优化的挑战。
掌握 Rebase(反之亦然)
原文:https://www.algolia.com/blog/engineering/master-git-rebase/
git‘rebase’是您可能听说过的替代‘merge’的命令之一。事实上,不止如此——“rebase”是一套完全不同的工具,与“merge”所实现的目标相互交叉。迷茫?放心吧!这篇博文是关于“rebase”的不同用法。首先,作为一种在两个分支之间整合和交换你的工作的方式(就像“合并”一样),也作为一种历史重写工具。
从合并到变基
合并分支是集成两个 Git 分支之间变更的最常见方式。GitHub 或 Gitlab 等服务常见的 Git 工作流程如下:
- 从基础分支(如“主”或“开发”)创建名为“我的新功能”的新“功能”分支
- 做一些工作,并将更改提交到特征分支
- 将功能分支推送到集中共享回购
- 为“我的新功能”打开新的拉式请求
- 等待您的测试通过,并从您的同事那里收集反馈
从那以后,一切都很好。您最终会得到一个漂亮、干净的分支,例如:
然而,在一个不完美的世界里,接下来可能会发生什么:
- 代码审查人员在您的第一次提交中发现了一些错误和打字错误,您的测试没有通过
- 您进行一些更改,并在本地提交修复
- 您将更新后的特性分支推送到集中共享的 repo(以下模式中的 C6 和 C7)
- 同时,其他提交被合并到基础分支(C8 和 C9)
- 您的拉请求最终被接受,并被合并到基础分支(C10)中
从那以后,你的历史变得有点复杂:
这个工作流程没什么问题;特别是,你不必担心你的同事在做什么,这样你就可以专注于自己的工作。由于 Git 将您的变更与来自基础分支的变更组合(或合并)的关键部分只发生一次,所以您只需要处理一次最终的冲突——在合并步骤。
然而,有几件事也有点不对劲。首先,如果您在您的分支上工作的时间足够长,您可能会在几天或几周内与基础分支失去同步。这可能不是一个问题,但有时你真的会感激包括你的团队合并的那个特定的修正,或者摆脱那个每次编译都使你变慢的巨大的依赖。其次,一旦您的所有同事都将自己的分支机构合并到基础分支机构,历史记录可能会变得过于复杂而难以理解。最后——这个可能更主观一些——您可能在分支的提交之间保留了一个逻辑分解。拥有一个包含对所有文件的所有更改的合并提交可能不是您最终想要公开的。
让我们来看看重定基准如何帮助您解决所有这些问题。
在基础分支上重设基础
2016 年 9 月,GitHub 推出了合并拉取请求的新方式:“Rebase and merge”按钮。其他库管理器(如 GitLab)也可以使用它,它是“rebase 前门”。它允许您在您的基本分支之上执行您的拉请求提交的单个 rebase 操作,然后执行合并。观察这两个操作是按顺序执行的,并且重定基础不是合并的替代,这一点非常重要。因此,rebase 不用于替换合并,但是它完成了合并。
考虑前面的例子。在最终合并之前,我们处于这种情况:
通过执行以下命令,您可以模拟当您单击“Rebase and merge”(没有冲突时)时会发生什么:
这样做,你最终会得到一个“线性历史”:
如你所见,重置基础并不能替代合并步骤。如前所述,这两个操作不是在同一个分支上执行的:在特征分支上使用“rebase ”,而在基本分支上执行“merge”。目前,这个操作只是阻止了一个包含所有变更的合并提交,它仍然是一个发生在您的贡献的最后一步的操作(例如,当您想要共享您的工作时)。
到目前为止,我们只与“大师”作为我们的基本分支进行互动。为了与基础分支的变更保持同步,只需要用最新的基础分支执行 rebase 步骤。你等待的时间越长,你就越不同步。
您的基本分支的最新版本隐藏在显眼的地方。它是基本分支的只读版本,以您所连接的远程的名称为前缀,或者更简单地说:它是来自您的远程实例(如 GitHub 或 GitLab)的分支的只读副本。首次克隆存储库时,默认前缀是“origin”。更具体地说,您的“主”分支是 master 的本地版本,而“origin/master”是该分支的远程版本,是您上次执行“git fetch”操作时在您的计算机上复制的。
我们已经浏览了很多理论材料,但结果是,最终结果相对简单明了;以下是如何同步遥控器上发生的变化:
第一步是从“主文件”的远程副本中检索最新的更改到您的本地“源/主文件”分支中。第二个检查您的特征分支。最后一个执行“rebase ”,这样您所有的提交现在都被添加到与您自己的工作并行发生的最新变更之上。通过在我们的第一个示例中应用这些命令,将会发生以下情况:
如你所见,特性分支现在包含了所有最新的变更,所以你可以和你团队的其他成员同步工作。通过使用上面的工作流,您将能够更早地逐步处理潜在的冲突,而不是在最后一刻(当您想要在基本分支内合并您的工作时)。人们经常忽略“Rebase and merge”按钮,因为他们预计在过程的最后一步会有太多的冲突(所以他们更喜欢执行常规的合并提交)。最终,它需要一点积极的努力来与最新的变化保持同步。
调整自己的工作
到目前为止,我们只使用“rebase”将提交从一个分支应用到另一个分支。这几乎是“rebase”的基本用例:只有默认选项、动作和结果。此外,我们只是使用“rebase”将不同分支的变更整合到我们自己的分支中。但是——它也可以用来直接从您自己的分支添加/更改/删除您的提交!您重定基础的“基础”实际上可以是任何提交——甚至是直接祖先。
事实上,如果你想看看在我们做的 rebase 期间发生了什么,你可以使用 rebase 的“交互模式”,添加-i '或
–interactive '参数。通过这样做,Git 将打开您选择的编辑器(在您的“editor”环境变量中定义的编辑器),并列出将受 rebase 操作影响的所有提交,以及应该对每一个提交做什么。这就是“重定基数”的真正力量所在。
从您的编辑器中,Git 允许您重新排序、重命名或删除提交,但是您也可以将单个提交拆分成多个提交,将两个或多个提交合并在一起,或者同时更改它们的提交消息!几乎所有你想对你的历史做的事情都可以通过“rebase”实现。令人惊叹的是,告诉 Git 做什么相对简单。每个提交都在自己的行上按顺序显示,以将要应用的命令为前缀。对提交进行重新排序就像对行进行重新排序一样简单,最近的提交在列表的底部。删除提交只是删除相应的行,或者指定' d '或' drop '命令作为前缀。你的信息中有一个打字错误?只需使用“r”或“reword”命令来保持提交,但更改相关的提交消息。
总而言之,“rebase”只是一个 Git 命令,它可以让您:
- 选择一个或多个连续提交
- 基于您的存储库的任何提交
- 将更改应用到此提交序列,因为它们被添加到新的基本提交之上
为了更好地说明这一点,考虑以下一系列提交:
正如您在这里看到的,我们有第一个“根提交”,这将作为我们的基本提交,随后是 4 个提交,将总共 5 个文件添加到存储库中。为了便于练习,假设这一系列提交是您的拉请求,您对它不满意,原因如下:
- 第一个提交消息是错误的:它应该是“添加文件”,而不是“添加 A”
- 文件 B 和 C 以错误的顺序添加
- 文件 D 应该与文件 C 同时添加,而不是与文件 E 一起添加
- 最后,文件 E 应该添加到它自己单独的提交中
所有这些变化都可以用一个简单的重定基准来完成。最终的历史将如下所示:
请注意,除了我们的基本提交之外,所有提交散列都已更改。这是由于 Git 生成提交散列的方式,它不仅基于更改本身,还基于父提交散列和其他元数据。
无论如何,让我们重新开始!
让我们从一个‘git rebase-I HEAD ~ 4’开始。这告诉 Git 交互地重新设置 HEAD 中最后 4 次提交的基础。“head~4”指向“根提交”,这是我们将重新基于的提交。按 ENTER 键后,您选择的编辑器将打开(在 Unix 风格的系统上,默认为“vi”)。在这里,Git 只是简单地问你想对你执行的提交做什么。
如前所述,每一行都代表一次提交,以将要应用的相应 rebase 命令为前缀。所有的注释行在重定基础时都会被忽略,这里是提醒你现在该做什么。在我们的例子中,我们将使用以下命令:
在这里,我们告诉 Git 在 rebase 期间为我们执行三项任务:
- 在第一次提交时停止,让我们更改提交消息
- 对第二个和第三个提交进行重新排序,使它们具有正确的顺序
- 停在最后一个提交,让我们做一些手动修改
保存文件并退出编辑器后,您将再次看到编辑器,第一条提交消息将出现在您面前。重置正在进行,系统会提示您更改第一个提交消息。我们把它从“添加一个”改成“添加一个文件”,然后保存并退出。
第二次和第三次提交的重新排序是由 Git 透明地完成的。这给我们留下了我们要求执行的最后一个修改。这里,我们在“添加 D 和 E 文件”提交后停止。因为我们想用 C 和 D 文件创建一个提交,并且只为 E 创建一个新的提交,所以我们需要执行以下步骤,就像我们在我们的分支顶部修改附加提交一样:
这些命令(除了最后一个)使“添加 C 文件”和“添加 D 和 E 文件”提交成为我们想要的“添加 C 和 D 文件”和“添加 E 文件”提交。不过,最后一个命令只是通知 Git 我们已经完成了“编辑”步骤。之后,Git 会很高兴地告诉你 rebase 成功完成。太好了!
我们已经介绍了您可能想对提交历史做的几乎所有事情。还有一些命令可用,根据您的使用情况,它们可能会对您有更好的帮助。
处理矛盾
当谈到使用“重定基础”时,人们经常对如何解决冲突感到困惑,这种冲突可能发生在将一个分支重定基础到另一个分支之上时。由于多种原因,当 Git 出现冲突时,解决冲突实际上很方便。
首先,当冲突出现时,Git 不会试图比你更聪明——它会停止当前的“rebase ”,并要求你解决冲突。冲突文件将被标记为“均已修改”,冲突部分将有一些标记来帮助您找到不同之处。当您完成修改后,您可以“git add”修改后的文件,并运行“git rebase–continue”让 rebase 继续运行。
第二,当你对正在进行的重定基数或重定基数出错没有信心时,有两种工具非常有效。考虑“git rebase–abort ”,它将历史倒回到当前 Git rebase 操作之前。
通过这些技术,使用“rebase”所做的更改可以撤消,因此出错的风险最小。
最后,你可能会发现自己在处理一个漫长而无聊的冲突,即使这样,同样的冲突也有可能在不同的时间再次发生。例如,不幸的是,当您在自己的分支上工作时,基础分支发生变化是很常见的。另一种情况是,您中止了一个重定基础,现在正试图重做该重定基础。为了避免再次解决相同的冲突,Git 提供了一个默认禁用的解决方案。此功能名为“重复使用记录的分辨率”或“rerere ”,可通过“git config–global rerere . enabled true”启用。这样,Git 将跟踪您执行的所有冲突解决方案。当完全相同的冲突再次发生时,您应该从 Git 输出中看到使用了记录的解决方案。
更进一步
我希望这篇文章能帮助你了解“rebase”命令的作用。当然,学习 Git 的最好方法是使用它,但是第二好的方法是阅读它。如果你想阅读更多,我强烈推荐 Pro Git 这本书——特别是关于 rebase 本身的部分。而且,因为偶尔我们都会陷入糟糕的境地,所以您可能应该看看维护和数据恢复部分中的数据恢复。如果你不喜欢阅读整个文档,也许你更喜欢这些 Git 飞行规则。
对这篇文章有更多的建议或反馈吗?我很想听听他们:@ a sure。感谢您的阅读——祝您愉快!
将人工智能引入媒体,以取悦观众,优化编辑工作流程,并最大限度地提高收入
你的团队努力制作、策划和润色数以千计的优质内容,但其中大多数在上线一两周之后就被埋没了。与此同时,你的读者努力寻找与他们独特的需求和兴趣相关的最权威、最有智慧或最有趣的内容。
阿尔戈莉娅前来救援。
我们的使命是在几毫秒内将媒体消费者与最相关的内容联系起来,这一使命现在被最新的人工智能所强化。随着我们 2010 年秋季的人工智能发布,我们为出版商提供了最完整的人工智能搜索和发现方法。
更了解你的用户需求
在处理成千上万的内容时,将访问者与正确的内容联系起来是一个真正的挑战。人类以“混乱”的方式进行搜索,使用不同的同义词来描述同一件事(“浪漫喜剧”的“romcom”),我们会打错字(“烹饪”的“cooking”),有时会问问题,而不是输入清晰的搜索术语。此外,我们说不同的语言,有其自身的特点,例如很长的单词或不带空格的单词。所有这些使得人工预测用户可能搜索术语或概念的每一种新方式几乎是不可能的。
Algolia 理解:得益于对自然语言最优秀的理解
有了 阿洛理解 (现在处于封闭测试版),你就能处理最复杂的用户查询。
用户表达意图有两种方式:
- 明确地,通过软件容易理解和标记的词语,例如当他们在寻找“新鲜的贝莱尔王子第二季第四集”时,以及
- 含蓄地,通过自然语言,就像他们在寻找“威尔遇见他父亲的那一集”时一样
有了 Algolia Understand,你可以识别用户提出的两种类型的问题,并向他们展示正确的内容,包括那些隐藏的宝石。
对你来说,这意味着从现有内容中获得更多,并为最复杂的请求带回最好的内容。
阿果明白出道于封闭测试版。点击链接加入等候名单!
动态同义词建议:让用户用自己的话说出来
同义词是提高搜索结果相关性和避免给用户“没有结果”的一种强有力的方式,这种方式会使用户认为你没有他们查询的相关内容(并导致他们反弹)。但是手动管理同义词也很麻烦:一个一个地定义它,并考虑所有各种可能的场景。
Algolia AI 让同义词管理变得简单。
我们新的动态同义词建议会自动检测和建议您的受众用来查找内容的新同义词,甚至是那些您不会怀疑的同义词!
【桉树】<>【桉树】
【数据】< >【图表】
【双向胶带】< >【双面胶带】
ABC 是澳洲最大的新闻平台,我们的受众非常多元化。在我们的 1M+的文章中,很难持续地将我们的访客与正确的内容联系起来。 阿尔戈利亚动态同义词建议帮助我们 让我们的观众获得正确的内容 通过自动建议特定事件或特定部分观众的相关同义词,没有摩擦。自从使用了它, 我们看到我们的搜索在 www.abc.net.au" 上有了很大的提高**
彼得·布芬顿,产品经理
**动态同义词建议 现已面向我们标准版和高级版计划的 Algolia 客户推出公测版!
语境决定一切:提供相关的、个性化的体验
许多事情会影响用户找到最相关的东西:季节性、趋势、个人偏好。想想那些寻找蒂姆·伯顿电影的人。临近圣诞节最相关的结果可能是 圣诞节前的噩梦、 ,而 2019 年初最相关的结果可能是刚刚发布的Dumbo。一个用户可能更喜欢哥特式恐怖电影(提供给他们 【断头谷】 ),而另一个用户可能喜欢音乐喜剧(更好的结果是 《查理和巧克力工厂》)。
我们新的人工智能功能使您能够根据用户行为定制推荐内容,从而创建更加个性化的浏览和导航体验。
动态重新排名:提升每个用户查询的最高执行结果
Algolia Dynamic Re-ranking 利用人工智能来分析用户对您的数字资产的行为,然后为每个搜索词提供最佳搜索结果。 Algolia 已经提供了一整套工具来管理相关性,同时考虑到个人访客输入和您自己的业务规则。
有了 Algolia AI,我们现在可以利用集体智慧。动态重新排序使用人工智能来分析每个查询,并在搜索结果中提升与该查询相关的最佳表现项目。这对于相关性边缘情况尤其有益,因为相关性是相对于最终用户 。
我们在您现有的规则基础上,根据您的用户发送的大量信号,应用了一个新的排名。通过为每个访问者提供前所未有的内容相关性,我们的动态重新排名将使您的观众再次光临。
动态重新排名 现已面向我们标准计划和高级计划的 Algolia 客户公开测试!
个性化:将你的受众最有亲和力的内容呈现出来
你的访问者会接触到来自各种数字来源的大量内容。他们期望内容推荐多样化和个性化,他们在这方面的门槛只会越来越高。 打造个性化体验需要时间和资源。很难决定从哪里开始个性化体验,对哪些数据采取行动,以及将哪些系统连接在一起。依赖一刀切的解决方案是有风险的——每个企业和每个受众都是不同的,所以你需要调整个性化逻辑以适应一对一的体验。
我们的个性化功能利用人工智能为您的每位访客提供量身定制的体验。它负责计算个性化评分并自动重新排列您的内容,但也附带了一个模拟器,向您展示它如何为每个用户和每个查询优化结果。
这使您能够展示您的受众最感兴趣的内容,从最受欢迎的内容片段,到他们很难在其他地方找到的非常小众的内容标题。
Algolia 个性化 已在 Algolia Premium 计划中提供。在这里 阅读更多关于个性化 的内容。
T34
授权您的编辑团队并改进内容管理
为您的编辑团队提供合适的工具来搜索、检索和管理内容至关重要。有成千上万的文章要挖掘,通常很难从他们那里知道什么是已经产生的,什么是交叉引用或重用的。
Algolia AI 让您的编辑轻松搜索相关内容,并在几毫秒内最大限度地提高您的目录曝光率,从而为他们提供与您的受众相同的优质体验。
阿果答
在封闭测试版中发布,Algolia Answers为文本搜索带来了现实世界的语义理解,搜索者可以用自然语言或关键字进行搜索,并在回答他们问题的文本深处找到答案。
Algolia Answers 使用真实世界的语义理解来超越文本相关性。例如,Algolia Answers 知道三星 Galaxy 是一部“大型手机”,或者《星球大战》是一部 70 年代的科幻电影。
如果你的编辑要搜索: “星系 S10 的存储量是多少?” Algolia Answers 很聪明,知道“存储”在这里指的是 GB——并在你的索引中找到了讨论 Galaxy S10 如何有 256 GB 和 512 GB 两种版本的文章。
Algolia Answers 结合了你对 Algolia 的已知知识,如文本相关性、规则和可定制的排名公式,以及顶级的机器学习技术,包括 OpenAI 的技术。Algolia Answers 是一个理想的搜索体验,适合那些拥有包含重要信息的长期内容的人。
阿洛利亚答案 封闭内测出道。点击链接加入等候名单!
带来你自己的人工智能以获得更多的结果。
或者:这对你的业务意味着什么?
借助这套人工智能支持的功能,您的访客和编辑甚至可以通过您的应用、网站或内部工具中无缝、自然的交互,获得最相关的内容。使用率和订阅量将会增加,同时减少跳出率和无结果率。
但是我们知道每个媒体业务都是独一无二的,我们希望考虑到您自己的编辑策略和商业逻辑。这就是为什么 Algolia AI 是一个开放平台,使组织能够将自己的 AI 带入 Algolia。通过将您的人工智能模型的输出发送到我们的平台,Algolia 允许您将多年来使您的业务独一无二的东西与我们久经考验的搜索和发现产品结合起来。
NBC、FranceTV、The Times、Ouest France 和政治等客户使用 Algolia。阅读他们所说的和今天和我们谈谈加入俱乐部的事情。**
5 月 30 日 SSL 事件
原文:https://www.algolia.com/blog/engineering/may-30-ssl-incident/
| 总结和关键要点
- 两个根证书颁发机构于 2020 年 5 月 30 日到期。
- 我们的一些客户经历了长达 1.5 小时的服务中断(如果他们有过时的 OpenSSL 库),其他客户经历了长达 3 小时的服务中断(如果他们也有过时的证书存储)。
- 该问题已完全缓解,每个人的服务可用性都已恢复。
虽然与 OpenSSL、HTTPS 和 PKI 证书有关,但这不是一个安全事件。
|
2020 年 5 月 30 日 10:48 UTC,我们在互联网的公钥基础设施中经历了一个罕见的情况,两个根证书颁发机构过期,一个被另一个交叉签名。
理论上,这没什么不寻常的。证书随时都会过期(如果使用 Let's Encrypt,通常会在一年甚至 90 天内过期),证书颁发机构会在许多年后过期一次。但是在 5 月 30 日,即将到期的认证机构暴露了一个潜在的问题,使得我们的 API 对我们的一些客户不可用。
5 月 30 日,在 UTC 时间 10:48 认证机构过期后一分钟,我们的站点可靠性工程(SRE)团队收到通知,我们的服务存在证书问题。这是一个意外的消息,因为我们仔细检查我们的证书是否有效,不会很快过期。浏览器中的快速验证也确认了一切正常,API 响应正确。然而,来自不同服务的第二个警报通知了 SRE 团队,再次声称证书已过期。浏览器中的另一个验证再次确认了该服务正在工作并有响应。出于某种原因,Pingdom 监控服务发现证书已经过期,但是浏览器中的一切都正常。
查看我们的基础设施上的流量图,我们注意到 API 调用的数量有所减少,但并不接近于零。当事情不完全正常时,通常比在一些事情正常而另一些事情不正常的情况下更容易发现什么不正常。
当我们从装有 macOS 的笔记本电脑的命令行测试受影响的服务时,调查的方向很快发生了变化。突然,一个简单的对域名的卷曲失败了,说证书无效。我们发现了一些东西,Qualys SSL 实验室扫描仪显示了许多有趣的东西:
- 我们的证书是有效的。
- 我们的中级证书颁发机构 Sectigo RSA 组织验证安全服务器 CA 的证书是有效的。
- 在路径 1 中,根证书 user trust RSA certificate Authority 是有效的,并且整个链是有效的。
- 在路径 2 中,我们的根证书颁发机构 USERTrust RSA 证书颁发机构的证书于 5 月 30 日 10:48 UTC 到期。
- 根证书颁发机构 AddTrust 外部 CA 根的证书交叉签名 USERTrust RSA 的证书已于 5 月 30 日 10:48 UTC 过期。
这是一个有趣的情况。有一个到 USERTrust RSA 证书颁发机构的有效路径,也有一个过期路径。浏览器能够找到有效的链,但是 curl 找不到它。Qualys SSL 实验室测试显示系统正在运行,证书配置工作正常。
我们用现有信息更新了状态页面,安排专人回复我们支持邮箱收到的电子邮件,并开始着手缓解我们认为是问题根源的问题。
在我们的测试环境中,我们验证了从服务器提供的证书链中删除过期的证书是一个好方法。服务器仍然可以从浏览器访问,现在甚至 curl 在命令行中也能够验证证书链并允许请求通过。这是一个很有前途的解决方案,值得部署到生产环境中,因此我们开始着手部署。
当这种变化影响到第一批生产服务器时,我们看到流量水平恢复到了我们当时的预期水平。随着每一个额外的服务器获得现在更短版本的证书,情况变得越来越好,直到我们认为一切都完成了,我们可以结束这个事件。然而,仍然有一小部分客户告诉我们,他们无法验证证书并连接到 API。
如上所述,测试表明有一个有效的可信路径,以及一个以前不可见的新的可信路径——这次不是在 AddTrust 外部 CA 根处结束,而是在 AAA 证书服务处结束。这条新路从何而来?事实证明,USERTrust RSA 证书颁发机构证书有 3 个版本:
- 自签名根证书颁发机构版本创建于 2010 年
- 由 2000 年创建的 AddTrust 外部 CA 根版本交叉签名
- 由 2019 年创建的 AAA 证书服务版本交叉签名
当时的情况是,我们的绝大多数客户现在从他们的证书存储中识别自签名根版本,我们无法使用 AddTrust,只能使用 AAA 证书服务。不清楚为什么自签名版本没有被所有地方识别,因为它已经在常见的证书存储中存在了一段时间。快速查看 AAA 证书服务证书后,发现它创建于 2004 年,很有可能它存在于更多的证书库中,并且存在的时间更长。
我们的 SRE 团队开始部署对我们的公共证书的第二次更改,尝试为剩余的客户恢复服务,并在部署后不久与他们确认他们可以再次获得服务。这一事件现在终于结束了,所有客户的服务都恢复了。但是,为什么我们的一些客户在 Qualys 扫描仪显示证书有效时却失去了访问权限呢?
证书确实是有效的,并且整个证书链是由 Comodo/Sectigo 证书颁发机构正确生成的(在周末使任何证书过期都不是一个好的做法,使证书颁发机构过期也不是一个好的做法,因为它有叶子证书,但是从技术上来说,这是正确的。)没有预想到的是客户端库将如何处理这种情况,主要是为地球上绝大多数 HTTPS 提供动力的 OpenSSL。在分析事件的过程中,我们在发现了 2014 年的一个有趣的 OpenSSL 错误,它说:
尽可能不要使用过期的证书。
查找证书颁发者时,如果当前候选人已过期,继续查找。如果找不到有效的证书,只返回过期的证书。
这意味着在实现这一更改之前,每当 OpenSSL 在证书链中检测到无效证书时,它都会声明该证书无效并拒绝连接。实现这一更改后,OpenSSL 会跳过过期的证书,并正确地继续寻找可以证明证书有效的其他证书。这个微小的变化适应了证书链的性质——一个证书颁发机构可以由多个证书颁发机构签名,其中一些仍然有效,一些不再有效。一切看起来都很好,那么为什么会有影响呢?
进一步挖掘,对 OpenSSL 的这一更改只是 OpenSSL 1.1.1 的一部分,而不是 OpenSSL 1.0.x 的一部分。例如,这意味着 Ubuntu 16.04 和更旧版本、Debian 9 和更旧版本、CentOS 7 和更旧版本或 RedHat 7 和更旧版本的所有版本都受到影响,但所有这些仍然是普遍支持的版本,至少从安全角度来看是这样。在我们的 macOS 笔记本电脑上,我们使用的是 LibreSSL 2.x,LibreSSL 3.2.0 的发行说明中也有类似的提及:
*构建证书链时首先使用未过期的证书。
我们现在必须等待新的 LibreSSL 出现在 macOS 的新版本中。
但是为什么浏览器能够正确地验证证书呢?浏览器自带了自己的 SSL/TLS 库和自己验证 PKI 的方式。Chrome 搭载了 BoringSSL,Firefox 搭载了 NSS,独立于底层操作系统的 SSL/TLS 库,没有同样的 bug,更新更加频繁。
现在,我们终于全面了解了发生了什么,为什么只有一些客户的后端实施受到影响,为什么有些系统的证书存储已经过时,需要更旧的根证书。
下一步是什么?我们正在联系受影响的客户并解释发生了什么,我们正在改进我们的证书检查工具,以验证整个链中的过期情况,而不仅仅是我们的叶证书。最后但同样重要的是,我们将把 OpenSSL 包括在我们的年度开源捐赠中,并将在财政上支持 OpenSSL 团队的工作。
—————–
常见问题解答
- 服务不可用是由 Algolia 服务器上的问题引起的吗?
不,该服务继续工作,仅对于过时的系统不可用。 - 我应该怎么做才能避免 Algolia 或其他服务将来出现类似情况?
将你的 OpenSSL 至少更新到 1.1.1 版本,将 LibreSSL 至少更新到 3.2.0 版本。还要更新你的证书库,在 Linux 上通常是“ca-certificates”包。 - Algolia 的证书过期了吗?
不,Algolia 的证书没有过期,仍然有效。过期的是签署我们证书的三分之一版本的证书颁发机构。 - 是否有其他提供商受到影响,或者该问题是 Algolia 特有的?不幸的是,其他供应商也受到了影响:Heroku、Stripe、kernel.org、Datadog、Gandi.net 等等。
- 对客户有什么影响?
我们检测到大约 10%的应用集群受到大约 1.5 小时的影响。在这段时间之后,有个位数的客户受到了长达 3 个小时的影响。在此次事件中,没有来自浏览器的搜索查询受到影响。
用利润计算器估算电子商务转化率和收入
根据 Forrester 的 调查,在线购物者认为轻松访问电子商务商店目录是他们在线购物旅程中最重要的部分。确保这种访问的是优秀的搜索和发现工具,这些工具对于客户参与和快速、轻松的结账流程一样重要。
企业在技术上投入大量资源,以获得最佳的用户参与度和电子商务转化率指标。所有一流的技术都提供了获得高质量数据的方法。然而,多达 46%的数字商务从业者表示,他们的公司在电子商务网站搜索方面投资不足。
如何提高你的平均电商转化率
根据我们为 12,000 多家客户提供服务的经验,我们发现了如何根据经过时间考验的基准和客户评价来准确评估关键的电子商务转化指标。我们的客户报告说,平均而言,一个强大的搜索解决方案每月增加 10%的用户会话和 2.77%的转化率,从而使每月的电子商务收入增加 27%以上。这可能会很快发生,甚至在上线后一个月。
如果您想提高您的关键电子商务转换指标/KPI,如每月会话数、转换率和月收入,您的搜索和发现解决方案必须与运营您在线业务的其他技术保持一致。
想要良好的转化率和电子商务收入?我们已经创建了一个 利润计算器 ,它可以帮助您估计您的在线转换 KPI。
衡量您的电子商务收入和关键绩效指标
搜索和发现如何增加电子商务的转化率和收入
我们告诉客户从简单开始,快速启动并运行;第一天就有可能获得更高的利润。我们解释了我们现成的 搜索和发现 技术如何通过即时搜索结果、相关性、分面、同义词、错别字容限、商品销售和预建搜索 UI 组件等功能快速取得成功。这些都可以立即促进用户互动,并带来更高的转化率(从购物者向购物车添加商品或购买),并最终带来收入。
快速全文搜索、地理搜索和带有自定义结果排名的过滤正是我们所需要的。我们在一周内就把它建成并投入运行了。
—Ian pede rsen,全心全意关怀组织联合创始人
一个 开箱即用的搜索解决方案 推动电子商务利润的起点是速度和相关性。购物者用指尖思考。他们在搜索框中输入的每一个字母都会以最大的相关性即时更新他们的结果。这种做法本身就增加了转化率,因为购物者会立即发现你的目录中有什么,很容易浏览和了解你的产品。然后他们的搜索结果把他们带到他们想要的地方,然后他们就转化了。
Algolia InstantSearch 非常有价值,因为我们已经能够快速实施重新设计的体验,让客户能够快速找到他们的轮胎尺寸。
— 杰克·威廉姆斯轮胎 首席信息官 Dave Christy】
另一方面,网上购物者的任何延迟或困难都可以带到别处。在数字世界里,购物者要么皈依 要么反弹 。我们的一些客户通过实施更好的搜索,将跳出率降低了 88% 。
亚马逊体验
将你网站的搜索体验与亚马逊上的进行比较。
亚马逊上的购物者在搜索栏中键入一个查询并扫描他们的结果,但他们做的不止这些:他们浏览产品图片和产品描述,查看个性化搜索结果、产品评论和推荐,浏览品牌和基于类别的购物部分,并与引人入胜的 A/B 测试功能和搜索结果进行交互。
开创性的亚马逊体验令人印象深刻,因此,亚马逊的转换率是巨大的。根据一项研究,亚马逊购物者 的平均 转化率为 10–15%,而亚马逊 Prime 会员的转化率甚至更高:约为 74%。
如果你厌倦了你的潜在客户去亚马逊,考虑一下像 Algolia 这样的网站搜索和发现工具能为你的业务做些什么。你可以为你的网站访客和潜在客户提供一个 亚马逊品质的体验 。
实施时间,转换时间:计算您的电子商务价值
快速搜索减少转换时间。如果将这一点与快速实施相结合,您可以进一步缩短转换时间,创造更高的投资回报。
我们的利润计算器可以帮助您评估整体投资回报率。
我们使用行业基准和客户数据构建了一个电子商务利润计算器,以帮助我们的潜在客户可视化搜索对其业务的实际影响。它非常成功,我们很高兴能在网上分享它,不仅帮助我们的潜在客户,也帮助每一位电子商务经理。
—Justin Barth,高级客户经理,Algolia
当我们看到轻松实施我们的搜索和发现解决方案的结果时,我们决定向我们的潜在客户提供关于如何提高他们的电子商务投资回报率和关键绩效指标的建议。为此,我们的团队开发了一个工具来评估 Algolia 搜索对电子商务 KPI 的影响,使企业能够识别可能隐藏在其在线商店中的潜在电子商务收入。
上面的场景展示了一家月收入为 80 万美元的公司如何通过实施一个快速的现成搜索和发现解决方案将这一数字增加到 100 万美元以上。它还显示了 3%的电子商务转换率如何提高到 3.3%。
增加转化率和收入:开始简单但计划扩大规模
虽然从简单开始可以立即获利,但你可以做得更多。鉴于过去几年在线购买 的 爆炸式增长,增强你的现成搜索解决方案可以让你的 KPI 翻倍,甚至三倍。这张来自土耳其的数据图表显示了与传统商务收入相比,电子商务收入是如何稳步增长的:
为了满足这种日益增长的需求,并应对用户和竞争对手日益增长的复杂性,您的搜索和发现解决方案必须包括高级功能和引人入胜的搜索 UI 模式。从我们的 电子商务分析引擎 开始,您可以从我们的产品中获得。 分析 提供关于热门搜索和无结果的报告,并启用 A/B 测试和关键人工智能功能,如个性化和推荐。
有了 Algolia,我们现在可以在几个月而不是几年内构建复杂的搜索功能。
— 工程师安东·哈利姆
这里有一些方法可以增强你的搜索用户体验,提高你的关键绩效指标,增加你的利润:
获取转化率优化思路
将你的 KPI 翻倍:这是你投资的目标。看看我们的 利润计算器 有什么可能。
如果你愿意,我们还可以给你一个 免费审计 你的电子商务网站搜索功能,加上个性化的建议,你可以如何提高你的 KPI 和实现你的转换优化利润目标。
衡量您的电子商务收入和关键绩效指标
出版商指南:如何将你的故事呈现在正确的读者面前
在线出版商在一个快速且持续增长的行业中运营。为了“赢得”读者,出版商必须在正确的时间向正确的人提供相关信息。
在这个快节奏的行业中,用户对他们找到的内容的相关性以及内容出现的速度的信心是至关重要的。读者的注意力是有限的,因此在线阅读体验应该完善和优化到最微小的细节。
你需要什么来建立一个成功的媒体发现?
每一篇推送到索引中的新文章(即发布的文章)都应该立即可供读者使用,并出现在查询或给定类别的正确上下文中
- 通过多标签和多类别导航构建简单的用户旅程
对媒体公司来说,最大化内容曝光率在两个方面至关重要:将自己与竞争对手区分开来,以及吸引观众。不幸的是,这种方法会同时向读者展示太多的内容,很快让他们不知所措。最佳解决方案是通过利用“联合”内容原则实现的,如下所述,这有助于同时满足这两种需求。
- 基于人和基于人工智能的相关性混合
与任何其他行业相比,媒体更需要复杂的相关性模型来考虑各种类型的内容(长期或短期;文章或视频)。媒体公司需要定义通用或特定的规则,以便在正确的时间呈现正确的内容。虽然人工智能功能可以自动进行相关性优化,但它是完全透明的,并允许人类控制结果。这种自动/手动平衡对于满足独特的新闻要求至关重要。
- 内部工作流程优化
如果没有高效和有才华的内容团队,就不可能获得与观众最相关的内容。使用快速、现代化的 CMS 优化编辑工作流程,使记者能够更快、更高效地进行内容监管和交叉引用。
下面是一些成功实施这些媒体发现策略的公司的例子。
多类别即时搜索页面:中
对于许多商业行业来说,多类别即时搜索体验已经变得越来越流行。对于出版商来说,多索引搜索——通常称为, 联合搜索——在内容发现中发挥着重要作用,允许用户在单个统一界面中从各种来源发现相关结果。
发布站点媒体的用户界面使搜索变得简单。通过一次搜索,读者不仅会看到相关的搜索结果,还会看到有趣的备选方案,如建议的故事、标签(关键词)和人(作家、组织、出版物)。
https://www . algolia . com/doc/guides/building-search-ui/ui-and-UX-patterns/multi-index-search/js/
自动完成——对空查询的联邦建议:分家伙
出版商网站的一个共同目标是帮助用户浏览网站,方便快捷地找到相关信息。除了提供自动完成功能之外,发布者可以在用户在搜索栏中键入时显示查询建议,从而甚至在用户开始键入之前就引导用户通过来自多个来源和索引的建议内容。
要在空查询上配置联合建议,您可以创建一个规则,每当有空查询上下文时,该规则将提升或隐藏特定类别,提升或隐藏项目。一旦用户开始键入,该规则被禁用,以向用户提供完整的搜索体验。
对于专注于旅游的网站 The Points Guy,除了等待用户查询的搜索框之外,还会提供相关的有用内容,包括度假目的地的最新消息、酒店评论和热门旅游交易。
社论内容内部搜索:时报
传统上,在出版业工作需要员工花费大量的工作日时间在内部企业搜索上,试图找到现有的文章。这通常是一个缓慢而耗时的过程,效率低,结果不匹配。对于现代出版商网站来说,内部企业搜索与面向客户的外部搜索一样重要。
编辑和记者需要配备快速高效的平台,以便每天构建、编辑和发布他们的故事。正确选择高性能工具将极大地提高生产效率。
上面的例子展示了最佳的内部工具,有效地满足了不断增长的数字出版业的需求。在英国历史最悠久的全国性日报《泰晤士报》&星期日泰晤士报的内部网站上,员工可以在搜索框中输入关键词,根据主题找到新闻文章,然后将内容拖放到报纸风格的布局中。
成功指标:
- ~每周为生产团队节省 4 小时时间
- 搜索速度提高 300-500 倍,工作效率提高
搜索中的促销横幅:ABC
在澳大利亚广播公司(ABC)网站上,当访问者在搜索框中输入关于感兴趣的主题如“事实核查”或“冠状病毒”的查询时,一个可点击的横幅广告会出现在框下方,宣传事实核查新闻内容。这种类型的功能由相关性规则触发,是应用于数据索引的全局相关性策略的一部分。
您可以为您的网站实现不同类型的横幅:
关键词触发的横幅
- 根据用户输入的内容,在搜索结果周围或内部显示促销横幅
- 实施步骤:
- 建立横幅索引
- 建立一个索引来保存不同横幅的详细信息以及它们应该为显示的关键字
分类广告条
- 某些横幅只应在过滤某些类别或品牌时显示,匹配或不匹配某些关键字。
- 实施步骤:
- 以关键字触发的横幅广告方式开始
- 将横幅广告适用的类别添加到您的记录中
- 将 类别 添加到条幅索引的刻面属性中
- 向您的横幅索引发送查询时,使用 过滤器 对当前类别进行分面,以便只返回对其有效的横幅。
地理位置横幅
- 根据用户的地理位置显示不同的横幅
- 实施步骤:
- 将地理位置数据添加到您的横幅记录中,将它们绑定到相关的特定位置
- 如有必要,您可以使用地理定位点阵列添加多个位置
- 当您发送查询以查找可能的横幅时,请确保在请求中包含您当前用户的位置
个性化横幅
- 某些横幅广告必须只向特定用户或部分用户显示
- 实施步骤:
- 将相关用户 id 或细分市场 id 添加到您的横幅广告记录中
- 如果横幅对所有用户都有效,则将该属性的值设置为“all”
- 将 段 或 用户 (取决于您的使用案例)添加到您的横幅索引的刻面属性中
- 在发送到横幅索引的查询中包含一个过滤器,以确保您只找到正确的横幅
全文随搜式体验:ABC
澳大利亚广播公司(ABC)网站拥有强大的搜索体验,确保内容的可发现性和相关性。ABC 网站的搜索功能包括“随键入内容进行全文搜索”功能,用户不仅可以通过文章的主标题搜索文章和新闻,还可以通过每篇文章的正文搜索,为用户突出显示所有相关内容。
带标签过滤器的动态登陆页面:Hackernoon
Hackernoon 网站使用基于标签的过滤器,在专门的登录页面上向用户显示他们感兴趣的类别中最相关的结果。通过实施过滤和导航策略,Hackernoon 保证了网站上发布的每一篇文章都能被标签过滤。Algolia 通过允许出版商标记他们的文章来过滤结果,确保他们获得的内容结果是基于他们的读者最可能想看的内容。
保存搜索:政治
内容通知服务
保存搜索功能允许媒体公司在网站上出现新的匹配内容时自动通知用户。保存的搜索非常适合自动化重复的搜索查询,并与不断变化的内容保持同步,这在新闻和其他出版商的使用案例中尤其常见。
在政治的网站上,用户可以切换开关来保存搜索,并在与查询匹配的内容发布时得到新闻网站的通知。可以同时保存多个搜索。
https://www . algolia . com/doc/guides/solutions/sample-apps/# search-alerts-with-algolia-firebase-twilio-and-send grid
推送通知&监控仪表盘
除了发送通知之外,出版商的网站还可以为用户提供额外的便捷方式来发现与他们感兴趣的主题相关的新内容。在这个例子中,出版商使用 Algolia 来触发推送通知,并在政治的网站上提供一个监控仪表板。
NLU 搜索:政治
随着谷歌等搜索引擎的技术进步,用户现在习惯于使用他们的自然语言提问,而不是在搜索栏中键入人工搜索查询。NLP 从用户的问题中提取用户的意图(语义理解),并提供最佳匹配的答案,而不需要对模型进行额外的训练。在这里,在政治的网站上,用户可以看到他们问题的相关答案。这种类型的功能使用户能够轻松找到与他们的问题最相关的答案。此外,呈现给他们的结果会随着他们输入的每一次击键而动态更新。
成功指标:
- 快 8 倍的搜索速度
- 高度相关的结果
- 直观的用户体验
- 不会因为用户没有找到他们想要的东西而失去销售
聊天机器人上的对话搜索
对于寻找可靠信息的用户来说,聊天机器人将是比大量浏览更直观的选择。聊天机器人会立即回答用户的问题。这种功能可以通过使用 Google Cloud Dialogflow Messenger 来实现聊天机器人,并利用自然语言处理从您的内容中返回最佳匹配的答案来实现。
结论
最好的出版商网站提供快速搜索、高度相关的结果和直观的用户体验。公司不希望由于用户没有找到他们想要的东西而失去销售。这就是为什么他们使用多种工具来改善他们网站上的用户旅程和内容可发现性,例如对每个用户搜索的查询建议,与用户查询相关的推广横幅,以及首先显示最相关和推广的内容。此外,他们使用更加个性化的方法,通过整合保存的搜索提醒和推送通知以及监控仪表板,为用户提供他们最感兴趣的主题。最后,他们使用对话式搜索来提供更加互动和直观的搜索体验,通过利用自然语言处理来提供准确和相关的答案。
通过 Algolia 让你的搜索更有价值——我们将在 NRF 向你展示
原文:https://www.algolia.com/blog/algolia/meet-algolia-at-nrf-2023/
当资金紧张时,投资客户之旅必须是你的首要任务。购物者没有任何时间可以浪费。你需要给他们一个惊人的快速,直观,无缝的数字体验。
搜索和发现是你的客户在你网站上花费的每一微秒的支柱。它必须是您的堆栈中最强大的工具。现在,每个人都需要做更多的预算。选择正确的搜索平台让您的投资发挥作用,并在创纪录的时间内获得投资回报。
当消费者支出下降时,拥有正确工具包的企业会取得成功。他们知道如何接触顾客并获得他们应得的份额。
从行业巨头那里获得内幕消息
Algolia 专家随时准备提供帮助。 在 1 月 15 日至 17 日于纽约市贾维茨中心举行的零售大展上,我们的团队将在 4046 号展位展示产品。
我们每周为全球 1.7 万名客户处理 300 亿次请求。我们很高兴向您展示什么是可能的。来看看我们,揭开市场上最强大的搜索和发现工具的面纱。
挖掘潜力,寻找混合零售
有这么多事情要考虑,有这么多风险,零售商们并不总是能看到搜索带来的不同。你需要知道如何利用搜索来为你和你的客户服务。这意味着在混合零售体验的每一个接触点都有卓越的搜索和产品导航。
没有哪两个在线零售商是一样的。你需要量身定制的解决方案。对某个特定用例有疑问吗?我们有最先进的答案和内部技术提示:
- 了解人工智能产品推荐等独家功能如何推动转化率飙升
- 了解 Algolia 如何通过文本和基于向量的语义搜索改变游戏规则
- 了解将 Algolia 与您现有的电子商务平台集成有多容易
- 了解如何利用我们久经考验、行业领先的搜索和发现解决方案提升购物体验
演示系列来自业界首个混合搜索引擎
为了应对共同的挑战并展示顶级搜索的潜力,我们将在 4046 号展位举办一系列展示活动。查看 日程 并标记你的日历。
从我们的专家那里听到关于这些以及更多热门搜索和商品主题的第一手信息:
- 搜索的价值与搜索创新
- 跟单员的一天
- 优化马赫速度下的 CX
- 将 Algolia 与 Adobe、SFCC、Shopify、commercetools 和 BigCommerce 整合
让 2023 年成为你提升搜索的年份
我们迫不及待地想在 NRF 一起开启 2023 年。我们希望听到您的挑战和机遇,并使用 Algolia 的发电站搜索找到共同解决它们的方法。
参观我们的展位并与我们的团队交流,了解选择合适的搜索平台为何如此重要,以及我们的搜索和发现平台如何帮助您的客户惊艳全场并销售更多产品。
更好的办法是,在节目开始前与我们的团队进行一对一的预约,然后来纽约见我们:
我们在纽约见!
将 AWS 上的 Citus 迁移到 Azure 上的 Citus 的剧本和测试策略
是时候将我们大量的分析数据迁移到另一台服务器上了。当我们得知微软收购 Citus Data 时,我们已经在亚马逊 AWS 的 Citus Cloud 上处理了五年的分析数据。我们还了解到,Citus 初创公司的联合创始人和团队开始在微软 Azure 上提供类似的服务,名为 HyperScale (Citus)。在他们的帮助下,我们决定将 Citus 云数据库迁移到 Azure 上的 Citus。
此时迁移的一大优势是 Citus 团队拥有两个系统的所有权,因此他们能够为我们执行部分迁移过程。
数据、管道和 PostgreSQL
我们的实时 分析数据 存在于两个不同的地区:一个在美国,一个在欧洲。为了让您对迁移有一些了解,这两个集群代表了分布在 20 台机器上的大约 5TB 的数据。
Citus 数据 将PostgreSQL转换成分布式数据库。这是我们的分析渠道:
- 在左上角,用户进行搜索,生成日志
- 日志被聚集并发送到远程存储器
- 每当存储器接收到新的日志文件时,队列中就会添加一条消息
- 我们的写作人员阅读这些信息并计算储存在 Citus 数据库中的总量
左下角显示了通过我们的分析 API 面向客户访问分析数据。API 查询我们的 Citus 数据库,在数据库中已经存储的聚合之上执行额外的聚合。
那么,我们如何在不停机的情况下迁移这些数据呢?
前期约束:不中断服务,100%透明
我们从定义指导方针和约束开始:
- 迁移期间停机时间最短。 我们的分析数据全天候全球可用。它是我们产品基础和机器学习系统的核心。借助分析,我们的客户可以扩展并持续改进和配置他们的解决方案。
- 对用户透明。 我们不能打扰用法。透明不仅意味着没有停机时间,还意味着不引入任何性能或服务差异或倒退。
- 没有重构。我们希望专注于基础设施和数据,而不是在现有的代码库中添加任何新功能或不稳定性。
- 价格没有变化。在任何情况下,我们都不想增加客户的基础设施成本。
做之前的计划和设计:写剧本
由于这些无服务中断/透明的限制,我们决定在项目开始前写下我们将采取的每一项行动。我们从经验中知道,迁移实时、分布式大数据系统不仅仅是将数据移动到不同的机器上并更改连接字符串。
战术手册
-
对比分析:
- 确保新旧系统之间没有重大差异
-
初步考虑:
-
- 与供应商和内部团队协调行动(例如,与微软和我们的基础设施团队同步,列出他们将采取的行动)
- 在流程的多个阶段建立验证步骤,以确保没有隐性故障未被发现
- 计划一个恢复过程,在任何时候都可以使用它来恢复和回滚到我们之前的实例,以防出现任何问题
-
- 将旧的复制到新的
- 测试迁移过程的每一块
- 进行模拟测试
- 生产中的测试
- 首次展示/上线
- 监视器
对于行动手册中的每一项,我们都写下了完成每项任务所需的行动、工具和人员。
有一点要注意。虽然剧本应该建立信心,但它不应该制造一种虚假的安全感。每个剧本都会包含隐藏的偏见,有时甚至是错误的假设。在我们的案例中,剧本包含了一个重要的偏见,我们将在下面讨论。幸运的是,我们在预测试阶段就发现了偏差。
我们将讨论行动手册的两个部分:比较分析和迁移步骤。
新旧对比
为了确保完美的切换,我们检查了每个物理层和软件层。我们希望确保目标源不会在当前工作流中引入任何不同的或新的元素。
根据我们的约束,我们查看了以下内容:
- 硬件:CPU、RAM 和磁盘性能
- 好消息:Azure 有类似的机器,这方面一切看起来都很好
- 软件
- 好消息:相同的 Citus & PostgreSQL 版本,所以我们可以迁移而不必升级到任何主要版本
- 好消息:微软将在迁移过程中管理版本
- 基础设施
- 好消息:相同的 SLA
- 好消息:我们的服务器可以在相同的地区使用
- 好消息:相同的安全性&保密特性
我们注意到的一个差异与文件系统有关。对于 AWS,我们依赖 ZFS 文件系统的压缩功能。但是,Azure 不支持 ZFS 文件系统。我们检查了这是否会成为迁移的问题。如果没有这样的压缩,我们必须记住,我们在超大规模上需要更多的磁盘空间,在我们的情况下,需要多 2 到 3 倍。
得益于这一对比分析,我们确信新系统与旧系统不会有任何重大差异。
所以,有了这些前期的设计和分析,我们就可以开始了。
最好把这篇文章的其余部分分成两部分:
- 测试策略
- 复制和替换
测试策略:测试链条中的每一个环节
测试的核心是将一个过程分解成最离散的部分。在我们的例子中,主要是读/写故障。我们想单独测试每一个过程。
性能问题用我们的写操作
读取操作没有引起任何问题——正如您稍后将看到的,没有任何回归。另一方面,我们立即注意到超大规模(Citus)中的一个倒退:它慢了两倍,占用了两倍的资源。
这里我们发现了一个重要的偏差。我们已经进入测试阶段,主要关注读取回归,因为我们的产品以速度著称。但是 read 部分开箱即可完美运行。延迟发生在写入端,这也影响了终端用户的体验,包括性能和服务。
因此,我们必须在这里调整行动手册。我们需要添加额外的步骤和工具来关注写作过程。在这一点上,我们有工具来检查阅读的问题。现在,我们必须添加以下工具来检查写:
- 审计“pg_stat_statements”系统视图,以跟踪正在数据库上执行的查询的性能。
- SQL 查询计划,运行“解释分析”命令来比较新旧性能
使用 PostGreSQL 的“pg_stat_statements ”,我们能够确定我们的存储过程“create_rollup”在 HyperScale 上比在 Citus 上慢。事实上,它的平均执行时间比 Citus 慢两倍。但是为什么呢?
我们必须使用查询计划更深入地挖掘。在那里,我们发现 HyperScale 触发了JIT,而 Citus 没有。
对于不知道的人来说, JIT 代表“及时编译”。简而言之,它的作用是在运行时优化特定的查询。在我们的例子中,JIT 不断地被执行——甚至在查询被优化的时候!这大大降低了这个特定查询的执行速度。
查询计划还给出了不必要的触发器的原因:我们意识到 JIT 没有考虑我们已经设置的配置选项。 更具体地说,我们禁用了 嵌套循环 。
ALTER ROLE citus SET enable_nestloop = off;
SELECT run_command_on_workers('ALTER ROLE citus SET enable_nestloop = off')
实际上,嵌套循环对我们的插入查询的 Citus 设置产生了反效果的性能影响。 然而,如文档中所述,嵌套循环永远不能被完全禁用。当查看查询计划时,我们看到 JIT 确实使用了一些。
我们的解决方案是完全禁用 JIT:
ALTER ROLE citus SET jit = off;
SELECT run_command_on_workers('ALTER ROLE citus SET jit = off');
然后,我们确认它解决了我们的问题:在超大规模实例上禁用 JIT 后,两个系统以相同的性能运行,并消耗了相同数量的资源。
一次更新失败
然而……缓慢的查询并不是我们唯一的问题。我们在日志中收到了这个令人惊讶的错误消息:
由于我们的系统被设计为只有唯一的密钥,所以“重复密钥”的错误让我们非常惊讶。我们意识到,不知何故,我们的索引已经损坏,但像以前一样,我们不知道为什么,所以我们必须深入研究。
这一次,我们通过在网上搜索遇到类似问题的人找到了答案。原来是操作系统的[libc](https://en.wikipedia.org/wiki/C_standard_library)
造成了那个错误。
按照 ISO C 标准的规定,C 标准库或 libc 是 C 编程语言的标准库。几乎所有程序都使用这个库,包括 PostgreSQL。Postgres 依赖 libc 来计算索引使用的 UTF-8 排序规则。但不幸的是,Azure 上的“libc”版本不同,导致了这种错误行为。
从这篇 博文中我们得知 : 当心 libc! 由于“libc”不同,相同的 Citus 和 PostgreSQL 版本并不意味着相同的行为。
我们精心制作了一个恢复程序,以防在迁移过程中发生错误:如果发生错误,对表进行简单的重新索引。一如既往——最好事先知道这种操纵。
关于这个问题的最后一个警告是,后者不是特定于迁移的。例如,如果您的提供商或您的基础设施团队升级了运行 Postgres 的机器上的操作系统或“libc ”,就可能在您的生产数据库上发生这种情况。
迁移:复制&替换
现在我们已经测试了所有的部分,解释一下我们如何从一个已经运行了五年的系统到另一个需要在第一天以完全相同的方式运行的系统是很重要的。
复制
涉及的复制:
- 运行拷贝程序,将大数据从一个系统切换到另一个系统
- 测试零件(上面已经讨论过)
- 对整个过程进行模拟测试
- 生产中的测试
- 切换管道
这里的目标是在超大规模数据库上复制 Citus 数据库。
- 在微软 Citus 团队的帮助下,我们从现有的 Citus 云备份中创建了一个超大规模数据库。那时,我们在 Azure 中有了一个完全复制的超大规模数据库。
- 在我们这边,一旦数据库被复制,我们就“只是”将复制的服务连接到这个新实例。
就是这么“简单”。多亏了我们的测试,重定向的管道可以与新的基础架构无缝协作。
模拟生产
我们已经讨论了如何测试管道的每一部分。对于最后的测试,我们在测试服务器上运行了整个过程,以确保我们在两个系统中有相同的数据和性能。
我们通过模拟相同的条件并运行我们最常用的请求进行了测试。我们记录了当前实例在给定时间段内收到的 1000 个最长的 API 调用。然后,我们在新实例上重放这些内容。正如您在该图中看到的,我们得到的结果非常相似,足以让我们感到进一步测试是安全的:
至于整体用户体验,我们可以看到新旧版本的读取速度相同:
生产中测试
为了绝对确定我们准备好了,我们做了一些可怕的事情:我们在生产中测试。虽然一般来说,这是我们尽可能避免的事情,但在这种情况下,它似乎是正确的选择,因为它允许我们测试我们的迁移剧本的一部分。
工作方式很简单:
- 和以前一样,Citus 团队创建了 Citus 云实例的超大规模追随者。与我们的写测试相反,这里我们等待实例完全赶上活动实例。
- 然后,我们将超大规模实例提升为自治实例。在这个阶段,这个新实例上的 Azure 数据不会再发生变化。我们的客户主要是查看过去几天的历史数据。所以功能不会改变。在我们的分析管道上提供少量时间的陈旧数据是我们可以承受的,这就是为什么我们只是将读取流量切换到目标超大规模实例一小时。在此期间,我们观察了我们的监控指标。
你可以在那些图表上看到迁徙的无缝衔接。你能发现转换吗?我们不能。
即将上线
下面是我们为迁移执行的步骤,如 GIF 所示:
总的来说,一切都很顺利。唯一严重的问题发生在预测试阶段——这是他们应该做的。整个迁移过程耗时 40 分钟。第二天,我们在我们的美国集群上运行了相同的迁移,进行方式完全相同。
外卖
总的来说,我们了解了创建详尽的迁移行动手册、挑战我们的偏见以及监控错误和性能退化的重要性。
还有其他外卖:
- 如果你的系统不要求实时,可以考虑使用 最终一致性 。能够在迁移过程中对消息进行排队使我们能够在零停机时间的情况下执行迁移。
- 幂等 我们写道,是研究性能问题的一个伟大盟友。我们可以简单地在不同的场景中重放相同的写查询,而不需要重新创建一个模拟生产的测试环境。
- 为意外做好准备。即使我们做了如此多的计划,我们仍然在迁移日遇到了一些小问题。例如,我们在 GitHub 上看到了一些堆叠拉取请求的合并问题。然而,我们知道我们可以在不改变剧本的情况下解决这个问题。
最后一点是团队合作,更具体地说,是两人一组。事实上,这就是为什么这里有两个作者:我们一起执行这个迁移,几乎每一步都互相验证。结对是挑战想法和确保我们不犯任何手动错误的好方法。因此,我们在整个过程中感到自信。如果你将来不得不处理一个复杂的操作项目,我们只能建议你结对!
移动设备、应用和应用搜索的历史
原文:https://www.algolia.com/blog/ux/mobile-apps-and-mobile-app-search-the-past-present-and-future/
社交网络、送餐、支付、游戏、音乐、锻炼、航空……似乎几乎所有的东西都有一个应用程序,不管你使用的是苹果 IOS 还是安卓手机。
是的,正如苹果公司在 2009 年首次指出的那样,“有一个应用程序可以做到这一点”(随后被注册商标),在大多数 IOS 应用程序存在之前,不管它是什么。现在,苹果应用商店里有 190 万个苹果,谷歌 Play 商店有 280 多万个苹果,它仍然是一个()应用程序? )语句。
每天,你可能会在你的 iPhone(或 iPad 或 iPod Touch)或 Android 应用程序上使用一些应用程序来做一些事情,比如发布你的朋友可以称赞你的照片,了解人们如何评价从餐馆到牙医的一切,查看天气,以及获取路线。如果你像一些人一样,你甚至可能会沉迷于使用你的应用程序,比如如果你是一个游戏玩家,或者一直被 Nextdoor 应用程序卷入邻里纠纷。
所有这些移动应用程序是如何变得如此流行的,即开始消耗你一天的大部分时间?毕竟,人们花在智能手机上的 89%的时间是在使用应用程序时记录的,而不是仅仅在网络浏览器中闲逛。
用户界面设计团队为移动设备和软件开发的形式已经发展了近 50 年。以下是它们进化过程中的一些关键时刻。
往期:移动技术集锦
你可以想象,在 20 世纪 70 年代初,新发明的移动应用程序还处于初级阶段,并且受到当时硬件和软件技术初级水平的限制。
1973: 手持蜂窝手机(相当刺激!)是马丁·库珀发明的;届时,该行业将需要大约 10 年时间将手机推向市场。
1983 年
- 首款商用数字手机——摩托罗拉 DynaTAC 8000X 问世。
- 苹果公司的史蒂夫·乔布斯为苹果设备设想了一个未来的应用商店:“它有点像一个唱片商店,软件可以通过电话线下载。”
1990: 阿奇,第一个互联网搜索引擎,作为在线记者的助手首次亮相。随后是一个叫维罗妮卡的人。
1994 年
1997
1998: 谷歌搜索引擎推出。第一个搜索查询是“Gerhard Casper”,这是斯坦福大学的校长,当时谷歌的联合创始人谢尔盖·布林(Sergey Brin)和拉里·佩奇(Larry Page)演示了他们的算法,并与竞争对手进行了比较。对他们来说,游戏规则的改变者是page rank,这是一种用于评定网页相关性的算法。
2001 年: 苹果 iPod 发布。
2008
- 苹果应用商店开业。
- 第一个 iPhone 应用程序是远程的,商店在接受第三方应用程序提交之前使用它来原型化摄取过程。
2009: 搜索引擎微软 Bing 推出。
2010:“app”这个词是当年的年度词汇(根据美国方言学会的数据)。
2012 年: 谷歌开设了谷歌 Play 商店(该公司更名为安卓市场)。
2015: 在移动设备上完成的谷歌搜索数量首次高于在台式电脑上完成的数量。
2017: 全国 App 日定为 12 月 11 日。
2021 年: 谷歌成为 100%的移动第一,使用网站的移动版本进行索引和排名。
2022: 美国移动连接增加 950 万。
2023 年
- 每天,普通美国人花费超过 4.5 个小时在移动设备上全神贯注于媒体。相比之下,他们看电视的时间不到 3 小时。
- 他们在做什么(除了可能没有得到足够的锻炼)?作为一个群体,人们在音频应用程序(如 Spotify)上花费的时间最多,其次是社交媒体应用程序,然后是视频应用程序。
快进五十年
自从第一部手机发出沉闷的声音以来,近五年来,移动设备和移动用户界面设计的世界已经发生了巨大的变化。智能手机的现代应用程序非常复杂,通常经过优化以获得最佳用户体验。UX 设计是一个欣欣向荣的行业。有了如此丰富的应用程序商店,消费者经常会遇到与其他丰富事物相同的问题:太多的选择,太多的信息需要涉水而过。
也有一些缺点。每个人都注意到有些人不能长时间地把头从他们的应用程序中抽出来,以便在绿灯亮的时候 走 或者避免撞到他们盲目跟随的道路上的东西或人。漫画家琳达·巴里说,与智能手机形影不离也会干扰创造力。
搜索栏:另一个关键 app
但是现在,让我们关注积极的一面。所有数字化事物的光明未来正在展现。随着手机及其现代应用的出现,搜索——它本身就是一个好的应用——已经从它卑微的起源进化了很多。
当台式机和笔记本电脑统治数字世界的时候,在一个宽敞的搜索框中键入一个查询并很容易在大屏幕上看到弹出的结果是相对容易的。
但是现在,移动设备的普及已经真正缩小了这个竞技场。首先,必须调整搜索功能以提高可读性;帮助用户使用迷你键盘在小屏幕上进行移动导航。搜索结果必须优先显示,以便在手机屏幕上方便阅读。 强大的应用内搜索 对于不想失去竞争优势的公司来说,移动可用性必须成为重中之重。
“搜索引擎现在很可能是对用户最有用的应用,”作家奥马尔·扎赫兰 说。…随着网络平台的发展越来越普及,这种情况只会越来越多…搜索引擎…又回来了。这一次它有更多的锦囊妙计…”
这就是移动应用和应用搜索的现状。更多人的主电脑是他们缩小版的移动设备。相比之下,笨重的网络也变得越来越实用。
再过五年,手机会是什么样子?移动应用和搜索的世界下一步将走向何方?
潮流塑造移动生活
人工智能、机器学习、增强和虚拟现实。这些组件只是移动应用变得更加智能的一些关键方式。有了成功的应用程序,移动访问将成为王道,尤其是在零售方面。
领先的移动应用设计改进包括:
5G 无线带来更好的速度和连接性
即时连接、更低的延迟和更好的可靠性只是最新一代无线技术的几大优势。由于更高的无线电频率和更短的波长,5G 将使移动应用程序在地理定位和地理围栏方面更加精确。5G 还意味着移动设备电池将持续更长时间。应用程序开发人员可以在不影响应用程序性能的情况下添加功能。在移动视频领域,更快的网络速度和更低的延迟将产生重大影响。
来自增强和虚拟现实的增强功能
增强现实(AR)技术使扫描周围环境成为可能,然后同时分析扫描的图像,并向用户显示与他们所见相关的虚拟内容。一个基本的例子是,一家餐馆在其餐桌上提供二维码,这样移动用户就可以在他们的设备上调出菜单。
例如,增强现实(AR)应用还可以让数码手机摄像头覆盖取景器中的信息(如商店建筑),以提供产品的细节。零售商还可以使用 AR 给人们带来更真实的商品感觉。其他 示例 AR 应用 包括消息应用(如 Snapchat)中的过滤器,能够虚拟预览自己家中的家具(如宜家),虚拟试穿 衣服 和珠宝。
零售虚拟现实更进了一步,使用耳机让购物者可以体验身临其境的环境,无论他们是在探索整个商店还是使用 3D 产品的较小空间。Analytics Insight预测增强和虚拟现实市场到 2028 年将达到近 180 亿美元。
渐进式网络应用的可访问性
首先,有一点背景:微软和谷歌都优先考虑网络开发,导致搜索引擎可访问的应用程序激增。
什么是渐进式网络应用程序(PWA)?它是移动应用程序和网页的混合体,可以通过搜索来访问,而不是像应用程序商店那样的本地应用程序。它作为本地移动应用程序和网页的接口,不需要下载软件。PWA 还需要更少的加载时间,并且对网络的负担更小。
搜索引擎观察称,pwa 有望超越可下载的应用程序,该观察指出,pwa 也与 SEO 兼容,因为搜索引擎可以收集它们的内容,而这对于原生应用程序是不可能的。因此,PWAs 可以转化为零售商(更多)的流量。一个例子是阿里巴巴,其改用 PWA 后增加了 76%的转化率。
加快移动页面的速度
作为强调移动优先的一部分,谷歌和 Twitter 正在进行一项开源项目,致力于提高移动设备网页的性能。通过减少多余代码的数量,加速移动网页(AMP)使用更少的数据并缩短网页加载时间。
AMP 技术有助于在智能手机和平板电脑上快速加载轻量级页面。根据谷歌的说法,AMPs 平均加载时间不到一秒,使用的数据比非 AMP 页面少 10 倍。在应用程序开发方面,AMPs 不会完全取代原生应用程序,但低质量的应用程序将会淡出,通过应用程序商店分发的原生应用程序将可能更少。
来自人工智能和机器学习的个性化
人工智能和机器学习正在积极改变移动应用开发和在线搜索行业。一些公司的移动应用程序将搜索和购物过程的各个方面个性化,另一个应用程序是提供人工智能聊天机器人,以促进用户的成功。便捷的应用内搜索意味着购物者可以直观、快速地找到想要的内容或产品,同时为企业收集他们旅途中潜在的有价值的见解。
在 Algolia,我们基于 SaaS 的解决方案套件专注于解读用户意图,然后加以应用,以便我们的客户能够为他们的用户和购物者创造相关的个性化搜索体验。客户还可以利用我们透明的相关性逻辑,将任何现有的人工智能模型与我们的个性化、机器学习辅助自然语言处理(NLP)、自然语言理解(NLU)和商品销售相结合。
定制与预测分析
一项人工智能技术是预测分析,它使用统计、数据挖掘和机器学习的工具箱智能地猜测人类互动。例如,一家公司可以逐步“做笔记”,并从购物者在零售应用程序中输入的搜索词 中学习 ,然后为不同的潜在客户定制商品,并简化他们的移动应用程序。预测数据有助于做出决策,例如客户是否会选择使用提议的新功能。
智能程序的大举进攻
无论帮助者是 Siri、Slackbot,还是其他陷入机器人增强和发展的移动设备趋势的人,虚拟帮助就在眼前。
已经有将近 40%的人喜欢和聊天机器人交谈,而不是和虚拟代理人交谈。(除了 一个实际活着的人 依然是首选的聊天对象,根据j . d . Power。)尽管如此,在自然语言处理(NLP)、语音和人脸识别、情感分析和语义搜索等技术的帮助下,机器人正在继续迎接变得更加逼真的挑战。
移动商务的便利性
电子商务应用和网站,为移动商务让路(mcommerce):通过无线手持设备(即智能手机或平板电脑)上的用户界面,在远离台式电脑的地方进行网上购物。
Mcommerce 确保购物者获得完全现代化的体验,尤其是在冲动购物时。当潜在消费者确切地知道他们想要什么,渴望得到它,可以通过你为移动优化的优秀搜索功能在你的应用程序中立即找到它,并可以把它放在他们的购物袋里,走向虚拟出口时,最大的赢家将是你的转化率。
本地连接的蓝牙信标
不同类型的移动应用进步的另一个好处是蓝牙信标技术的出现,这种无线电传输技术让公司可以在人们的移动设备在范围内时连接到他们。
当这一目标(很容易)实现时,营销人员就可以通过向潜在客户发送信息或收集数据来确定目标,比如这个人在实体店的探索性购物路径,从而与他们互动。这一过程反映了电子商务网站上使用的网站跟踪和分析工具的使用,并增加了移动功能。
举例来说,如果一个购物者正在当地的百货商店浏览鞋子,例如,借助苹果 iBeacon 技术,一个有用的营销人员可以通过个性化信息以电子方式吸引用户的注意,甚至提供一个物理上邻近的鞋子促销,通过点击应用程序中的优惠券可以兑换。这种移动用户体验肯定会给人留下深刻印象,如果不是真的卖出去的话。额外的好处:信标也可以用于电子商务网站。
可穿戴移动设备的酷炫
垂涎苹果手表?还有许多其他有趣的可穿戴设备:健身追踪器(甚至还有健身追踪 耳环 )、智能戒指、GPS 追踪带、智能眼镜、健康监测器(包括衬衫)。当谈到移动 UX 设计时,人们佩戴的电子设备是——并将继续被改进为——下一件大事。随着它们的功能越来越复杂,它们的应用程序也会越来越复杂。
少了 手机 app 选择
移动应用和搜索的一个变革步骤实际上将是减少应用,但另一方面将是更好的搜索功能,涵盖早期应用提供的所有内容。
扎赫兰继续说道:
随着谷歌为搜索应用和网站增加了更多类似应用的功能, 微软 也在必应中加入了类似的功能。如果你今天看一部谷歌 Pixel 手机,甚至一部 Android One 设备,都没有内置天气应用。取而代之的是主屏幕 小工具 ,它直接链接到谷歌的天气网站,该网站使用定位服务来给出准确的预测。在许多方面,这使得大多数人不需要第三方天气应用程序。仍然有应用程序将巨大的 通知 精确到分钟,但对于大众来说,预测解决方案和谨慎的 通知 模型就足够了。…在智能手机出现的最初几年,应用程序取代了(搜索引擎的概念),因为那时还没有移动网络。在过去的几年里,谷歌和 微软 向我们展示,它现在已经准备好了。
你的 手机 app 设计最佳实践如何?
无论你最终使用的是原生应用还是渐进式网络应用,无论你使用任何或所有的新技术来拥抱移动极简主义和优化你的用户体验,移动应用设计的下一个时代正在到来。你准备好优先考虑 最佳实践 了吗,以确保你的应用在可用性方面获得移动应用用户的高分,并能满足他们的 专业搜索 和发现需求?
通过采纳小屏幕空间的良好设计准则,消除移动搜索挑战,并为您的客户优化移动体验,很难说您能在多大程度上改善您的在线用户体验和收入。
移动搜索设计的陷阱
原文:https://www.algolia.com/blog/ux/mobile-search-ux-8-obstacles/
欢迎来到我们关于为你的移动应用程序创建获奖搜索 UX 设计的三集系列!这篇文章指出了移动用户界面对开发人员的限制,第 2 部分着眼于如何微调搜索应用程序设计的可用性,最后一部分关注于如何呈现一个搜索查询结果页面,该页面可以得到想要的结果 。
移动:新兴的黄金标准
移动用户体验——简称 UX——涵盖了当某人在手持或可穿戴设备上使用一个应用程序(或移动网络浏览器)时,从开始到结束的旅程和交互流程。
在我们这个互联的世界里,许多通常随身携带便携式移动设备的人希望通过这些设备访问互联网。事实上,截至 2023 年,移动用户占全球 web 流量的 约 50% 。
这意味着你的移动应用程序设计模式非常重要。或许更重要的是,应用程序的搜索功能设计无疑是设计中最关键的元素。
搜索:一个有使命的 app
没有搜索,用户几乎不可能与他们想看的内容互动,也不可能购买你的产品或使用你的服务。与台式电脑上的搜索用户界面一样,移动搜索通常是某人在线体验的起源。移动应用程序检索各种信息,搜索——向数据库发送查询并接收根据查询词的接近程度排序的结果——是这一过程的核心。
设计良好的电子商务应用和其他用途的移动搜索使用户能够快速访问所有可用内容,并使他们成为成功的在线消费者。如果执行得不好,移动搜索体验可以象征性地削弱潜在客户的路径,打击他们搜索中的订户,并永久地赶走他们,让他们对你的品牌有不好的感觉。
如果这些关于移动搜索的事实引起了你的注意,你正在思考你自己的移动应用搜索功能是否能为你的业务做好一切,请继续阅读。有了正确的指导,您可以帮助您的用户找到他们需要的东西,并让他们保持更长时间的参与,可靠地建立他们的信任和忠诚度。
准备好探索搜索的移动设计最佳实践了吗?我们将从考虑移动固有的挑战开始。接下来,我们将看看构建移动优化搜索的具体、成熟的方法。最后,您将了解向用户展示搜索结果的最佳方式。
路障至大移动搜索
为您的移动应用开发出色的用户体验本身就是一项挑战。将搜索 UI 元素添加到等式中,事情变得更加棘手。虽然在手机上实现搜索是一项艰巨的任务,但好消息是这并非不可能。
第一步是意识到潜在的问题。这里有一些在设计移动搜索 UI/UX 时需要考虑的关键问题。
裁员不是随意的
在为移动平台创建应用程序时,大部分挑战源于极端的显示空间限制。新手开发人员的一个常见错误是试图在一个应用程序中显示所有相同的数据,这个应用程序可以适应桌面版本的宽敞空间。这类似于试图把家具和堆积的杂物从一个三居室塞进一个单间公寓;这根本行不通。
另外,对于搜索来说,“少即是多”的简单格言可能不再适用。如果一个关键细节被无意中删除,限制信息会给搜索用例带来严重的挑战。但是微型手机屏幕需要的正是这个:编辑内容。这意味着,除了其他事情之外,搜索结果必须减少到与用户最相关的项目,并且这些精选的内容必须精练。
一刀切
在迷你屏幕上,还有一个问题是在哪里挤进任何搜索过滤器和方面,这可以快速细化用户的搜索。在桌面屏幕上,沿着左边或者在屏幕的顶部有足够的空间,但是在微小的屏幕上,每个小点都是抢手货,必须象征性地“拍卖”以获得最高的利益。移动设计师必须仔细审查用户旅程的每个方面,并为特定应用程序应用最佳用例。
需要如此大幅度地压缩也给每个搜索结果的相关性预期带来了压力:如果你只显示五个结果,你就负担不起一个不相关的结果。
毫不夸张地说,屏幕上返回项目的数量及其包含的细节决定了一个人是淹没在信息沼泽中,还是享受一次愉快而富有成效的表面之旅。这意味着应用开发者必须掌握如何压缩搜索功能,以及如何方便地显示移动搜索结果。
移动用户正在进行多任务处理
我们经常在出门在外和忙碌的环境中使用手机——在公共交通工具上、在拥挤的咖啡厅里、在开车时(尽管被告诫要关掉方向盘后面的手机)、在走路时(当我们应该留意那个 喷泉 )。这些环境通常不利于进行在线搜索。这意味着应用程序功能必须更进一步,使数字搜索过程变得简单,并帮助用户快速找到他们需要的东西。
每一次敲击都考验人们的耐心
当把一个查询从你的大脑转移到搜索引擎时,最常用的输入方法仍然是键盘。
在桌面键盘上,大多数人可以依靠手指来操作。不过,有了微型移动设备键盘,所有的赌注都落空了。
在移动设备上输入信息的过程令人望而生畏(而且随着年龄的增长会变得更糟)。更难看清自己在做什么,更容易打错键,更费时;更让人恼火的是。
这就是 与 一个精心设计的高级搜索界面。如果用户对设计糟糕的界面本身的局限性感到恼火,而不是他们可以控制的东西,比如他们可以多快地狩猎和啄食,他们可能会扔掉手指去别处。因此,要成功设计移动搜索,让用户的每一次点击都值得。
搜索并不简单
应用通常经过优化,以提供最顺畅的用户体验,最大限度地减少输入量。当你在移动设备上以半被动的方式消费内容时——点击标题、滚动、阅读文章、浏览照片——相对来说没什么痛苦。
搜索是一种不同的动物,因为每次搜索通常都需要许多步骤来引导用户:
- 定位搜索框或搜索图标(如放大镜图标)
- 思考如何措辞查询
- 在搜索栏中输入查询
- 使用过滤选项和切面来指定所需的内容
- 阅读来自搜索引擎的任何反馈,例如关于拼写错误的问题
- 浏览搜索结果
- 点击有希望的结果
- 阅读产品详情页面
- 如果搜索结果不足,则重复该过程
没有办法缩短搜索过程,但是开发者有各种方法使每个步骤尽可能简单。
搜索者很可能是谷歌人和亚马逊人
由于被谷歌和亚马逊的人工智能辅助搜索功能弄得眼花缭乱,消费者可能对它在任何移动应用程序(和任何网站)中的工作方式抱有不切实际的期望。我们期待从我们的第一次击键和智能搜索结果页面中得到直观的建议。如果一个电子商务移动应用搜索失败,用户很可能会求助于谷歌或亚马逊搜索信息。
为了提供 A 级搜索,开发者必须达到或超过这些领导者建立的集体期望。
错别字抖擞
没有人喜欢错别字,无论是用户、搜索引擎还是因为错别字而失去客户的企业。然而,从移动用户体验的角度来看,你很有可能让那些不可避免地打错字母的人感到沮丧。移动应用开发者解决方案?通过为用户提供方便的 允许输入错误的搜索 ,原谅他们的应用内输入错误。
移动网络上下
人们通常希望他们的苹果 iphone 或安卓手机在他们徒步旅行的山顶上能像在家里玩手机一样好用。这并不总是现实的,即使在一个繁华的城市。然而,连接不安全增加了移动开发体验的压力。开发人员需要记住,网络问题可能会中断搜索应用程序用户通过将其离线来快速实时获取搜索词,并计划移动 UX 在这种情况下如何响应(例如,进度条也会承认或感谢他们对不便之处的耐心)。
有效的 UI 设计就在你伸手可及的地方
恭喜你!你现在已经意识到了设计移动应用搜索可能会出错的一些重要方面。但是不要止步于此:看看我们的设计灵感导向的 第二部分 ,展示了如何避开那些隐约可见的界面设计陷阱,优化你的 UX,并在你的移动搜索用户中遥遥领先的好例子。
应用内移动搜索的最佳实践 UX 设计
原文:https://www.algolia.com/blog/ux/mobile-search-ux-best-practices/
你刚刚在苹果 iPhone 上发现了一件很酷的东西,当地哪里有零售商在卖呢?根据你的安卓系统上的“附近”应用程序,当地最好的寿司店在哪里?
对大多数人来说,在移动设备上搜索从产品到餐馆到新闻文章的各种东西是一项基本活动:根据统计数据(2021 年),美国 各州几乎一半的网络流量(全球超过一半)是由使用移动设备的人产生的。除了能够在外出时找到东西,人们还喜欢用手机看电影和视频(通过苹果应用商店的移动应用网飞、腾讯或亚马逊 Prime),浏览社交媒体,以及收发电子邮件。
鉴于这一永恒的现实,专注于成功的公司必须拥有一流的移动应用。 他们需要提供快速、智能、易用的搜索和发现体验。
说实话……你的手机应用程序使用起来完全是一种乐趣吗?人们能立即找到他们需要的东西吗? 你设计手机应用的方式可以让人们长期使用并坚持使用它。
让移动变得简单(有趣)的设计挑战
移动搜索 UX 的设计和发现提出了一些独特的挑战:
- 手机屏幕比台式机和笔记本电脑屏幕小得多
- 微型虚拟键盘对于人类手指来说很难掌握
- 移动连接可以消长
- 手机通常在不坐下的时候使用–走路、开车、坐地铁、在公园和孩子争吵
- 一个优秀的移动 UX(用户体验)需要最少的交互,但是成功的搜索和发现可能会很复杂
幸运的是,有一些行之有效的方法可以克服这些挑战,从有效定位你的搜索栏到优化显示你的搜索结果。
是什么造就了 A 级移动搜索和发现?
移动应用程序设计师的使命可以归结为三个任务:应用可靠的设计概念,确保卓越的可用性,以及适应不稳定的连接。所有这些都必须在考虑 : 的情况下确定
- 数据集的大小和复杂性
- 用户对他们正在寻找的东西的预期知识量
- 在搜索体验中,有多强调意图(寻找特定的东西)与有多强调发现(浏览和听取想法)
如果你想在移动设备上创造出色的用户体验,有多种方法可以实现。以下是一些业内专家关于创造移动搜索和发现体验的秘密,这种体验会震撼你的用户世界,无疑会增加你的转化率,让你的生意更上一层楼。
小就空间,大就可用性
在手机上,显示搜索结果和数据的首要原则是“少即是多” 你想要一个小屏幕的易用设计和布局。
人们应该能够在一个小屏幕上快速搜索、找到并购买一件商品,如果他们使用的是电子商务移动应用程序的话。你想提供相关的内容,但不要让人们不知所措,也不要要求他们不断改进搜索。你需要用最少的文字提供正确的信息。用户访问搜索结果的第二页应该很简单。对于不一定需要搜索框的内容发现,或者有助于改进搜索的内容发现,您的选择工具,如切换和滑块,应该是直观的。
一个“刚刚好”的搜索栏
当用户自动开始搜索栏时,一些移动应用程序工作得最好,而在其他情况下,内容的开放性,如媒体内容,使浏览成为最有效的方法。
根据总部位于丹麦的网络 UX 研究组织 贝玛研究所 的研究,搜索栏的大小、位置和对比度有助于确定搜索是“推荐”的查找方法。如果搜索相对重要,比如在电子商务应用程序中(研究表明,通过搜索开始的购物者往往更容易转化),搜索栏是正确的选择。如果搜索是可选的,你可以通过替换一个可点击的上下文搜索图标来弱化它的重要性。
右侧搜索-过渡屏幕
下一个要优化的 UI 元素是搜索转换屏幕 — 用户在搜索结果显示之前看到的内容。设计选项:
- 最近的搜索: 当用户搜索一个产品时,他们会看到以前的搜索,以供比较或作为提醒,就像下面的 RetailMeNot 应用程序一样。
- 趋势: 向他们展示其他用户通常想要的东西。这可以帮助购物者发现有趣的商品。
- 类别: 它们显示类别过滤器。
- 即时结果: 每次击键都会动态出现结果(下图)。当数据集较小时,或者用户对自己想要的东西有更明确的想法时,这种设计是最有效的。例如,在 Spotify 应用程序中,搜索仅限于专辑、歌曲等。,所以查询建议看起来大部分都是多余的。用户总是可以通过点击“显示更多”来进入一个类别
- 查询建议和即时结果:如果你有一个大的数据集,并且想用建议来指导用户,你可以自信地确定一个好的匹配是否发生了。Google Play 应用商店(下图)在查询建议上方插入即时结果。
自动收录自动完成
当用户输入搜索项时,自动完成提示用户搜索查询;当他们想要的短语出现时,他们可以简单地点击它。
在 移动设计模式图库(2014), Theresa Neil 列举了集成自动完成在增强移动搜索中的重要性。如果你的自动补全功能还可以直观地区分移动搜索引擎的建议,例如,将建议的术语加粗添加到用户的短语中,那就更好了。
一个 Rx 对于移动错别字
谁没有因为看到自己输入了充满错别字的废话却没有任何结果而感到恼火呢?
您可以使用 错别字容忍度 来猜测用户意图,并在用户输入 查询时实时捕捉文本输入、键入和拼写错误,从而帮助用户保持冷静:
随你键入搜索和查询建议
你可以预测用户想要什么,并提供 随你输入的搜索结果 ,以及通过提供 搜索查询建议 来帮助他们更具体地了解他们想要什么。
使用查询建议,可以很好地在大型数据集中向下钻取, 用户在输入时不会立即看到结果;相反,它们显示的是流行的或相关的查询。例如,如果他们输入“iPhone”,(下面)建议包括像“iPhone 充电器”这样的短语
结果提炼
如果有必要,使用你的应用程序的人应该能够很容易地微调他们的搜索结果。您可以通过将包含该人输入的查询的搜索字段放在他们生成的搜索结果上方来实现这一点。
直观过滤
您可以使用 分面搜索 来最大化小屏幕空间,让搜索者通过应用过滤器来缩小搜索结果,通常是通过选择“托盘”样式的覆盖图中提供的选项。
分面搜索在电子商务零售商(以及移动电子商务)和旅游服务提供商,以及媒体网站的在线搜索工具中很受欢迎。
一贯无错的体验
专业对应用程序的用户友好大有帮助,其中一个方面就是一致性。你不希望用户想知道为什么搜索界面看起来半生不熟;你希望他们喜欢无缝地找到他们需要的东西。
按照这些思路,搜索栏应该出现在应用程序每个页面的同一个位置 。用于扩展地图或滚动搜索结果的触摸手势应该每次都以相同的方式操作。
在发布之前,对你的应用做一些深入的质量保证。
最新技术
跳过小屏幕带来的挫败感的一个很酷的新方法是语音搜索。根据 eMarketer 的数据,2019 年,40%的美国互联网用户在他们的移动设备上说出查询 ,所以你的应用程序可能有理由将 语音作为搜索选项 。
一种个性化的购物体验
你可以使用从用户那里收集信息的人工智能工具来创建符合用户需求的电子商务搜索。8 个在线零售商中只有 1 个在做这个 ,尽管它能大幅提高转化率。例如,根据购物者已经搜索的内容,你可以向他们推荐相似或互补的商品,或者让他们去当地零售商的实体店,在那里他们可以立即挑选商品。
移动搜索结果页面:最佳实践
万岁!您的用户有一些搜索结果要查看。现在你也要确保这里一切都好。
做人要快
好的搜索体验必须满足移动用户对速度的期望。我们都被超高速的谷歌搜索宠坏了。如果你像大多数移动用户一样,你不会容忍一个耗时的搜索;你只要离开应用程序。这是一个大问题:根据Inc .的数据,搜索放弃每年会让电子商务公司损失 3000 亿美元。
如何保证速度?用 右键工具 。
根据产品类型显示结果
你的用户希望如何查看物品?对于一双鞋或衣服这样的产品,一张照片胜过千言万语。
如果强调规格比照片更有意义,比如餐厅,你可以展示食物种类、价格范围、评分和距离等细节,并附上一张小图片。
使用过滤来剪切屏幕上的杂物
在高级搜索中,过滤选项是必不可少的,以避免弄乱屏幕。你可以使用一个滚动的过滤栏,就像亚马逊下面做的那样,它容纳了大量的过滤选项:
一个好的过滤工具也会在用户使用过滤器时做出反应。例如,Airbnb 应用程序的底部有一个按钮,当编辑一个过滤器时,它会通知用户搜索结果的数量:
只显示最相关的结果
由于移动设备上的空间有限,只能看到顶部的搜索结果,所以它们最好是相关的。您可以通过同时考虑文本和业务排名规则 来评估您的 相关性 。
鼓励扫描
大多数移动中的人都希望能够快速浏览他们的搜索结果。高亮显示有助于人们理解为什么他们会得到特定的结果,是一种允许浏览的有效方式。
标准突出显示适用于查询的精确匹配,在显示即时搜索结果时效果很好:
倒置高亮显示调出 除了 之外的一切搜索查询,便于识别建议之间的差异。一个很好的应用场景是查询建议:
预见连通性不良
网络覆盖对移动用户来说很少是完美的–这是移动应用程序设计必须考虑的一个事实。移动搜索体验还是要流畅。让用户知道他们的信息会尽快加载的一个方法是提供一个移动搜索 引擎 进度指示器,比如滴答作响的时钟图标或进度条。
另一种方法是使用带有占位符的框架屏幕:
第三个想法是使用延迟加载,它优先处理某些内容,并根据需要一次获取一点剩余内容。
未来是移动的
移动搜索这是一个随着新技术而不断变化的动态领域,例如可以在电子商务应用程序中进行人工智能相关的推荐和 个性化 购物体验。
一个有效的移动搜索应用本身就很强大。通过优化您的移动体验,您可以提高转化率并降低跳出率,而不会牺牲内容的相关性或完整性。虽然许多公司尚未优化他们的移动搜索应用程序,但正如他们所做的那样,他们的用户也很高兴,移动搜索肯定会成为一项更令人愉快的活动,也是一项有利可图的业务。
今天就在 Algolia 联系我们 ,这样我们就可以帮助您打造令人惊叹的移动用户体验。
如何增强用户的移动搜索结果
原文:https://www.algolia.com/blog/ux/mobile-search-ux-part-three-seach-results-display/
在本博文系列的 第一部分 中,我们探讨了移动搜索体验中的应用程序界面设计障碍。
在 第 2 部分 中,我们考察了设计移动搜索体验以避免常见陷阱的要素,考虑了移动搜索栏的用户界面需求以及哪些搜索选项最适合在移动设备上指导用户。
现在,让我们来看看在为您的移动用户创建搜索体验时,如何创建最佳搜索结果页面。
与手机网站或 app 的功能一样,与其他搜索功能的设计一样,搜索结果的设计必须 恰到好处。没有什么比在苹果 iPhone 或安卓手机上向下滚动搜索结果更糟糕的了,因为文字显示杂乱无章,掩盖了相关信息。一个好的移动搜索结果页面设计以一种易于阅读的方式提供最准确的信息来帮助用户。
为移动用户体验而设计的优秀用户界面也反映了正在进行的搜索的类型。例如,对于一些移动搜索类别——一个很好的例子是餐馆——用易于理解的图标显示结果是有意义的,这些图标表示价格、评级和与搜索者的距离。这取决于您特定的移动应用程序用例,以及您的客户希望在搜索结果页面上看到什么。当你可以收集所有相关的可用性数据,并根据你所知道的仔细考虑呈现移动屏幕搜索结果的最佳方式时,移动设计阶段应该相对容易。
呈现最相关的结果
没有对优秀 搜索相关性 的承诺,你还不如不去担心如何优化其他移动 UX 的最佳实践。相关性在移动设备上非常关键,因为微小的屏幕可以容纳如此极端有限的结果。因为最小的浏览不动产,与常规网页相比,只有顶部的搜索结果是可见的,所以它们最好是有针对性的。
高亮文本便于扫描
一般来说,人们不喜欢——或者觉得他们有时间——阅读搜索屏幕上的所有内容,尤其是当他们只是浏览可用内容而不是确切知道他们需要什么时。他们更愿意做的是浏览文本,寻找告诉他们是的,这个搜索结果似乎有希望的信息。
帮助人们指出那些值得点击的项目的一种方法是主动为它们应用虚拟荧光笔(或粗体或一些其他文本处理)。突出显示关键词——他们在搜索框中键入的词出现在搜索结果中——可以简化他们的信息查找体验。
使用搜索结果高亮显示有两种有效的方法:
- 高亮显示与其查询文本完全匹配的单词。 这是一种直观的方式,当搜索词出现在找到的文本中时,就可以调出它们。它特别适合立竿见影的效果。
- 高亮显示一切 但 自己搜索查询文本 (称为“倒置”高亮显示)。这使得搜索者使用突出显示来容易地聚焦并识别结果之间的 差异 。这种方法工作良好的另一个地方是查询建议。
隐藏自己的搜索历史
好的移动搜索 UX 设计包括存储人们最近的搜索,以及他们自己保存的搜索。这样,例如当他们在一个电子商务应用程序中,意识到他们喜欢之前看到的一个项目时,他们可以很容易地追溯到它,避免浪费时间。如果允许人们自己保存搜索结果,以便以后重复使用,例如,他们定期搜索相同的特定项目,将会受到欢迎。
确认搜索失败
这种情况时有发生:移动搜索有时不会提供任何结果。在这种情况下,您可以委婉地告知用户状态。当然,更好的办法是包括一个相当具体的错误解释:某个版本的“我们没有任何符合你想要的”是一个流行的搜索响应。
而且不要就此打住。借助移动用户界面/UX 元素,当一扇搜索之门关闭时,另一扇可能会打开:您可以 利用这个机会 通过建议有用的相关或替代内容或过滤选项来帮助他们走出搜索空白。
尽快提供结果
移动用户可能没有 WiFi,他们的 4G 网络可能很慢,或者他们可能正在使用更快的 5G,但存在其他一些实时问题。不幸的是,信息搜索者的搜索结果出现的任何延迟都可能意味着负面的用户体验和较低的参与度。如果搜索结果没有立即显示出来,用户可能会认为有问题。
就 UX 设计而言,虽然你不能控制连接性,但你可以控制以满足用户需求的一件事是确保搜索结果尽可能即时出现。怎么会?通过设计你的搜索功能,不要因为降低用户体验而使问题复杂化。通过优化您的图像:正确地调整它们的大小,压缩它们,使用快速加载的图像格式,并使用分页来限制每页显示的结果数量。
在你的搜索界面中显示一个进度条或其他类型的指示器——旋转的轮子,“加载”图标,或进度条——表示有事情正在发生。
您也可以显示带有占位符的框架屏幕:
最后一种方法是实现惰性加载:将某些类型的内容优先于其他类型的内容,并分别获取它们。
尽管如此,可怕的无网络可用性将在某个时候出现,它必须被处理,而不仅仅是提供一个“重试”按钮。一种解决方案是离线缓存用户搜索的热门结果,然后提供基本的本地搜索体验。一个更好的方法是在设备上提供一个轻型的成熟的搜索引擎,它能够做在线引擎会做的大部分事情。然而,这需要大量的技能和资源。
使用谄媚的搜索结果显示
你的应用程序用户希望如何浏览你的目录项目:以列表、网格、缩略图、地图上的“图钉”的形式,还是以多种方式,并能够来回切换?对于他们想要视觉选择的商品,比如一双鞋,把搜索结果显示成图片才有意义。
哪种布局最适合您的产品或服务?以下是网飞、Etsy 和 Zillow 移动应用程序如何显示其用例的搜索结果:
网飞的格式让你无需滚动就能查看更长的项目列表。Etsy 使用网格强调引人注目的创作,同时也提供产品细节。Zillow 在地图上绘制房屋。
如果对你的用例有意义,并且用户不必采取多个步骤来切换视图, 你也可以给他们在格式之间切换的选项。
让您的搜索结果易于访问
最后,您可以通过满足行业 可访问性标准 ,让您的移动搜索结果,甚至是您的整个移动用户界面,更容易被所有用户访问。
两个想法:
- 在搜索图标上启用 alt-text。 然后,允许用户使用键盘浏览搜索结果
- 当搜索结果找到 或找不到时,显示一条可被屏幕阅读器读取的状态消息
【最终结果】
有效地为你的移动应用程序设计搜索体验,让你的漫游用户高兴,并让他们想坚持下去,这可能会有一些令人畏惧的时刻,但如果你想要一个成功的移动体验,坚持不懈是值得的。记住,好的移动搜索设计模式能让你的用户无缝地找到他们想要的东西。移动设备上设计良好的搜索不仅可以改善应用内的用户体验,还可以提高你的转化率、客户忠诚度和利润率。
这总结了我们的移动搜索 UX 设计系列——希望你发现这个设计灵感很有见地!
现在你已经知道了移动应用程序设计的所有秘密,你准备好提供令人满意的体验,让人们一次又一次地回到你的应用程序了吗?一种选择是:Algolia 可以将我们的高级搜索功能 专业知识 带到你的移动应用程序设计师的桌子上。如果你有兴趣了解细节,只需 让我们了解 。我们期待您的回复。
如何使用正确的设计功能改进您的移动搜索用户界面
原文:https://www.algolia.com/blog/ux/mobile-search-ux-part-two-deconstructing-mobile-search/
在本系列关于移动 UX 设计的第一部分 中,我们谈到了如何在移动设备上为人们设计成功的搜索用户体验意味着克服某些可用性挑战,从有限的移动屏幕空间到膨胀的用户期望。在第二篇文章中,我们将看看如何避免新手设计错误,实现成功的设计模式,并确保您的用户可以通过实现正确的移动 UI 元素来有效地获得最佳搜索结果。
你选择引导搜索者通过你的移动用户体验和导航你的用户界面的方式将取决于你的数据集的大小和复杂性,你的访问者对他们正在搜索的数据集的预期知识,以及你应该在多大程度上试图平衡搜索意图和更有机的项目“发现”不管这些细微差别,当谈到移动搜索时,有一些屡试不爽的方法。
邀请移动用户搜索
搜索栏是移动应用程序或网页中许多内容的入口。如果你的大多数用户想在你的网站或你的应用程序中通过一个知识渊博的搜索引擎的指导开始,这个字段应该放在主页的显著位置,或者通过点击一个醒目的搜索图标(如放大镜)很容易被调出。
你可以通过添加提示文本(一个占位符),向你的网站访问者或应用程序用户强调他们正在查看搜索栏,搜索栏正在等待他们的输入,并准备好提供有用的搜索体验。下面是 Spotify 的版本截图:
搜索是不是人们可能只想在你网站的某些部分或应用程序的某些区域使用的东西?那么上下文搜索图标就是一个不太显眼的选项:你只在搜索有意义的地方显示图标。
提供搜索过滤器和方面
衬衫还是罩衫?哪个牌子的?什么颜色?
在一个充满商品的电子商务应用程序中,过滤器和方面可以帮助搜索者减少相关搜索结果的数量和滚动,他们会受到轰炸。对于零售商来说,当顾客能够快速锁定一个目标,而不是疲于应付太多的可能性,并可能对这个过程失去兴趣时,这总是一个优势。
滤镜和刻面有什么区别?毕竟,刻面不就是一种过滤形式吗?
嗯,是的。但是过滤器通常是静态实体。例如,如果有人在亚马逊搜索“笔记本电脑”,他们可以在下拉列表中选择基本的过滤器,如品牌名称。
过滤选项是一个迹象,表明公司已经建立了一个具有高级搜索选项的移动界面,如果需要的话。作为一家企业,您可以参考您的元数据来确定正确的过滤器选项,以便为用户提供指导。
Facets 是根据搜索类型变化的类别的动态列表。一个很好的例子:考虑不同层次的用户需求。在亚马逊搜索笔记本电脑的过程中,可能会产生一些非常昂贵的型号,“500 美元以下”这个词迎合了那些可能需要坚持预算的人:
带过滤,显示反馈
对于小屏幕的房地产,很难在视图中同时包含过滤器和搜索结果而不造成混乱。有时你可以在屏幕的顶部挤进一些关键的过滤器,但是呈现所有可能的过滤器的专用视图可能更有意义。
好的移动过滤体验有一个共同点:当选择一个过滤器时,会显示某种类型的反馈。例如,Airbnb 应用程序会调整每种活动类型的可用结果数量:
预见人们可能想要的东西
让用户每次点击都有价值的一个方法是提供 自动完成 作为移动界面设计的一个元素。有了这个功能,当用户输入搜索词时,即时搜索查询“猜测”就会更新。
实现拼写和错别字容差
如果客户拼错了查询,你不希望他们看到“没有结果”的页面。此外还有错别字:对于使用移动设备的人来说,用他们的小键盘来写错别字特别容易。解决方案是主动检测拼写错误并提出纠正建议。
以下是尽管有拼写错误,YouTube 如何找出想要的内容:
报价查询-相关建议
当有人输入短语时,查询建议通常会出现在搜索栏下方。这些建议看似直接相关,但不一定。 查询建议 帮助用户找到保证返回结果的查询。
它们可能是由他人输入的分析生成的流行搜索查询,这些查询有可能吸引搜索者进入一些看起来有趣或足够相关的内容。
或者,它们可以是基于搜索者输入的术语的更完整的查询。假设你准备好了下一个苹果 iOS 或 Android 设备,你在谷歌的搜索框中输入“iphone”。这些建议可以是与各种最新型号相关的更具体的查询,例如“iPhone 14 Pro Max”:
鉴于查询建议对用户来说是一个额外的步骤,用户可能会自然地被所有的选择淹没,当一个网站或应用程序有大量数据集时,它们是最有帮助的。通过问“这些是你正在寻找的吗?”,它们帮助引导搜索者通过所有选项找到最相关的项目。
积极主动,立竿见影
执行移动搜索任务的人希望体验是即时的,不仅是搜索结果的获取速度,还有更新的频率。因此,不用等待用户输入完整的查询,您可以在用户第一次击键时就显示预期的、动态的搜索结果。
一个选项是通过每次击键调出实际的搜索结果,并将它们显示在结果页面上。当数据集更有限或者用户对他们需要什么有更明确的想法时,这种方法是最有效的。
另一种方法是移动用户界面通过为每种类型的内容显示有限数量的项目来划分其屏幕空间(例如,在音乐流媒体应用程序中,五位艺术家和五个乐队)。最相关的结果会出现在这些列表中,您可以在每个列表的底部包含“显示更多”按钮。
将建议与立竿见影的效果结合起来
当您有一个非常大的数据集,并且想要指导用户并确定是否已经进行了良好的匹配时,建议和即时结果是优化您的移动设计的好方法。例如,Google Play 应用商店可能会显示一个它认为可能是正确的应用搜索结果,并在其下方显示查询建议,以防结果与目标不符。
提供联邦搜索
如果你有企业级的搜索应用,可以考虑提供 联邦搜索 的综合选项。除了搜索结果,您还可以在单个搜索结果界面中包括最近的搜索、热门搜索和从多个索引收集的内容。
提供语音搜索选项
移动应用程序越来越多地提供 语音搜索选项 ,让用户在旅途中通过对着麦克风说话来输入搜索查询。例如,谷歌地图让人们在开车时方便地说出搜索查询。
不要让搜索-过渡屏幕空白
因此,在您的搜索 UI 中,您的搜索者已经输入了一个查询,可能选择了一个查询建议,并点击了放大镜图标。他们可以通过一个漂亮的空白屏幕或进度条指示器放松一下,他们的搜索已经开始,他们很快就会看到一些很棒的结果。
是的,你可以为他们提供 Zenlike 应用内休息,作为你 r UI 设计的一部分,然而,到他们搜索结果的过渡页面是一个吸引他们的机会——基于你目前对他们搜索查询的了解——甚至在他们到达他们的搜索结果之前。因此,如果他们输入的内容不够具体,你可以给他们建议,而不是在你的搜索 UX 中出现一个空白页面。您的搜索功能还可以向他们显示实时趋势或最近的搜索、 或他们可能喜欢探索的类别,以取代或补充他们当前的搜索兴趣。
下一站:搜索结果页面
现在你已经获得了一些用户界面/UX 设计的灵感和利用强大的移动应用程序设计来帮助搜索过程的初步方法,你已经为 第 3 部分 :优化构建移动搜索结果做好了准备。
从 GSA 转移到 Algolia
从 GSA 向 Algolia 进发
随着 Google Search Appliance (GSA)的日渐衰落,现在是迁移到 Algolia 的速度、功能和灵活性的最佳时机。由于许多公司正在考虑关闭谷歌企业搜索,我们想概述一下 GSA 和 Algolia 之间的一些关键差异,无论是大型(再见硬件!)或 small(默认情况下我们公开的关联逻辑)。
但是,在我们进入所有细节之前,我们希望更好地描述 Algolia 和可供任何寻求迁移的人使用的替代选项——所以,让我们先介绍一下我们自己。Algolia 是一个搜索 API,它为开发人员提供了一个完整的工具包,用于在他们的产品中构建搜索和发现体验。我们是一家全球性公司,在 100 多个国家拥有 5000 多家客户。我们的目标很简单:帮助所有行业的公司为他们的用户创造强大、相关和可扩展的发现体验。我们通过强大的托管搜索 API 来实现这一点,该 API 为产品团队提供了创建快速&相关搜索所需的资源&工具。
但是,当你习惯了谷歌搜索设备提供的内部功能集时,Algolia 能满足你的业务的严格要求吗?以下是答案为“是”的几个原因:
- 可靠性–我们知道您的业务依赖于搜索,我们为我们的产品提供 99.999%的正常运行时间 SLA 和 1000 倍信用回报保证。
- 可扩展性–Algolia 通过满足您业务独特需求的托管基础设施选项,轻松地从您的第一笔记录扩展到数百万笔记录。
- 相关性–高度可定制和可配置的相关性公式和直观的用户仪表盘确保即使是非技术团队也能完全控制搜索结果。
- 安全性–在 Algolia,您数据的安全性是我们的重中之重。您的数据在传输过程中始终是加密的,在 6 大洲提供静态加密和专用基础架构选项。
然而,我们认识到并非每个人都准备好从 GSA 的内部解决方案直接跳到 Algolia 的企业 API。对于使用我们的 API 索引内容不可行的情况,我们还提供了 Algolia 自定义爬虫,它可以直接从您的网站自动提取任何内容,将其转换为结构化数据,使其易于搜索。
使用爬虫不应该影响站点搜索质量。我们的主要区别之一是,我们帮助我们的客户决定他们的用户的最佳搜索体验,并相应地定制爬虫。然后,我们的客户可以利用 Algolia 的关联逻辑,它是透明的,完全可配置的。此外,我们的平局打破算法允许您选择哪些属性可以搜索,并根据您的重要性评级进行排名。此外,为了向您的用户提供最相关的结果,我们的定制爬虫可以扩展到您的页面之外,用来自 Google Analytics 的指标来丰富您的索引。如果你有兴趣了解更多关于我们的定制爬虫的信息,你可以直接联系我们的销售团队,让他们立即回答你的问题。作为我们最近在启动的合作伙伴计划的一部分,我们还提供多个解决方案合作伙伴的支持,提供过渡服务以确保您的谷歌搜索设备迁移成功。
仍然不确定哪个 GSA 替换选项适合您?我们有更多信息帮助您了解更多细节,以及即将举行的网络研讨会您可以注册参加,我们将在那里直播 Algolia 产品。
“Algolia 让我们所有顾客的生活更加轻松,也让我们的生活更加轻松。多亏了他们提供的简易开发,我们在 3 周内就在 3 个不同的酒店上线运行了。”
安妮·奥本多夫
数字内容管理器
Couchbase
使用 NetInfo API 改进 Algolia 的 JavaScript 客户端
原文:https://www.algolia.com/blog/engineering/netinfo-api-algolia-javascript-client/
Algolia 的架构高度冗余,在至少三个不同的服务器(称为集群)上托管每个应用程序。我们这样做是为了确保最大可能的可靠性。 这巩固了我们的 SLA,确保 99.99(9)%的正常运行时间,让您能够可靠地交付企业级搜索,而不必担心底层基础架构。
然而,冗余只是高可用性系统的一部分;在我们的用户和我们的基础设施之间仍然有很大的未知——网络 。所有搜索查询都依赖于网络可用性,并受到其潜在延迟的影响。为了管理网络易错性,Algolia 的 API 客户端实现了一种" 重试策略 ",其中基于一组简单的试探法,服务器被确定为""",当该试探法被触发时,使得 API 客户端通过绕过主应用 DNS 记录并直接以服务器节点之一为目标来重试相同的查询。
此 重试逻辑 每当检测到其中一台服务器关闭或无法访问时,就会切换目标服务器。因此,给定的请求不会失败,除非所有 se 服务器同时关闭或不可达。这不太可能——尤其是考虑到集群的服务器位于地理位置分散的不同数据中心。
出于这个目的,我们需要确定“不可用”是什么意思(这个话题应该有自己的博文)。为简单起见,如果检索结果的请求花费的时间超过 X,则服务器节点被视为不可用。每当一个请求花费的时间超过 X 的时候,我们就增加 Y 并开始一个新的请求,这次的目标是一个特定的服务器节点。我们将 X 定义为起始值1000 毫秒 乘以 Y ,其中 Y 是当前会话中请求超时的次数。这给了我们一个基本的重试策略,它可以工作,但是不能根据不同的网络条件进行调整。
为多变的网络环境做出调整
遗憾的是,没有完美可靠的网络,也没有两个完全相同的网络或提供商。进入一个老旧的 混凝土建筑 或者当地网络被同行超载的事件,你会很快明白 Wi-Fi 或 4G 会变得多么不可靠。作为一家 SaaS 企业,我们不能保证用户的连接,但我们确实希望为所有用户提供良好的搜索体验,无论他们的网络能力如何。
这是我们的重试策略定义与我们的业务目标重叠的地方,并构成了潜在的风险。因为我们为超时逻辑使用了默认的静态数字(1000 毫秒),所以我们并没有迎合客户所面临的真实网络条件。慢速连接的用户将在他们第一次查询 algolia 服务器时触发我们的重试策略,因为我们的客户端超时默认值太低;这反过来导致他们最初的搜索请求被取消,而另一个请求被发送到 Algolia-使他们接收请求 所需的时间加倍。
如果我们能够知道这些用户的网络能力,我们可以将超时设置得足够高,以防止误报,同时仍然保留服务器请求可能失败时的重试逻辑。
改进的动机
传递快速(呃)查询
如果你从事电子商务、媒体或任何其他类型的在线业务,客户维系和满意度是关键。在一个没有人喜欢等待的世界里,你最不希望的事情就是让你的用户盯着一个空白的屏幕等待搜索查询的结果。 亚马逊发现100 毫秒的延迟会导致收入下降约 1%,加载 30 个结果而不是 10 个会导致页面渲染延迟 0.5 秒,并导致流量下降 20%。
利用快速搜索体验可能是你和你的竞争对手之间的关键区别之一,这也可能是用户最终使用你的网站而不是竞争对手的网站的原因。
推卸责任
然而,缓慢的服务器响应时间不一定是工程故障。作为软件工程师,我们可以做很多事情来改善我们的内容交付方式,但因为我们不能完全控制网络堆栈,我们的用户仍然只能得到 尽力而为 的服务,这种服务经常会遇到 最后一英里问题 。
举个例子,一个用户正试图从一个糟糕的网络访问你的网站。如果你告诉这个用户 “你的结果正在加载】 ,他们可能会对你的服务感到失望,离开你的网站——即使是 他们的 网络,而不是你的服务导致速度变慢。
通过说 “你在一个糟糕的网络上,结果可能需要一段时间” 来增强体验,将责任推给他们的提供商,使他们 更有可能等待实际结果 的到来,知道你的网站不应该受到指责。(脸书研究关于装载机的心理效应。)
Google Maps example (center of Paris on iPhone XS, Free provider)
使用 NetInfo API
网络信息 API 目前是 WICG 下的活草案文档。它保存有关客户端网络能力的重要信息,如其有效连接类型、下行链路和 往返时间 信息。如果我们以前盲目地将超时时间初始化为一个任意的数字,我们现在可以进行更好的调整,并用更好的超时配置初始化客户端。
网络信息 API 还附带了一个非常有用的onchange回调,当我们的用户的连接发生变化时就会调用这个回调。这意味着我们现在可以满足那些开始在良好连接上使用我们的页面,但后来由于外部条件(如上面的混凝土建筑示例)而体验到缓慢连接的用户。反之亦然。
通过利用 NetInfo API,我们可以开始针对以前无法处理的一些用例进行调整。下面我们来看一些例子:
完美网络条件(4G、Wi-Fi)下的搜索查询:
查询是在良好的网络条件下发送的,没有触发超时,请求在网络上传输总共花费了 600 毫秒。这包括解析 DNS、协商 TLS 和建立 TCP 连接。
慢速网络条件下的搜索查询(3G):
查询是在降级的网络条件下发送的,这又超过了我们最初设置的静态超时(1000 毫秒),查询被重试。我们可以很快看到,不知道客户端所服从的网络是如何让我们付出额外的请求代价的,这增加了检索响应所需的总时间(在本例中是 1000 毫秒+1500 毫秒,而不是仅仅 1500 毫秒)。
恶劣网络条件下的搜索查询(慢 2G):
搜索查询是在恶劣的网络条件下发送的,每个请求都以指数增长的超时重试,最终检索到响应。
变化网络条件下的搜索查询:
搜索查询是在良好的网络条件下发送的,这在会话期间可能会改变。
调网搜索查询:
通过利用 NetInfo API,我们可以调整客户端的超时设置,并根据用户遇到的实际网络条件适当地设置超时,从而减少重试请求的次数,并减少搜索引擎响应结果所需的总时间。
实施我们的方案
知道了用例、API 和我们想要的结果,我们现在可以利用 NetInfo API 根据真实的网络条件来调整客户端的超时策略。
因为网络信息是一个实验性的 API,我们需要检查特性支持。一旦我们断言了 API 的可用性,我们就可以从网络 RTT 时报初始化我们的 JavaScript 客户机的超时,并注册 onchange 处理程序。
(重要: 你还应该检查一下 connection.rtt 是不是一个数字,因为在 有些情况下部分支持。 注意,上面的伪代码不是要复制粘贴的。 )
如果 NetInfo API 不可用,我们可以使用 资源定时 API 。正如 伊利亚 在 推特 上指出的,它包含了足够的信息让我们在没有 NetInfo API 可用的情况下构建一个更明智的重试策略。
使用这两个 API,我们现在更接近于拥有一个基于真实网络条件的动态重试策略。见下面的例子,hn.algolia.com 已被更新,以模拟真实的网络条件。
我们现在能够设置更好的超时默认值,避免由于错误的默认值而触发重试策略;当用户遇到恶劣的网络条件时,不再取消和重试原始请求。这反过来减少了这些用户获得搜索结果所需的时间,节省了设备带宽,并节省了我们搜索服务器的 CPU(因为只发送了一个请求,所以引擎不必做两次)。
这里是在 3G 网络受限的情况下,我们的旧策略(左)与新策略(右)的并行渲染性能比较。
Left: Static timeout value. Right: network adjusted timeout value.
如果你看一下左边的 Chrome 开发者工具,你会发现最初的请求超时了,由我们的客户端重试,而在右边,超时是根据实际的网络条件设置的。通过这一修改,我们在当前模拟下成功节省了大约 800 毫秒。
确保我们有数据
在进行所有这些更改之前,我们设置了一个监控 API,以便我们可以测量我们的更改。该 API 报告每次超时以及客户端和网络信息。我们在 GoogleAnalytics 中添加了 【慢速连接】 事件,以备用户每次看到“你在慢速连接”加载器时使用。这允许将用户会话分为慢速和快速连接。
虽然 Algolia 提供了速度最快的搜索引擎之一,这在一定程度上要归功于它的分布式搜索网络,这使得数据更接近您的用户,但我们仍然可以观察到,大约 ~9% 的该应用程序用户正经历着从查询到呈现结果的缓慢时间,这是由缓慢的网络造成的。
使用 Google Analytics,我们现在可以比较慢速连接上的用户,并看到他们在页面上花费的时间几乎是原来的两倍。因为搜索是 hn.algolia.com 的一个主要功能,我们可以想象用户大部分时间都在等待结果。
改善开发者和用户体验
知道响应会很慢,我们可以通过展示加载器并解释延迟来自哪里来增强用户体验。这使我们能够更好地管理用户期望,并解释为什么某个动作会延迟体验,避免沮丧,并有希望导致用户愿意花更多时间等待。
让我们看看下面的例子:
通过添加一个内置方法,我们将为开发人员提供一种快速决定如何处理这些情况的方法,帮助他们专注于搜索 UI 的实际实现,并让他们的用户即使在降级的网络条件下也能保持快乐。这个 让我们离帮助你为你的用户建立最佳搜索体验更近了一步。
Example of hn.algolia.com handling users on slow connections.
超越慢速网络加载器
拥有一个慢速网络指示器是很好的第一步,但是我们现在可以超越解释这种情况,实际上加速这些用户的查询。我们现在可以考虑的选项之一是减少我们请求的搜索结果的数量,减少总的响应大小,并让用户更快地在屏幕上看到这些结果。根据搜索结果的传输大小,这会对搜索结果的显示速度产生重大影响。
Tested on algolia.com/doc, same query with different hitsPerPage parameter. Response size is ~3x lower and the query only takes 10% of it’s original time.
我们现在可以考虑的另一个选项是针对慢速连接用户的去抖动查询。如果我们知道请求将会很慢,我们可以节省带宽,而不是在每次击键时都发送查询,从而节省设备带宽用于其他可能需要它的关键操作。如果 navigator . connection .saveData为真,我们也可以这样做,该属性指示用户是否请求了缩减数据使用模式。
这对我们 Algolia 和我们的用户意味着什么
针对这些情况进行调整,可以为我们所有的用户提供更好的搜索体验,无论他们的位置、网络或设备性能如何,并且让我们向为每个人提供更好的搜索体验又迈进了一步。NetInfo API 还为开发人员提供了测试和决定如何最好地处理这些用例的机会。随着我们继续努力为您和您的用户改进搜索,我们正在寻找反馈和早期采用者。如果你对此感兴趣,请在下面的评论中联系我们,我们希望听到你的想法。
非常感谢 Adam Surak 参与到这个话题的讨论中来!
奖励链接:有一个类似的规范叫做客户端提示,它通过一组新的请求头来表达网络信息。我建议你阅读规范草案本身或者阅读谷歌开发者的博客文章,看看你如何利用这些标题。
神经哈希如何释放人工智能检索的全部潜力
原文:https://www.algolia.com/blog/ai/neural-hashing-ai-search-retrieval/
搜索可以同时感受到简单和复杂。在谷歌上搜索很简单,搜索结果也非常相关(尽管这一点在最近几年谷歌推出大量赞助搜索结果的情况下仍有争议)。虽然不是搜索,但 ChatGPT 让这种体验变得更加神奇。但是,任何实现过搜索的人都知道,信息检索是一个高度复杂的话题。
为了简化,从搜索查询到结果的生命周期,s earch 可以分为三个不同的过程:查询理解、检索和排名。
- 查询理解 :自然语言处理(NLP)技术为搜索引擎分析准备和构造查询;
- 检索
- 排名 :最后还有一个重新排名的过程,把最好的结果推到最前面(基于点击、转化等)。)并应用客户的规则、个性化等等。
机器学习人工智能已经应用于查询处理和排序有一段时间了,它极大地改善了这两者。缺失的部分是检索,而检索对于提高结果的整体质量更为重要。
我们可以用召回 来衡量检索质量。Precision 是检索到的相关文档的百分比,recall 是检索到的相关文档的百分比。这两个指标可以帮助我们确定搜索结果是否好。
举例来说,假设是时候升级你的厨具了,所以你在你最喜欢的卖家网站上搜索“煎锅”。在这些结果中,有些项目非常相关。但是,有些不是——比如带平底锅的炊具套装(截图如下)。这就是精准。然而,网站上还有许多其他相关产品是 而不是 包含在结果中。我们称之为召回。
现在,假设您决定改进搜索查询。您可能会搜索“不粘锅”,这一次(见下文)(1)此查询会有不同数量的结果,因为我们引入了略有不同的关键字,以及(2)会有更多您期望的结果(煎锅,而不是炊具套装)。
其实精准和召回之间可以有一个阴阳;提高精确度(准确性)可能会影响召回率,而提高召回率(完整性)可能会损害精确度。圣杯正在改善这两者,这正是人工智能检索可以做到的。
检索是人工智能搜索难题的最后一块,也是最难的一块,原因如下:
- 管理人工智能检索规模和性能的成本过高。存储、CPU 和算法都需要专门化。
- 人工智能检索模型是“脆弱的”——搜索索引随着新的或改变的内容而更新,模型将需要更新。
- 在精确匹配和广义概念匹配之间有一个折衷。
在这篇文章中,我将解释我们如何着手解决人工智能检索的最后一个挑战。在以后的文章中,我会更多地谈论搜索金字塔的其他部分。
人工智能信息检索
搜索检索需要技术来确定任何特定查询的相关性。多年来,它是由关键词搜索引擎驱动的。这种情况正在改变。随着向量搜索的引入,它超越了关键字搜索,概念可以被理解。
矢量搜索 是一种用于 AI 搜索的机器学习技术。向量是用数学方法表示单词的一种方式。向量在多个维度(也称为 n 维空间)中被绘制和聚集。向量搜索通过多个对象的向量表示来比较它们与搜索查询或主题项目的相似性。为了找到相似的匹配,使用用于将对象(即数据或内容)转换成向量的相同模型,将查询(或主题)转换成向量。彼此相似的向量从数据库返回,找到最接近的匹配,提供准确的结果,同时消除传统搜索技术可能返回的不相关的结果。
An example of what vectors in an n-dimensional space might look like for the term “coffee”, visualized via Tensorflow image projector
诸如 HNSW(分层可导航小世界) 、IVF(倒排文件)或 PQ(乘积量化,一种减少向量维数的技术)的技术是一些最流行的近似最近邻(ANN)方法,用于找到向量之间的相似性。每种技术都侧重于改善特定的性能属性,例如使用 PQ 减少内存,或者使用 HNSW 和 IVF 快速而准确地缩短搜索时间。常见的做法是混合几个组件来产生一个“复合”指数,以实现给定用例的最佳性能。
可以有成千上万个维度。每个向量之间的接近度和角度有助于搜索引擎确定术语和含义之间的相似性。输入“加牛奶的意式浓缩咖啡”,矢量搜索引擎会寻找相似之处,返回带有蒸汽棒的意式浓缩咖啡机。然而,键入一个词,如“德隆基”(一个浓缩咖啡机品牌),一个 矢量搜索引擎 就有可能返回其他品牌和不同的机器——Nespresso、Keurig、凯膳怡等。那是因为 vectors 只理解德隆基的 概念 。
与较新的矢量引擎不同,传统的关键词搜索引擎快速而精确。因此,搜索“德隆基 Magnifica”就能给出确切的答案。然而,当查询与您的搜索索引中的内容不匹配时,关键字搜索引擎可能会陷入困境。为了解决这个问题,公司可以添加规则、同义词、关键字标签或其他解决方法,但不可能涵盖所有用例。
例如,您可以编写一条规则,包含关键字 【咖啡或浓缩咖啡】【机器】【牛奶】 的查询与 【带蒸汽棒的浓缩咖啡机】的意思相同 问题是你不可能为每一个可能的长尾查询覆盖每一个边缘案例。再举一个例子,搜索“java”这个词。Java与coffee和espresso同义使用,但除非搜索引擎中有同义词或规则,否则查询会失败。
设计和构建一个有效的可伸缩向量索引是一项复杂而昂贵的任务。同样,构建一个有效的适用于长尾查询的关键词搜索引擎也同样令人望而生畏。分开来说,向量和关键词搜索技术都相当不错。然而,在一起,他们是了不起的。
这被称为混合搜索,它适用于精确匹配、不明确的短查询和长尾查询。
人工智能搜索性能突破
所以,你只要把一些向量和关键词技术拼凑起来就大功告成了,对吧?混合搜索引擎解决了!
要是有这么容易就好了。正如你可能想象的,有一些挑战。最大的问题是管理矢量搜索的规模和成本。向量基本上是浮点数。计算机与浮点数进行了巨大的斗争。这就是为什么像 GPU 这样的专用计算机被用于人工智能和矢量操作。您不仅需要专门的数据库来运行 vector search,还需要全职的开发资源来持续管理生产。对于人工智能模型,输入模型的数据保持新鲜、相关和优化是至关重要的。对于数据不断更新且速度至关重要的电子商务和企业业务,人工智能搜索的计算成本太高,无法在生产中运行。
一些公司试图通过运行人工智能查询 来解决这个问题,前提是 关键字查询失败。这有助于最小化处理成本,但不能为客户提供最佳结果。
底线是大多数公司想把时间和金钱花在他们的业务上,而不是关注搜索引擎的基础设施。解决方案是我们首创的方法。这就叫 神经哈希 。哈希是一种允许我们在不丢失信息的情况下压缩矢量的技术。我们可以将复杂的 2000 位十进制长数字转换成简单的静态长度表达式,这使得计算它们变得非常快速和便宜。哈希在 AI 中应用于向量并不是一个新概念。
位置敏感散列(LSH)是一种众所周知的算法技术,它以很高的概率将相似的输入项散列到相同的“桶”中。典型地,在如何确定“桶”方面存在折衷——更高或更低的相似性。利用我们的神经散列技术,我们已经消除了权衡的需要。因此,我们可以用神经网络(因此得名神经哈希)将向量压缩或哈希到正常大小的 1/10,同时仍然保留高达 99%的信息。它们可以在标准硬件和数据库上存储和管理。事实上,我们可以处理散列向量或二进制向量,速度比标准向量相似度快 500 倍,使其与关键字搜索一样快。我们可以在普通的 CPU 上实现。
这里有一个关于“非特富龙不粘油炸锅”的长尾查询的例子,它运行在一个只有关键字的引擎上,而不是散列/关键字引擎上。
从上面的截图中可以收集到一些重要的信息:
- 混合动力引擎提供了更高的精度和更高的召回率。
- 我们在单个查询中同时运行散列和关键字,组合的混合结果按照相关性进行评分和排名。
- 这是在商用硬件上运行的,结果几乎是即时的;混合搜索结果并不比只搜索关键词慢。
还要注意,“frypan”是一个单词而不是两个单词——它也可以写成“煎锅”、“煎锅”或“煎锅”——但是搜索引擎不会跳过一个节拍。这涉及到人工智能检索的另一个重要特征:它大大减少了与提高搜索相关性相关的人工工作量。为常见术语编写同义词库或为特定类型的查询编写规则的时代已经一去不复返了。它也开启了全新的可能性,比如提供搜索服务。
Algolia neural search提供了这项新功能。它现在处于私下测试阶段,但您可以在这里注册以便在它可用时得到通知。
当然,搜索不仅仅是检索。在我们端到端的 AI 搜索金字塔中,检索(神经哈希)处于中间。人工智能金字塔的两端是查询理解和排序。在以后的博客中,我会谈到这另外两个功能。
下一步
神经哈希代表了将人工智能检索投入生产的一个突破,用于各种各样的用例。结合人工智能支持的查询处理和重新排名,它有望释放人工智能现场搜索的全部力量。我们很高兴即将发布这些新的端到端人工智能功能!当全新的 Algolia neural search平台推出时,立即注册成为第一个试用者。
神经网络与关键词搜索
原文:https://www.algolia.com/blog/ai/neural-networks-or-ai-whats-the-difference-when-it-comes-to-search/
为了优化您的搜索用户体验,帮助您的订户或电子商务客户轻松找到他们需要的东西——无论是产品、服务、信息片段还是它们的组合——您提供了什么样的搜索工具?
在这个大数据时代,搜索是一项不断发展的技术,随着每一代搜索功能的出现,公司都在实现突破性的功能。
神经搜索尤其如此,这相当于在已经被网络搜索技术照亮的数据科学世界中的一次量子飞跃。
评估各种搜索方法的第一步是了解你的网站或应用程序的所有最新搜索系统选项之间的差异。
守旧派:关键词搜索
今天的许多搜索引擎操作都是基于匹配关键词,这是谷歌搜索带入主流的方法。在这种传统的基于索引的模型的工作流中,搜索引擎试图为用户的输入数据识别最佳内容匹配:他们的关键字。
然而,以关键词为中心的模型开始与基于人工智能的搜索方法结合起来,允许“理解”查询的意思。
这些有前途的新方法包括向量搜索和神经搜索。
即使你不是数据科学家,你也可能熟悉人工智能(AI),所以让我们从那里开始吧。
AI 搜索:智能选项
AI ,机器学习,机器智能。无论人们如何称呼它,计算机科学的这一分支都专注于机器执行任务的能力,包括与搜索、语言理解、视觉识别和机器人相关的任务,这些任务通常需要人类智能。或者更准确地说,尽“机器所能”去做?这可能意味着做事比人更有效率。人工智能包含多种应用和算法类型,令人惊叹的 新应用 一直在涌现。
人工智能同样取得了显著的进步,特别是在搜索领域。(也称为人工智能搜索和认知搜索)智能搜索功能是指搜索引擎不仅能够读取、处理和匹配输入的关键词和内容,还能在人们使用搜索应用程序时开始“理解”他们的 潜在意图 ,并可靠地对他们想要的信息做出回应。
人工智能搜索利用了一系列现代技术,包括 机器学习 和 自然语言处理 (NLP),以更好地了解每个用户试图追踪的具体信息。一旦被准确地识别,通过正确的微调,以非常及时的方式,最佳搜索查询结果可以被最优地排序并提供给用户。
AI 搜索 有多广泛?很多公司都提供。其他人只是在现有的关键词搜索解决方案上添加人工智能功能(这会降低结果检索的速度,并使模型训练变得困难)。还有其他公司并没有像他们所说的那样提供人工智能搜索。但不管实现水平如何变化,人工智能驱动的搜索不会消失。
矢量搜索
向量搜索 利用机器学习来确定数据的含义和上下文(既适用于文本搜索,也适用于 图像搜索 ),并将其翻译成数值表示。
传统的基于关键词的搜索引擎不知道某些词可能是相关的。因为基于向量的搜索引擎理解单词之间的关系,所以它们可以提供比关键字搜索更好的搜索结果。
很多公司都在使用矢量搜索。一个重要原因是:与关键词搜索相比,矢量搜索可以让你获得更相关的搜索结果,而且速度更快。除了确定意图和意义之外,向量还适用于对搜索结果进行排序、自动化同义词和文档聚类等任务。
神经搜索
神经搜索 使用 AI 来确定数据点之间的关系。简而言之,这项新兴技术将数据转换为向量,这有助于提高速度和灵活性,而且比传统的关键字搜索更强大。
神经搜索的机制:神经网络
神经搜索 背后的力量是 神经网络 (NN),或者更准确地说,是人工神经网络(ANNs)。
神经网络是一种算法(计算模型),旨在模仿人脑并模拟人类的思维过程。神经网络是通过输入和输出连接的一系列节点(计算单元)。
经过训练的神经网络可以识别单词中的模式, 根据单词的含义绘制出彼此靠近或远离的单词 。
神经网络对公司来说是一个日益增长的积极现象:根据Gartner的数据,在过去几年中,人工神经网络在商业中的使用增长了 270%。
(人工)神经网络是什么时候起源的?
自六七十年代以来,机器学习和人工智能一直依赖于 符号化的 AI 通过简单明了的基于规则的算法进行学习。研究人员和科学家使用逻辑 if-then 结构,期望人工智能的学习机制能够直接映射到代码中。
但是随着人类对人类大脑如何工作的理解的发展,计算机科学家也在重新思考他们的人工智能方法。他们已经从基于代码的机器学习转向反映人类对神经元理解的系统。这导致了神经网络技术的兴起:以人工神经元之间的连接为特征的系统。
神经网络如何运作
机器使用统计模型和神经网络来理解语言。 人类的目标:让他们能够想出有效的解决问题的策略,比如那些在制造设施或其他工作环境中需要的,理想的是以优于人们所能想象的方式。
第一步是训练模型。单词被转换成数字,称为向量,然后被输入到一个复杂的软件过程中,称为神经网络(NN)。NN 模型计算并重新计算向量中的数字,直到这个词被机器“分类”。意思相似的单词在一个“向量空间”(一个多维图形)中紧密地排列在一起。
随着基线模型接收训练数据——随着每个新单词的出现——它会“学习”,自我校准,并经历其数字或“权重”的微小转换最终的模型设置了所有的权重,可以准确地识别它接收到的几乎每个单词。
机器学习中使用的模型也是不断优化的算法:它们接受的数据越多,其算法性能就越好。机器学习算法调查新的东西,对数据进行有根据的猜测,并提高它们的“理解”。这导致了流程的巨大改进,例如自动驾驶汽车导航技能的优化。
机器学习方法
机器学习的类型包括:
监督学习
就像老师负责时学生可能做的一样,机器学习系统被给予预期的输入和输出及其数据集。从理论上讲,如果它知道什么是想要的输出,它可以通过将策略映射到数据来做出响应。监督学习有助于确保数据得到准确分类,并有助于创建最佳学习策略。
无监督学习
这是在没有标签的数据集(非结构化数据)中解决问题、发现模式的“独立研究”的计算机化版本。人类的监督和准备工作是最少的。无监督学习通常用于解决统计和概率问题,这意味着所请求的输出不会被传达,并且与其他类型的人工智能相比,洞察力可能具有更少的偏差。
强化学习
在这种类型的机器学习中,计算机程序——一个智能代理——通过与环境中的东西进行交互来学习。典型的用途包括以人工智能玩家为特色的在线游戏,以及训练机器人如何正确移动的过程。
神经网络
神经网络是一种多层机器学习模型,用于理解大量数据并识别复杂模式。各种类型的神经网络用于不同的应用。例如, 卷积神经网络(CNN)对于分析图像是非常棒的。
在神经网络中,复杂的决策任务被分解成多个部分。与直觉相反的是, 更容易的 任务存在于网络的更深处。当系统的输入指示这些简单任务的行为时,输出通过各层上升并支持决策。
深度学习
机器学习和深度学习(机器学习的一个子集,被认为是深度神经网络,DNN)这两个术语经常互换使用。它们并没有那么不同:深度学习模型的“深度”部分是深度神经网络比简单网络使用更多的处理层。
不考虑机器学习与深度学习网络的细微差别,任何类型的学习过程仍然是学习,当然。但深度学习是一种更具可扩展性的算法,行业先驱 吴恩达 (谷歌大脑( 维基百科 )的联合创始人之一)表示:随着深度学习算法接收和处理更多数据,性能不断提高。
深度学习用例的一个现实应用是面部识别软件。相当简单的功能,如识别边界和映射模式,可以作为执行更复杂任务的基础,如识别颜色和进行预测映射。
关键词搜索与神经网络搜索
不要倾倒你的关键词搜索。传统的基于关键词的搜索可能会在未来几十年成为搜索功能的主流。
请记住,自我学习人工智能的加入是一个非常重要的游戏改变者。开发者正在开发以机器学习为中心的方法,补充关键字搜索的优势,从而给用户 更好的搜索体验 。
人工智能搜索快速而准确,而关键词搜索可能会陷入复杂的依赖关系,无法扩展到包含多种语言。将关键词与可用内容准确匹配并不总是可靠的。基于关键词的搜索结果的质量可能不会随着时间的推移而提高很多。
神经网络:提高精度
神经网络或者基于向量的语义搜索是基于 自然语言理解(NLU)自然语言处理 (NLP)的子集;它识别语义相似的单词。这使得它比任何传统的关键字系统都要聪明。不仅更聪明,而且更有才华:凭借其更具语言学“全球”视角,它可以看到人类可能容易忽视的复杂模式。
例如,使用神经网络搜索,即使他们的查询与目标文档或所需网页中使用的术语不完全匹配,也可以获得评估潜在用户意图的相关结果。
例如,他们可以在关键字搜索引擎框中输入服装品牌名称和商品类型。他们只能看到该品牌的商品。相比之下,矢量引擎的默认行为是“想得更远”,而不仅仅是品牌,因此搜索者也会看到其他品牌的类似商品。
这种增强的可用性水平也转化为更自然的交互,例如当涉及人工智能聊天机器人时。
然而,神经搜索引擎可能会很慢,加上它们的价格标签很可能会打破许多公司的预算。
结果如何?改善用户的搜索引擎体验意味着在搜索质量和搜索速度之间进行权衡。
解决方案:混合搜索
就准确性和速度而言,最好的选择显然是覆盖所有的基地。
现在,由于最近的进步,这种覆盖是完全可能的。
Algolia 的搜索是业内第一个真正的混合 在单一搜索引擎中提供基于神经网络的搜索和传统关键词搜索。这种最先进的搜索技术既高质量又快(再见,权衡)。It:
- 涵盖所有搜索和发现需求 ,同时最大限度地降低成本和基础设施需求
- 提供个位数毫秒查询次数, 无论规模还是查询吞吐量
- 让您使用一键改进 UI 来教授 it 相关性 (如果需要)
准备好开始利用神经信息检索,通过我们强大的 API 为您的搜索能力服务了吗?利用我们基于矢量的 语义 搜索算法,改造您的企业搜索平台,打动您的用户,提升您的转化率。获取 今日联系 。
了解 Algolia 新的查询分类人工智能功能
查询分类发布公测
查询分类现已于 2022 年 9 月 27 日公开测试。高级计划下的 Algolia 客户可以直接从他们的 Algolia 仪表板访问查询分类,并亲自体验这一新的有效功能。我们认为查询分类是我们搜索和发现平台的关键组成部分。这一新功能将使您的客户能够更轻松地搜索、发现和找到他们想要的内容,从而大大减少最终用户的工作量。
借助 Algolia 查询分类,开发商、销售商、媒体公司和内容提供商可以预测客户的意图。将您的客户与最相关的商品类别或精选商品联系起来,帮助他们设计最能满足最终用户旅程中每时每刻需求的内容或产品类别。产品经理和跟单员都可以利用 Algolia 打开目标相关性和提高网站转化率的大门。查询分类提供了以下功能键:
- 自动过滤&提升——利用类别预测自动过滤或提升搜索记录。此功能减少了转换时间,并通过提高搜索精度改善了客户的体验。
- 按预测类别分组的分析–通过比较查询和搜索结果快速识别机会。Algolia 对查询进行聚类,并预测要比较的类别。这些见解有助于发现表现不佳的搜索。
- 通过搜索 API 进行预测访问——借助这一新的人工智能模型,将每个查询与目录查询中的一个类别相关联,例如,将查询“香蕉”映射到“新鲜农产品”>“水果”客户可以围绕预测的类别定制他们的搜索,以获得更精确的结果。
- 规则 (即将推出!)–规则通过基于查询预测类别创建规则来减轻手动相关性调整。规则为来自同一类别的所有查询提供了统一的体验;例如,牛仔裤、长裤和长裤可以同时应用相同的购物体验
我管理产品类别的经验来自于在 CPG 领域的公司财务工作。我在数据库、分析工具和电子表格方面花费了大量时间,将产品 SKU 分组以进行汇总,或者汇总到分类产品类别中以分配成本、对收入进行分类,并通过促销和产品放置提高利润。你的类别经理在没有数据科学家和人工智能专家团队支持的情况下也在做同样的事情。Algolia 的人工智能模型允许您自动化手动流程,解锁自动推进&掩埋,提供更高级别的分析,并促进更高效的商品销售。
我见过一些企业试图复制在线零售世界的庞然大物,它们通过构建高度人工化的流程来提供搜索结果,将搜索结果与排名产品和类别匹配起来。现在是伟大的均衡器——Algolia 查询分类。有了技术对等,你只需点击几下鼠标就能与领先的零售商竞争。
Algolia 的 API-first 平台提供了强大的查询提取和分类技术。它使开发人员能够根据预测的结果快速构建和部署令人愉快的最终用户体验。您可以在企业范围内将客户的搜索动态地映射到一致的类别。Algolia 的查询分类人工智能模型旨在显示客户意图。Algolia 专注于帮助商业用户微调网站和搜索结果,同时增加购物车大小,优化转化率,提高客户满意度。
如何?
向 Algolia 发送点击和转换数据,在 Algolia 仪表板的查询分类部分指定您希望如何对记录进行分类,并让模型自动学习如何对您的最终用户正在进行的查询进行分类。您将能够根据每个搜索查询最有可能关联的类别来访问它的预测,因此,您将能够使用一组无代码工具和功能来改善您的搜索体验。
你在寻找搜索趋势和行为吗?
查询分类通过根据客户之前执行的搜索自动预测产品类别,提供搜索趋势和行为。作为一个寻找植物产品的素食者,我访问我最喜欢的健康食品杂货店网站,在搜索栏中输入“汉堡”。Algolia 决定了我在“产品/肉/肉替代品”类别中搜索选项的可能性,而不是“产品/肉/牛肉”类别。阿尔戈莉亚是怎么知道的。因为我最喜欢的杂货店为绝大多数纯素食者和素食者提供服务。Algolia 帮助杂货商清楚地了解顾客的偏好,并相应地提高销售业绩。
为了实现这种意图预测,查询分类利用基于向量的语义模型来预测搜索查询最有可能与哪些分类相匹配。这个(我们的)概率模型为开发者、内容和产品经理提供了预测他们的客户在搜索过程中寻找什么的能力。结果是更高的客户满意度、更强的品牌忠诚度和更多的销售,使你成为“品类领导者”,并让你的财务团队注意到你对业务底线的贡献。
要了解更多信息,查看我们整理的教育内容 ,以及 我们的查询分类文档。
作为语义搜索一部分的自然语言处理和 NLU
原文:https://www.algolia.com/blog/ux/nlp-nlu-as-part-of-semantic-search/
NLP 和 NLU——这两项(经常被混淆的)技术让搜索变得更加智能,并确保人们可以搜索和找到他们想要的东西,而不必像在页面或产品中一样键入准确的单词。
NLP 和 NLU 就是为什么你可以输入“礼服”并找到那件长期受欢迎的“NYE 派对礼服”,也是为什么你可以输入“马修·麦康纳”并让麦康纳先生回来。
NLP 代表“自然语言处理”它是那些已经建立了如此大的意义的事情之一,以至于很容易忽略它告诉你它到底是什么的事实:NLP 处理 自然语言,特别是转换成计算机可以理解的格式。这些类型的处理可以包括诸如规范化、拼写纠正或词干分析之类的任务,我们将更详细地研究每一项。
NLU 代表“自然语言理解”这项技术旨在“理解”一组自然语言在交流什么。例如,它执行的任务可以识别句子中的动词和名词或文本中的重要项目。然后,人们或程序可以使用这些信息来完成其他任务。
电脑看起来很先进,因为它们可以在短时间内做很多动作。然而,在很多方面,计算机是相当愚蠢的。他们需要以特定的方式构建信息,并以此为基础。对于自然语言数据,这就是 NLP 的用武之地,因为它获取杂乱的数据(自然语言可能非常杂乱),并将其处理成计算机可以处理的东西。
文字规范化
当搜索者在搜索栏中输入文本时,他们试图找到一个好的匹配,而不是玩“猜测格式”例如,要求用户以与记录中匹配单词完全相同的格式键入查询,这是不公平的,也是徒劳的。我们使用文本规范化来消除这个需求,这样无论文本来自哪里,它都是标准格式的。
随着我们经历不同的标准化步骤,我们将会看到没有一种方法是人人都遵循的。每个标准化步骤通常会增加召回率并降低精确度。
一个小题外话:“召回”是指搜索引擎找到已知的好结果。精确意味着搜索引擎只能找到好的结果。通过返回索引中的每一个文档,搜索结果可以有 100%的召回率,但精确度会很差。相反,一个搜索引擎可以有 100%的精确度,只返回它确信完全匹配的文档,但是一些好的结果可能会被错过。
同样,标准化通常会提高召回率,降低精确度。向 召回精度谱 一端的移动是否有价值取决于用例以及搜索技术,因此这不是应用所有规范化技术的问题,而是决定哪些技术提供了精度和召回的最佳平衡。
字母规范化
您能想到的最简单的规范化就是处理字母大小写。至少在英语中,单词一般在句首大写,偶尔在标题中大写,当是专有名词时大写。(也有其他规则,看你问谁了。)但在德语中,所有名词都是大写的。其他语言有自己的规则。
这些规则是有用的,否则,我们不会遵守它们。例如,将句子的第一个单词大写有助于我们快速看到句子从哪里开始。然而,这种有用性在信息检索环境中被削弱了。单词的意思不会因为它们出现在标题中并且首字母大写而改变。
更棘手的是,这里有规则,还有人们实际上是如何写作的。如果我发短信给我妻子,“有人撞了我们的车!”,我们都知道我说的是一辆车,而不是因为这个词大写而有所不同的东西。通过思考有多少人在非正式交流时根本不使用任何大写字母 — 我们可以清楚地看到这一点,顺便提一下,这是大多数大小写规范化的工作方式。
当然,我们知道有时候大写 确实会让 改变一个词或者词组的意思。我们可以看到,《猫》是一种动物,《猫》是一部音乐剧。不过,在大多数情况下,不规范 case 带来的精度提高会被召回率降低太多所抵消。这两者之间的区别也很容易通过上下文来辨别,我们将能够通过自然语言理解来利用这一点。
虽然在英语中不太常见,但处理音调符号也是字母规范化的一种形式。变音符号是附加在字母上的标记或“字形”,如á、或。单词在其他方面可以拼写相同,但添加的音调符号可以改变意思。在法语中,“élève”的意思是“学生”,而“élevé”的意思是“提升的”。尽管如此,许多人在搜索时不会包括音调符号,因此另一种形式的规范化是去掉所有音调符号,留下简单的(现在是模糊的)“eleve”
标记化
下一个标准化挑战是如何分解搜索者在搜索栏中输入的文本和文档中的文本。这一步是必要的,因为查询和文档文本之间的词序不需要完全相同,除非搜索者用引号将查询括起来。
将查询、短语和句子分解成单词似乎是一项简单的任务:只需在每个空格处分解文本。使用这种方法,问题很快就会出现。还是那句话,先从英语说起。单独用空格分隔意味着短语“让我们把这个短语分开!”让我们 让我们破起**本 ,还有 短语! 作词。
对于搜索,我们几乎肯定不希望在单词“短语”的末尾出现惊叹号我们是否要保持“让我们”这个缩写词在一起,就不那么清楚了。 有些软件 会把单词分解得更细(“let”和“‘s”)而有些不会。有的不会把“让”分解,而把“不要”分解成两块。
这个过程被称为“标记化”我们称之为 记号化 ,原因现在应该很清楚了:我们最终得到的不是单词,而是离散的字符组。对于英语以外的语言来说更是如此。
以德语为例,说德语的人可以将单词(更准确地说是“ 语素 ,“但足够接近”)合并在一起,形成一个更大的单词。“狗屋”的德语单词是“Hundehü tte”,它包含了“狗”(“Hund”)和“房子”(“hütte”)两个单词。
几乎所有的搜索引擎都将文本标记化,但是引擎可以采取进一步的步骤来规范化标记。两种相关的方法是词干化和词汇化。
词干化和词汇化
词干化和词汇化采用不同形式的记号,并对它们进行分解,以便进行比较。例如,以“计算器”和“计算”或“减速”和“缓慢”为例。我们可以看到有一些明显的相似之处。
词干分析将一个单词分解成它的“词干”,或者这个单词的其他变体。词干提取相当简单;你可以自己做。“词干”是什么词干?你大概能猜到是“stem”词干通常意味着去掉前缀或后缀,就像在这种情况下。
有多种词干提取算法,最流行的是波特词干提取算法,它从 20 世纪 80 年代就已经出现了。它是将一个 系列步骤 应用到一个令牌上得到的词干。
词干有时会导致你意想不到的结果。看看单词“carry”和“carries”,你可能会认为它们的词干都是“carry”至少根据波特词干算法,实际的词干是“carri”这是因为词干分析试图能够比较相关的单词,并将单词分解为尽可能小的部分,即使该部分不是单词本身。
另一方面,如果您想要一个始终是可识别单词的输出,那么您需要词汇化。还是那句话,有不同的 lemmatizers,比如 NLTK 使用 Wordnet 。
词汇化将一个记号分解成它的“词汇”,或者被认为是其派生词的基础的单词。Wordnet 中关于“进位”和“进位”的引理就是我们之前所期望的:“进位”。
词汇化一般不会像词干化那样分解单词,也不会像词干化那样在操作后认为许多不同的单词形式是相同的。“说”、“说”和“说”的词干都是“说”,而 Wordnet 的词条是“说”、“说”和“说”。为了得到这些词条,词条分类器通常是基于语料库的。
如果你想要尽可能广泛的回忆,你会想要使用词干。如果你想要最好的精度,既不使用词干也不使用词汇化。您最终选择哪一个取决于您的目标,但是大多数搜索通常可以很好地执行,既没有词干化也没有词条化,检索到正确的结果,并且不会引入噪声。
复数
如果你决定不在你的搜索引擎中包含词汇化或词干化,还有一种标准化技术你应该考虑。这是复数对其单数形式的规范化。
一般来说,忽略复数是通过使用字典来完成的。即使“去多元化”看起来像去掉一个“-s”一样简单,但情况并不总是如此。第一个问题是不规则复数,如“鹿”、“牛”和“老鼠”。第二个问题是带有“-es”后缀的复数形式,比如“potato”最后,还有一些以“s”结尾但不是复数的单词,比如“always”基于字典的方法将确保你引入回忆,但不是错误的。
就像词汇化和词干化一样,你是否规范化复数取决于你的目标。通过规范化复数来撒一张更宽的网,通过避免规范化来撒一张更精确的网。通常,规范化复数是正确的选择,当您发现它们会导致问题时,可以从您的字典中删除规范化对。
然而,在处理错别字的时候,你几乎总是会想要增加召回率。
错别字公差和拼写检查
我们都在搜索中遇到过错别字容忍和拼写检查,但思考一下为什么它会出现是很有用的。有时候,会因为手指打滑打错键而出现错别字。其他时候,搜索者认为一个单词的拼写与实际不同。越来越多的“错别字”也可能是语音到文本理解不良的结果。最后,单词可能看起来有错别字,但实际上没有,例如在比较“尖叫”和“奶油”时。
处理这些错别字、拼写错误和变体的最简单的方法就是根本不去纠正它们。有算法可以比较不同的令牌。其中之一就是Damerau-Levenshtein 距离算法 。
这一衡量标准着眼于从一个令牌到另一个令牌需要多少编辑。然后,您可以过滤掉距离过大的所有标记。(2 通常是一个很好的阈值,但是您可能希望根据令牌的长度来调整这个阈值。)过滤后,您可以使用距离对结果进行排序,或者将其输入到排名算法中。
很多时候,在确定一个单词是否拼写错误时,上下文是很重要的。“尖叫”这个词在“我”后面可能是正确的,但在“冰”后面就不是了。通过将 上下文带入这个 NLP 任务 ,机器学习可以是对此的解决方案。这个拼写检查软件可以使用单词周围的上下文来识别它是否有可能被拼错,以及它最有可能的更正是什么。
我们之前忽略的一件重要的事情是,当用户在搜索栏中输入单词时,单词不仅可能被拼错。文档中的单词也可能拼写错误。当文档由用户生成的内容组成时尤其如此。
这个细节是相关的,因为它意味着如果搜索引擎只查看查询中的错别字,它就会丢失一半的信息。最好的打字错误容忍度应该适用于查询和文档,这就是为什么编辑距离通常最适合检索和排列结果。拼写检查可以用来设计一个更好的查询或者向搜索者提供反馈,但是它通常是不必要的,不应该单独使用。
自然语言理解
自然语言处理是处理文本和自然语言,而 NLU 是理解文本。
命名实体识别
有助于搜索的任务是命名实体识别,或 NER。NER 识别文本中的关键项目或“实体”。虽然有些人会把 NER 称为自然语言处理,而其他人会把它称为自然语言理解,但很清楚的是,它可以在文本中找到重要的东西。
对于查询“NYE 派对服装”,你可能会得到一个映射到“类别”的“服装”实体 NER 总是将一个实体映射到一个类型,从通用的“地点”或“人”,到具体的你自己的方面。
NER 也可以使用上下文来识别实体。“白宫”的查询可以指一个地方,而“白宫涂料”可以指“白色”的颜色和“涂料”的产品类别
查询分类
命名实体识别在搜索中很有价值,因为它可以与方面值结合使用,以提供更好的搜索结果。
回想一下“白宫油漆”的例子,您可以使用“白色”和“油漆”产品类别来过滤结果,只显示与这两个值相匹配的结果。这会给你很高的精度。如果您不想走那么远,您可以简单地提升所有符合这两个值之一的产品。
查询分类也有助于回忆。对于结果数量较少的搜索,您可以使用实体来包含相关产品。想象一下,没有与关键词“白宫涂料”相匹配的产品。在这种情况下,利用产品类别“paint”可以返回其他可能是不错的选择的油漆,比如漂亮的蛋壳色。
文档标记
命名实体识别有助于提高搜索质量的另一种方式是将任务从查询时间移到摄取时间(当文档被添加到搜索索引时)。摄取文档时,NER 可以使用文本自动标记这些文档。
查询者将更容易找到这些文件。要么搜索者使用显式过滤,要么搜索引擎应用自动查询分类过滤,以使搜索者能够使用方面值直接找到正确的产品。
意图探测
与实体识别相关的是意图检测,或者确定用户想要采取的动作。
这与我们所说的识别搜索者意图并不相同。识别搜索者的意图就是让人们在正确的时间找到他们想要的正确内容。
意图检测将请求映射到特定的预定义意图,然后根据该意图采取行动。用户搜索“如何退货”可能触发“帮助”意图,而“红鞋子”可能触发“产品”意图。在第一种情况下,您可以将搜索路由到您的帮助台搜索,在第二种情况下,路由到产品搜索。这与你在谷歌上搜索天气时看到的没有太大区别,你会在页面的最上方看到一个天气预报框。(新推出的 网络搜索引擎 Andi 将这一概念发挥到极致,在聊天机器人中捆绑搜索。)
对于大多数搜索引擎来说,这里概述的意图检测是不必要的。大多数搜索引擎一次只能搜索一种内容类型。当有多种内容类型时,通过在单个 UI 中同时显示多个搜索结果,联邦搜索可以执行得非常好。
其他 NLP 和 NLU 任务
还有很多其他的自然语言处理和 NLU 任务,但是这些通常与搜索不太相关。像情感分析这样的任务在某些情况下可能是有用的,但搜索不是其中之一。您可以想象使用翻译来搜索多语言语料库,但这在实践中很少发生,也很少需要。
问答是一项 NLU 任务,越来越多地被应用到搜索中,尤其是期望自然语言搜索的搜索引擎。再一次,你可以在主要的网络搜索引擎上看到这一点。Google、Bing 和 Kagi 都会立即回答“英国女王多大了?”而不需要点击任何结果。
一些搜索引擎技术已经探索了为更有限的搜索索引实现问题回答,但是在帮助台或长的、面向行动的内容之外,使用是有限的。很少有搜索者会去网上服装店并向搜索栏提问。
摘要是一项 NLU 任务,对搜索更有用。就像使用 NER 进行文档标记一样,自动摘要可以丰富文档。摘要可用于将文档与查询相匹配,或者更好地显示搜索结果。这种更好的显示可以帮助搜索者确信他们已经得到了好的结果,并让他们更快地找到正确的答案。
即使包括使用图像和音频的新搜索技术,绝大多数的搜索都是文本搜索。为了获得正确的结果,确保搜索处理并理解查询和文档是很重要的。NLP 和 NLU 任务,如标记化、规范化、标记、错别字容忍等,可以帮助确保搜索者不需要成为搜索专家,而是可以“自然地”快速地从需求到解决方案。
NRF 2023 回顾:面对挑战的弹性
今年 NRF 会议的收获
2023 年 NRF 的“云”这个词抓住了零售行业和邻近行业正在经历和感受的广泛领域。“云”包括疫情、通货膨胀、宏观环境、战争、全渠道、可持续发展、个性化、供应链等词,每一个词都在塑造最大的就业部门之一的现实中发挥着重要作用。在今年的 NRF 上,一个突出的词成为了它自己的主题,那就是数据。虽然这不是官方的会议主题,但对我来说,这是在纽约为期三天的零售活动中的一个明显的收获。
尽管这可能感觉似曾相识——因为数据已经驱动业务多年了——但今天不同的是其含义、互联性和应用。从全渠道体验到个性化、定制支持到机器学习,数据是推动高级体验的基础。作为领先的搜索和发现平台,我们依靠数据质量来快速提供大规模超个性化体验。毕竟,规模速度对于改变消费者和企业购物、购买和采购商品和服务的方式至关重要。
会议上讨论和辩论的其他重要主题包括:
- 实体店不断演变的角色——融合后大流行时代的在线和店内体验
- 在每个接触点明确以客户为中心
- 收集的数据量是一回事,但是数据的价值和可用性最重要
- 超个性化体验比以往任何时候都更加重要;它们在不断发展,没有人完全解决这个问题,每个品牌看起来都不一样
- 人工智能、元宇宙、自动化——每个人都想从中分一杯羹,只是不确定如何分以及分多少
在零售大展上大放异彩
作为零售业大展 NRF 2023 的金牌赞助商,我们与希望推动类似体验的品牌进行了数百次对话。重复的问题是——如何降低推动大规模个性化的障碍?在会议过程中—通过在我们展位上的一系列展示—, brands 看到了我们与众不同的地方,这是一个面向可组合商务的 API 优先解决方案。我们讨论的主题包括:
- 搜索和搜索创新的价值
- 一个业务员的一天
- 在马赫速度下优化 CX
- 将 Algolia 与 Adobe、SFCC、Shopify、commercetools 和 BigCommerce 集成
利用数据建立业务弹性
超过 17,000 名客户依赖我们提供卓越的搜索和发现体验。事实上,在 BFCM 2022 期间,Algolia 每秒处理 98,000+个搜索查询!我们相信,数据和人工智能的结合是未来发展的必然趋势。数据给你正确的信号,人工智能帮助你大规模地实施和采取行动。别忘了,这是一个循环。反馈给人工智能模型的洞察力训练它做出相应的反应。作为提供个性化搜索和发现体验的领导者,真正让我们与众不同的是处理“关键词”和“自然人类表情”以产生最大转化率的能力——这是唯一能够“真正”做到这一点的平台。
全频道与多频道
现代顾客体验是一种轻松、个性化和无缝的体验。在数字优先的世界中,零售客户希望他们的浏览、购买和产品发现符合他们的需求,无论他们使用的是哪种销售渠道,也无论他们过去使用过哪种销售渠道。
对许多公司来说,将营销努力集中在简单明了的单一渠道零售战略上的日子已经成为遥远的记忆。让我们来看看全渠道和多渠道营销策略,并找出主要区别,以便您可以决定哪种方法最适合您的企业。
多渠道、全渠道……就客户互动而言,它们听起来是一样的,对吗?
从某种意义上说,它们确实是一样的:它们都利用多种营销和零售渠道,如店内购物、智能手机应用程序、Amazon.com 这样的在线市场、客户支持,以及 社交媒体 (例如脸书)。
然而,相似之处也仅此而已。除此之外,还有一些很大的不同。
多渠道 vs 全渠道有什么区别
所以这两种策略都可以采用多种销售渠道。然后呢?
多通道:许多单独的筒仓
多渠道零售战略使用多个 独立的 销售渠道。这些不同的销售渠道可以很好地引导潜在客户的购物和购买过程,但不幸的是,它们是独立存在和运作的。这意味着顾客可能会觉得与零售商的整体购物体验是笨拙和过时的。
多渠道零售战略如何显得笨拙?
比如说,一个购物者通过点击脸书的广告了解到一个产品,并得到了折扣。后来,他们记住了该商品,并在该公司的电子商务平台上进行网上购物。嗯;如果购物体验被整合,购物者可能会期望脸书折扣不会出现在他们的购物车中。对于新客户来说,这可能是一种令人失望的用户体验。
也许他们会回去看看是否能找到早期的接触点,脸书的广告,但是你可能已经失去了他们的一些热情(也许还有销售)。
另一个多渠道战略失误:顾客过去曾在网上从零售商处购买商品,但当他们下线后,只是走进公司的实体店,拿着不同的商品走到收银台时,销售人员会询问他们的联系信息,就好像他们是该公司的新顾客一样,而不是调出他们的客户资料档案细节。这很烦人,尤其是在一个如此个性化的时代。
多渠道方法通常以产品为中心,所有渠道都使用传统的销售渠道让客户通过公司的电子商务网站购买。重点是达成交易和接纳客户。
全渠道:一次购买多条连接线路
全渠道零售战略要求所有这些渠道都相互连接,它们具有一致的外观和感觉,并且它们中的任何一个或全部都可以一起使用,以获得无缝体验,而不管客户是如何了解产品并最终决定购买的。与线性多渠道零售相反,术语“全渠道”的核心是在客户与你的品牌相联系的特定点上与他们互动,然后无缝地满足他们的需求,因为他们可能会选择不同的设备并在不同的渠道之间跳跃。这不同于期望购物者只遵循一条简单的渠道购买。
举例来说,如果购物者可以浏览产品信息,观看他们在 YouTube 上找到的视频,甚至离开电子商务网站几天来思考他们的购买决定,同时仍然留在你公司的潜在客户生成生态系统中,客户之旅将变得更加强劲。在线销售的重点是与客户的互动和整体客户体验,而不是让人们通过单一渠道快速购买。
全渠道营销战略的一个例子
假设 Shouze 是一家鞋类零售商,它拥有多家实体零售店和一个电子商务网站作为其主要渠道。该公司在 Instagram 上也有一个店面,外加自己的移动购物应用程序。所以它的四个通道包括:
- 实体店
- 电子商务网站
- 手机 app
这些渠道都独立运作良好。然而,品牌视觉效果和信息在这些体验中略有不同步。如果有人需要从一个渠道切换到另一个渠道,比如从他们的移动设备切换到实体店,这可能是一种尴尬的体验。
因此,首泽可以做得更多,以促进强大的客户体验并建立客户忠诚度;它可以整合各种渠道,更有效地为客户服务。通过实施全渠道零售战略,零售商可以向潜在的购物者展示社交媒体广告,在他们浏览 Instagram 购物时提供折扣,然后,当他们下载 Shouze 应用程序时,向他们展示他们之前在网上商店查看的同一款凉鞋,并提供其在线商店商品页面的链接。
这种以顾客为中心的 个性化的 体验让人觉得公司在关注他们,潜移默化地“了解他们”,并通过提供功能来真正努力优化购物体验。
另一个例子:如果有人在该公司的实体店购买了一双 Shouze,全渠道方法将确保购物者在稍后浏览网站或浏览购物应用程序时看到类似的风格。
全渠道方式的好处
全渠道方法反映了这样一个事实,即如今,客户可以通过各种不同的渠道了解产品,典型的客户之旅可能是非线性的且相对复杂。有效参与(和耐心?)与客户沟通,因为他们可能会在多个销售渠道之间移动,这是重中之重。跨渠道的可靠客户体验有助于建立一致的品牌形象。
统计数据支持购物者更喜欢全渠道营销方式的事实。根据 Invesp的说法,“采用全渠道客户参与战略的公司平均能留住 89%的客户,相比之下,全渠道客户参与度较低的公司的客户保留率只有 33%”。在线零售商投资全渠道的另一个原因是:50%的数字购物者表示,他们可以通过各种渠道方便地获取个人资料。
轻松切换到全渠道智能搜索
转向全渠道战略可能会有点令人生畏。你不仅需要确定哪些零售渠道是相关的,你还必须弄清楚如何将每个渠道与其他渠道同步,这样无论你的客户经过哪个渠道,他们都会找到类似的满意体验。
无论您的企业拥有多少渠道,您都可以通过一个集中的搜索引擎将它们整合在一起并进行简化,从而确保为提高转化率而定制的平稳一致的客户体验。 Algolia 通过单一搜索控制台链接多个全渠道营销渠道,您可以访问该控制台,为您的购物者创造始终如一的专业全渠道体验。我们的 定价 随您的需求而定。要了解我们如何帮助您的零售业务成功成为一个蓬勃发展的多渠道企业,请联系 我们的团队 或免费开始 建筑 。
如何建立一个可扩展的 DNS 负载平衡系统
原文:https://www.algolia.com/blog/engineering/one-year-load-balancing/
从 Algolia 开始,我们就决定不在用户和搜索 API 服务器之间放置任何负载平衡基础设施。我们做出这一选择是为了使事情变得简单,消除任何潜在的单点故障,并避免监控和维护这样一个系统的成本。
Algolia 应用程序运行在以下基础设施组件之上:
- 一个由 3 台服务器组成的集群,处理索引和搜索查询,
- 一些DSN服务器(不是 DNS)。这些是只读副本,仅用于搜索查询。它们的主要目的是为地理位置远离主集群的人提供更快的搜索。
我们没有在我们的搜索服务器和用户之间放置硬件或软件,而是选择依靠 DNS 的循环特性来跨服务器分配负载。每个 Algolia 应用程序实例都与一个唯一的 DNS 记录相关联,该记录以循环方式响应处理给定 Algolia 应用程序的裸机服务器之一。
我们认为 Algolia 最常见和最佳的用法是前端实现。在这种情况下,移动设备或笔记本电脑直接与我们的裸机服务器建立通信。在这种情况下,我们可以假设会有大量的 DNS 解析,每个解析都会导致一些搜索请求。这是依靠循环 DNS 进行负载平衡的最佳情况:大量用户请求 DNS 访问 Algolia 服务器,他们执行一些搜索。这导致服务器负载与循环 DNS 解析相匹配。此外,为了执行更多的 DNS 解析,我们将 DNS TTL 减少到一分钟。
最后,这个系统很简单。它没有使用任何专用的硬件或软件来自行管理,一切进展顺利。
也就是说,直到黑色星期五。
基于 DNS 的负载均衡限制
后端实现不均衡负载均衡
如前所述,我们强烈建议我们的客户使用前端搜索实现。许多参数都在推动这一选择;其中之一是利用我们基于 DNS 的负载平衡系统。然而,这并不总是可行的:一些客户有特定的约束,比如遗留设计或安全性问题,这导致他们选择后端实现。这样,他们的后端服务器将所有搜索查询转发给我们的基础设施。
在这个特定的环境中,我们已经知道我们基于 DNS 的负载平衡不是最理想的:
- 现在,一小组服务器执行一些 DNS 解析,并将大量请求转发到所选的后端服务器。1000 个用户每人进行 10 次查询,而现在我们有一个用户进行 10,000 次查询。
- 由于与我们的搜索服务器的会话可以存在更长时间,后端服务器可以发送更多的请求,而无需重新执行 DNS 解析。
- 有时,客户服务器甚至会覆盖我们的 DNS TTL,以便他们可以更长时间地使用他们的 DNS 缓存。
也就是说,我们在设计基础架构时主要关注的是弹性。这意味着,对于大多数客户来说,单个集群节点可以处理所有的搜索负载。因此,跨集群节点的不均匀负载不会对搜索体验产生任何影响。
DSN 为水平缩放
最初,引入 DSN 是为了提高远离主集群执行搜索请求的用户的性能,方法是将只读服务器放在他们附近。然而,我们很快意识到,通过横向扩展服务器以吸收更多的搜索请求,这也是在给定区域带来更多搜索能力的一种简单方法。
黑色星期五事件
我们有一个大客户,其后端实施的负载太大,单个服务器无法处理。除了集群之外,我们已经在同一地区部署了许多 DSN,以吸收来自其后端服务器的搜索负载。
然而,当黑色星期五到来时,他们开始经历越来越多的搜索查询。即使我们努力确定基础设施的规模以吸收负载,他们最终还是会遇到搜索查询缓慢甚至失败的情况。对于最终用户来说,这意味着在一年中你期望电子商务网站高性能的时候,搜索体验会大大降低,延迟也会增加。
负载是不均衡的:我们这边处理请求的可用服务器总数超过了他们那边能够发送请求的服务器数量。我们最终的情况是,在最好的情况下,通过我们基于 DNS 的负载平衡,他们的每个服务器都会选择我们的一个服务器,并坚持使用几分钟,使其超载,并留下一些其他的服务器根本不使用。
这让我们重新考虑我们基于 DNS 的负载平衡方法,至少在这个将繁重的搜索负载与后端实现相结合的特定用例中。
负载平衡器来了
第一次迭代
为了在黑色星期五期间解决这个问题,我们进行了快速修复,并部署了一个基本的负载平衡器。我们利用了 Nginx ,以及它代理请求并将请求负载平衡到一组上游服务器(在我们的例子中,是 Algolia 服务器)的能力。
我们化险为夷,流量负载均衡。这证实了我们在某些情况下需要这样一个系统。然而,在这一点上,它更像是一个变通办法,而不是一个真正的长期解决方案。整个事情主要是静态的,客户特定的参数硬编码在 Nginx 配置中。这种情况引起了许多疑问:
- 如何让这样的系统不依赖于客户?
- 对于给定的传入请求,如何动态地定位正确的搜索 API 服务器组?
- 如何让 it 处理我们的日常基础架构操作,如随着时间的推移更改、添加或删除服务器?
第二次迭代
对于第二次迭代,重点是找到一种使负载平衡器通用的方法。主要的挑战是动态地构建能够为传入请求提供服务的上游服务器列表。要解决这类问题,您可以考虑两种相反的方法:
- 负载平衡器预先知道它们操作所需的所有信息,
- 或者他们在处理传入的请求时了解他们需要知道的东西。
我们选择了第二个解决方案,主要是因为我们必须为每个请求处理的数据总量太大,影响太大,无法保持搜索请求的低延迟。我们实现了一个缓慢学习的工作流程,试图使一切尽可能简单,并避免管理一个复杂和巨大的分布式数据存储系统。
每当负载均衡器收到一个它还不知道的客户的请求时,它会经历一个较慢的过程来获取与该客户相关联的上游服务器的列表。对同一客户的所有后续请求的处理速度都快得多,因为它们直接从本地缓存中获取所需的上游信息。
为此,我们尝试了几种技术解决方案:
- HAProxy 提供了对动态配置的 Lua 支持,但从我们的测试来看,它对我们的用例来说太有限了。
- Envoy 过去(现在仍然)很有前途,但学习曲线非常陡峭,即使我们成功地制作了一个工作概念验证,他们当前的负载平衡算法对我们的长期愿景来说还是有太多限制。
- 我们尝试在 Go 中做一个定制的负载均衡器。PoC 运行良好,但是我们自己很难评估这种解决方案的安全性和性能。维护起来也困难很多。
- 我们最后尝试了 OpenResty ,它基于 Nginx,允许您在请求处理的不同步骤运行定制的 Lua 代码。它有一个相当发达的社区,有一堆可用的模块,无论是官方的还是社区驱动的,文档也很好。
我们决定用 OpenResty。我们将它与 Redis 结合用于缓存部分,因为 OpenResty 提供了一个与 Redis 交互的方便模块:
在这次迭代中,我们设法通过寻找机制从负载均衡器中删除任何静态配置,使负载均衡器更具可伸缩性和易维护性。然而,仍然缺少一些东西来使它经得起生产考验:
- 如何确保它正确透明地处理上游服务器故障?
- 如何确保我们仍能像日常工作一样对基础设施进行变更?
- 如果它不能再访问我们的内部 API 会怎么样?
第三次(和当前)迭代
在第三个也是最新的实现中,我们引入了一些机制来使整个系统更加防故障。
除了 OpenResty 处理负载平衡逻辑和 Redis 缓存动态数据之外,我们还添加了 lb-helper,这是一个定制的 Go 守护进程。
完整的负载平衡器现在如下所示:
lb-helper 守护进程有两个不同的角色:
- 抽象我们的内部 API。 OpenResty 通过本地 lb-helper 了解上游服务器,它定期从我们的内部 API 获取数据。如果负载平衡器无法连接到我们的内部 API,它仍然可以使用潜在的稍微过时的数据进行操作。
- 管理故障。每当上游服务器连续失败超过 10 次,我们就认为它停机,并将其从活动缓存中移除。从那里,lb 助手探测下游,检查它是否回来了。
底线
今天,我们仍然主要依靠基于 DNS 的负载平衡,因为它适合我们 99%的使用案例。也就是说,我们现在也意识到这种方法在某些情况下有一些限制,例如后端实施结合了大量搜索负载的客户。在这种情况下,部署一组负载平衡器会使搜索基础设施的负载更加均衡。
Requests per second distribution over time for a set of servers, first without, then with a load balancer.
此外,这些实验向我们表明,我们构建的不仅仅是一个简单的负载平衡设备。它在我们的搜索基础设施之上引入了一个抽象层,使故障、基础设施变化或扩展对我们的客户几乎完全透明。
由于我们目前正在进行第四次迭代,我们试图引入一种基于延迟的算法来取代当前的循环算法。长期计划是检查我们是否能在我们的搜索基础设施之上带来一个全球范围的抽象层。然而,试图以这种规模走向全球带来了一系列新的限制。那是另一篇博文的主题!
一年的展示和讲述
原文:https://www.algolia.com/blog/algolia/one-year-of-show-tell/
当我加入 Algolia 时,我们 25 岁。我们开了一个全公司的周会,会上每个人都可以畅所欲言,分享他们这一周所做的事情。沟通很顺畅,每个人都知道其他人在做什么。
四年后,我们是 350 人。即使在工程团队中,在团队成员之间共享知识也变得越来越困难。在 Algolia,我们坚信公司发展的最佳方式是相互学习。因此,我们需要能够主动分享知识。这就是为什么一年多前,我们开始了每周一次的知识分享会“Show & Tell”。在 Show & Tell 期间,人们会在舞台上当着同事的面就一个与 Algolia 相关的话题做现场演示。让我们深入了解这项活动的第一年。
为什么
在详细介绍如何展示和讲述之前,让我们看看为什么我们决定创建这个活动。当然,知识共享是我们公司成功的关键,这也是我们想这么做的主要原因。但这不是唯一的一个。阿尔戈利亚的人口呈指数增长。当我们开始做 Show & Tell 的时候,我们有 150 名员工;一年多后的今天,我们已经 350 岁了。这使得认识和认识每个人变得更加困难。在公司面前演讲是让自己出名的绝佳方式!
一个积极的副作用是,人们开始认为你是某个特定主题的专家。这可以让你在公司内分享技能,让人们知道如果他们对某项技术或某个话题有疑问,可以找你。
阿尔戈利亚重视公众演讲技巧;它为任何想要的员工提供为期两天的公开演讲研讨会。Show & Tell 为我们提供了一个将这个研讨会付诸实践的机会,帮助我们在一个安全的环境中磨练公共演讲技能,在这个环境中,我们只在同事面前演讲。
如何
为了提供这个安全的机会来互相了解和练习公开演讲技巧,我们需要确保活动组织得很好。
从一开始,我们就决定采用每周 30 分钟的形式。这段时间足够短,不会影响日常工作,也足够做两到三次演示。我们决定把它安排在“欢乐时光”之前,这是一个不太正式的每周一次的相互认识活动,在这个活动中,我们和同事们一起度过了一段轻松的时光。因为我们跨越 5 个时区,有 10 个小时的时差,所以我们希望它发生在大多数员工的办公时间。因此,我们决定采用格林威治时间下午 4:30,这是旧金山工作日的开始,亚特兰大和纽约工作日的中间,伦敦、巴黎、里昂、南特和布拉格工作日的结束。我们想让每个人都能轻松参加。
我们从小处着手。开始时,有三个报告,每个 10 分钟。发言者被分配了时间,只有几天时间准备。我们很快意识到,当你添加问题和答案时,30 分钟的演示很容易变成 45 分钟。
在这一年中,我们学习并改进了活动的组织。让我们来看看我们的“展示和讲述”活动的实际解剖,S&T 为那些知道。
解剖展示&告诉
S&T 的组织分为四个部分:
1.挑题目
2。准备晚会
3。运行显示
4。展后跟进
挑选话题
在展示任何东西之前,我们需要选择主题。从一开始,我们就决定只选择与 Algolia 相关的主题,比如为 Algolia 做的项目、新功能、新工具,或者在公司外部进行的演示排练。我们现在选择两个主题,而不是三个。唯一的限制是 10 分钟,以便每个发言者有足够的时间回答问题。
我们还鼓励新员工谈论他们的入职项目,我们包括由我们的营销、销售和招聘同事进行的非技术性谈话。
我们现在提前一个月选择主题,给演讲者时间准备。这使我们能够更容易地取代最后一分钟取消,这种情况在 120 多个演示文稿中只出现过两次。
准备晚上
为了进一步防止最后一刻取消,我们会在演讲前两周通知演讲者。一周前,我们会发一份幻灯片模板,上面有一些计划的想法。这并不是强制性的,但它通常有助于演讲者组织他们的演讲。
我们还鼓励演讲者排练,为他们提供时间,让他们可以在展示和讲述团队面前排练。这样他们可以提前得到反馈,提高他们的幻灯片和公开演讲技巧。
我们是大 Slack 用户;在 S&T 会议前几个小时,我们会在#algolia 频道上发送一条提醒,告诉员工当天的日程安排,这样员工就可以决定他们是否要参加。
跑步秀
在实际活动开始前几分钟,我们会准备好演讲的房间。我们还为整个公司进行实时直播,这需要一点准备。我们录制现场直播,以便那些无法参加的人可以稍后观看。
每周我们都有一位主持仪式的主持人来主持 S&T。他们的职责是开始表演,介绍演讲者,结束会议,并介绍下周的演讲者。
展后跟进
活动结束后的第二天,我们将录音和幻灯片放在我们的内部学习平台上,任何人都可以访问之前的演示。我们还会向整个公司发送一封电子邮件,其中包含学习平台的链接以及下周的时间表。
招数&招数
在组织这样一个活动的这一年里,我们从战壕里学到了一些窍门。
最重要的是表扬演讲者,他们每周在全公司面前提出一个主题。没有他们的奉献,这次活动就不会有任何意义。演讲者很少自己站出来提出话题;他们大多认为自己“没什么可分享的”,或者说“不会有意思”。因此,重要的是确定谁能说话,然后主动推动他们,只是一点点,以说服他们说话。这就是为什么有必要从技术领导和经理那里获取信息,因为他们对哪些主题是流行的,以及谁能最好地代表他们的团队有更好的看法。此外,关注公司发生的事情可以帮助我们找到发言人。我们保留了一份发言人的名单,这样我们就可以从从未发言的人那里找到话题。积压一些潜在的演示文稿也有助于填补空缺。
我们很幸运有一个很大的房间来做报告,里面有所有的设备让它工作;然而,我们中的一些人已经在更小的公司组织了这种活动,资源更少。要点是按照你自己的规模来做——你甚至可以利用休息室,以不同的节奏来做,等等。
最后但同样重要的是,征求反馈!我们每六个月做一次,每次我们都能获得有价值的信息来改进。例如,这促使我们将 S&T 提前了 30 分钟,以便更多的人能够参加。
我们今年继续 S&T。目前,我们保持相同的格式,但会进行更多的实验。我们已经做了闪电谈话,这是一个关于一个专门主题的特别会议,有四个较短的陈述(5 分钟)。我们收到了很好的反馈。人们说它更有活力,需要演讲者更少的准备,所以我们将再次这样做!
到目前为止,我们只进行了大约 5%的非技术性会谈;我们将在 2019 年达到至少 10%。
在这一年的展示和讲述中,我们有 70 位演讲者做了 120 场不同的演讲,主题包括“C++中的低级性能”、“如何组织营销活动?”“技术招聘人员的日常工作是什么?”,以及“如何写出更好的 PHP”。我非常自豪地看到我们的演讲者的奉献精神,我同样致力于无限期地庆祝他们!
如何优化你的电子商务网站搜索
原文:https://www.algolia.com/blog/ecommerce/optimize-ecommerce-site-search/
许多企业将网站搜索视为 UX 清单上的一个复选框。但是,随着收购比以往任何时候都难,客户的期望比以往任何时候都高,没有充分利用网站搜索能力的公司正在错失良机。
网站搜索可以成为一种无价的商业工具,能够推动销售、转化和积极的用户体验。然而,这一切都依赖于智能配置您的网站搜索。通过仔细考虑您的电子商务网站搜索策略并遵循某些网站搜索最佳实践,您可以将您的搜索转化为竞争优势。
站点搜索的重要性
网站搜索到底有多大价值?在一些网站上,虽然只有不到 10%的用户进行搜索,但这些搜索者却占了总收入的大约 40%。尽管如此,许多电子商务网站没有投入资源来优化他们的电子商务网站搜索。
这些网站都遗漏了 网站搜索 的重要好处,包括:
- 快速、恰当地将顾客与他们的需求联系起来
- 改进的用户体验
- 跳出率降低
- 更高的转化率
- 让用户更好地了解产品、服务或内容
- 有价值的 分析数据 帮助商家了解客户并优化结果
- 高级销售功能
- 优化使 移动搜索 更容易
- 强大的 A/B 测试,确保结果尽可能相关
此外,网站搜索功能,如推广横幅、推荐商品、过滤器和方面,推动内容和产品的发现。这使得用户可以在你的网站上接触到他们以前不知道的相关产品和内容,创造出无与伦比的体验,让客户不断回来。
如何让你的电子商务网站搜索有效
如果你的网站负担着基本的电子商务网站搜索,你就错过了收入和新客户。这些电子商务网站搜索的最佳实践可以大大提升网站搜索的设计。
1。过滤结果
为用户提供过滤搜索结果的选择以快速找到他们需要的内容或产品非常重要。提供根据品牌、颜色、价格、大小等缩小结果范围的过滤器和方面是实现这一点的有效方法。
自动过滤是另一项功能,可以帮助用户更快地找到他们需要的东西。当用户搜索时,它会根据用户查询中的某些线索自动删除潜在的结果。这允许通过分解和解释他们的查询的语义而不是执行简单的文本匹配来更好地匹配用户的意图。例如,如果用户搜索“红色烤面包机”,系统应该返回与描述最匹配的结果,而不仅仅是描述中带有单词“红色”的产品。
2。使用自动完成功能
智能自动完成,又称 查询建议 ,是一款功能强大的 UI 工具。当用户键入查询时,会出现更流行和/或特定查询的预测下拉列表。这可能有几个积极的影响,包括:
- 减少客户的输入(减少他们中途放弃网站搜索的机会)
- 指导客户微调他们的查询,尤其是更长、更精确的查询,或者他们正在尝试使用术语。这在移动设备上尤其重要,因为用户的注意力持续时间更短。
- 让客户更快获得结果,减少试错。
如果搜索引擎是响应性的和相关的,自动完成可以提供“对话”体验。当用户键入查询时,就好像他们正在与搜索栏进行讨论,帮助搜索引擎确定如何最好地返回结果。为了有效地做到这一点,这些预测应该是 容忍错别字和语法错误 以确保最佳结果。
3。优化面包屑
面包屑可以帮助用户导航找到他们正在寻找的产品,而无需重新搜索。例如,类别的可视化层次结构可以让用户调整搜索的粒度。
4。使用联合搜索界面
一个 联合搜索界面 为访问者提供了一种最直观、最无缝的方式来查看整个网站的产品和内容。可以对联合搜索进行配置,以便将产品、教程、视频、资源页面和博客等各种各样的内容绘制到单个结果页面中。页面上的结果可以被配置为根据重要性和与用户原始查询的相关性来区分优先级。这是一个很好的方法,可以让客户熟悉你的网站的各种产品,而不需要他们去钻研你的网站地图或子域。
5。个性化结果
随着谷歌变得越来越个性化,客户越来越习惯于在网上搜索的个性化结果。虽然谷歌使用过去的搜索历史和位置等信息,但电子商务网站可以根据用户的在线行为对结果进行个性化,并将用户的个人资料纳入排名策略。这使得企业能够利用客户的需求和偏好来提供高度相关和上下文相关的搜索结果。
动态影响顾客所看到的内容,增加了顾客搜索和发现与其最相关的一系列产品的可能性。最终结果?KPI 的增长,如客户购买频率、平均购物车大小、转化率和收入。
6。优化结果
最终,您的电子商务搜索平台应该根据业务和客户的需求进行动态调整。一个 健壮的电子商务网站搜索平台 可以提供多种工具来驱动优化,包括:
网站搜索分析
每次客户与他们的搜索互动时,他们都会为你的网站产生有价值的商业数据。分析网站搜索数据有助于你识别受欢迎的产品,表现不佳的产品,以及用户寻找你不提供的东西的差距。网站搜索数据还显示了返回“无结果”的搜索,这让你有机会用相关产品和内容来填补这一空白(或者将用户引向他们可能喜欢的相关产品)。
电子商务销售工具
网上销售和实体店一样重要。通过优化产品展示和向客户推荐的方式,您可以引导客户完成购买之旅,并优化您的在线销售和/或转化率。
有了一个很棒的网站搜索工具,你可以调整特定产品领域或搜索的排名标准,将客户引向正确的方向。例如,您可以突出显示特定品牌,针对特定查询推广商品组,开展营销活动以促进与供应商的合作关系,优化特定查询(如热门查询)的结果,微调您在每个国家的销售策略,等等。
A/B 测试
当你改进和增强你的网站搜索时,衡量这些变化的影响是至关重要的。 A/B 测试提供了有价值的洞察,让你了解搜索改进实际上如何影响你网站上的客户。测试不同的排名标准或产品植入想法有助于电子商务网站所有者了解哪些搜索是最好的结果,哪些搜索表现不佳,并相应地进行调整。所有这些测试都应该完成,如果最新的策略效果不佳,搜索服务提供商可以在不损害整个网站的情况下完成。
电子商务搜索栏最佳实践
很明显,网站搜索会对客户体验和企业底线产生巨大影响。下一个合乎逻辑的问题是,你如何鼓励更多的用户与搜索互动?
有很多方法可以改善 UX 和站点搜索的整体设计 来带动更多的利用率和转化率:
- 使用不同的颜色 。使用与网站标准配色方案形成对比的颜色来勾勒搜索框,以快速吸引眼球,并将其与页面的其他方面区分开来。
- 尝试不同的字体 。与颜色对比类似,可以在搜索框中使用不同的字体来增加额外的对比。
- 有搜索图标 。使用常见的搜索相关图标,如放大镜,帮助用户快速轻松地识别搜索。
- 让容易找到。通过将搜索框放在页面上方的显著位置,客户更有可能以搜索开始他们的旅程。
- 使用 microcopy 。默认或推荐的搜索词有助于推动客户尝试搜索。现有客户的常见搜索查询很适合这种情况。
- 使搜索即时自动 。搜索结果、过滤器、自动完成和面包屑都应该在用户输入时自动显示,以减少混淆,增加点击搜索结果的可能性。
选择电子商务网站解决方案
为你的电子商务网站选择合适的解决方案 非常重要。当您评估电子商务网站搜索工具时,有两个主要途径可以考虑:自己构建工具或从第三方提供商那里购买。
这两种方法都有一些取舍
自己打造
许多拥有经验丰富的大型工程团队的公司都被构建自己的网站搜索工具的想法所吸引。构建自己的搜索基础设施消除了购买预打包解决方案的成本,并且您可以随心所欲地定制自己的内部工具。这对于具有非标准工作流程、排名标准或商业模式的电子商务网站尤其有吸引力。
然而,当你构建自己的工具时,有一些隐性成本需要考虑。开发人员投入时间和资源从头开始构建该工具仅仅是个开始。对搜索工具有持续的维护和开发需求,并且这些需求随着站点的扩展和发展而增长。
此外,你通常需要一个有丰富搜索经验的开发人员(或团队)来开发一个真正健壮、快速、强大的搜索引擎。一些强大的工程师当然可以在开源搜索引擎的基础上构建一个 MVP 搜索产品,但一个具有复杂功能(即动态过滤、联合搜索、高级商品选项)的高质量搜索工具需要一个专业团队。如果开发团队的关键成员离开了组织,让一个新的开发人员熟悉您的内部工具要比使用提供详细文档和支持的第三方工具花费更多的时间。
最后,建筑会造成瓶颈。如果业务团队需要对搜索工具进行调整以满足业务需求,他们必须依赖并等待工程师,从而导致效率低下。因此,例如,跟单商不能独立地调整和调整他们商店中的产品定位。
购买第三方搜索工具
没有具备搜索经验的大型开发团队的公司,或者希望将他们的开发团队用于其他优先事项的公司,通常会选择第三方搜索解决方案。不同类型的电子商务用例有各种各样的解决方案:小型零售商可能更喜欢即插即用的搜索工具,这些工具可以在几分钟内提供基本功能,而大型零售商可能对具有高级分析功能的可定制、高可用性工具更感兴趣。
刚开始时,成本似乎是第三方解决方案的劣势,因为它们通常需要支付经常性订阅费用。然而,许多解决方案都是现成的,实施只需几周时间。这防止了潜在的停机时间和客户的麻烦。然而,所有第三方解决方案并不相同。大多数现成的解决方案缺乏可定制性,并且在功能集方面受到限制。
搜索即服务解决方案恰到好处地实现了最大的可定制性和快速实施。由第三方托管,所有的开发、维护和创新成本都外包给了搜索提供商。新功能不断开发,不断为电子商务网站所有者提供新的工具和机会,第三方提供商可以随着业务的增长而扩展。
使用第三方解决方案的主要优势是所有行业标准的最佳实践都已经实施并定期更新。公司可以专注于实现他们的核心业务逻辑,而把部署工作留给其他人,而不是投入大量时间研究围绕搜索功能和 UX 的消费者行为。
你在电子商务网站搜索的伙伴
Algolia 与各种规模的电子商务品牌密切合作,帮助改进网站搜索以满足业务目标。关于如何改善电子商务网站搜索体验的更多信息,请下载我们的免费电子书, 框外搜索 。
用人工智能的无头方法优化购物者的旅程
原文:https://www.algolia.com/blog/ai/optimizing-shoppers-journey-with-a-headless-approach-to-ai/
在当今竞争异常激烈的网络世界中取胜的关键在于创造一种体验,这种体验甚至比某人走进商店与你最好的销售人员交谈时的体验还要好。对购物者来说毫不费力,并根据他们的需求个性化的东西。 公司使用许多方法来创造这些个性化的体验,包括让购物者自我声明他们的偏好和人口统计数据,或购买第三方数据。最近,人工智能技术已经被加入进来。然而,创造一种令人愉快的体验并不能通过向问题扔一堆人工智能工具来实现。当配置不当时,人工智能优化,包括个性化会变得令人毛骨悚然。在消费者的在线活动中,在某个品牌的属性之外,或者过于强烈的个性化会阻止这些消费者。63%的受访者表示,他们将停止从那些“令人毛骨悚然”的营销方式走得太远的公司购买产品和服务。人工智能优化应用太强将不会服务于体验,而是减损它,阻止用户发现和享受你所提供的广度。
需要进行会话内优化
你最不想做的事情就是给你的网购者提供一种要么笨重要么过时的体验,比如向他们推销一双他们一周前研究过但最终在另一个网站上买了的运动鞋,或者在他们仅仅出于好奇看了一眼最新款智能手机后,无休止地向他们推销智能手机保护套。
这种次优体验导致购物者点击进入另一家零售商。
这时零售商的网站会记住顾客——或者顾客会让网站记住他们。当购物者屏蔽 cookies,结账前不登录,或者简单地更换设备时,大多数在线购物体验都变得很普通,没有任何关于购物者的背景信息,也不知道他们对什么感兴趣……
随着全球数据隐私法规变得越来越严格,消费者坚持隐私,苹果等大型企业推动保护个人数据和促进隐私权的举措,零售商将失去使用现有方法(即基于历史用户数据)优化和个性化数字体验的能力。
作为零售商,你需要一种新的方式来增强顾客的体验。你需要根据购物者在数字店面上的第一次行动来预测他们的意图,并根据这种意图几乎实时地优化体验。
人工智能和人工智能可以帮助零售商实现这种新方式,通过分析购物者的行为,实时将这些用户分配到一个细分市场,并相应地优化体验。
对于 AI:一刀切
实现这一愿景需要利用多种 ML 模型的力量:一个基于用户访问的类别对用户进行细分,一个基于用户输入的搜索查询,一个基于用户查看的产品页面,然后一个协调一切,一个相应地优化搜索结果,一个相应地在每个访问的产品页面上提供正确的推荐,等等。
这只是一个频道中的一次体验。消费者在手机上的行为会有所不同,需要不同的模型。那么语音助手、店内信息亭,甚至商店员工的客户化应用程序,也将受益于实时人工智能优化呢?
不同渠道的所有这些不同体验,代表了购物旅程中的各个步骤,每个步骤都需要特定的机器学习模型来实现令人满意的结果。
不幸的是,对于大多数零售商来说,根据购物者的意图创造这些全面的体验是不可能的。
一方面,有打包的、现成的人工智能方法来解决购物者旅程中的一个特定步骤。但是,这些方法很少甚至没有定制或微调的空间,并且很难与旅程的其他部分联系起来。它阻止零售商从旅程的一部分到另一部分利用其人工智能和人工智能模型的结果。
另一方面,对于大多数零售公司来说,从零开始创建和优化所有这些人工智能/人工智能模型是遥不可及的。它需要组建数据科学家和机器学习工程师的完美团队,并为每一个模型重复开发工作。
将无头商务应用于 AI
在这两个极端之间,还有另一条路。就像单片电子商务技术栈已经被解构为订单管理、支付、营销、电子邮件等的最佳构建模块一样,人工智能可以被解构为最佳模型,以增强购物者旅程的特定部分。
Algolia AI Studio 给 AI 带来了无头商务给电子商务技术带来的东西。一套涵盖购物者旅程每一步的人工智能积木。这些模型被打包成 API,开发者可以很容易地在任何网站或应用程序中实现。它将人工智能在整个用户旅程中的部署简化为三个主要步骤:为正确的用例选择正确的人工智能模型,连接数据源以支持该模型,以及连接人工智能模型输出将被激活的体验。
Algolia AI Studio 有三个主要型号系列:
基于意图的搜索和导航
它识别用户的购物意图,并向他们展示合适的产品,无论他们是搜索还是浏览你的数字店面,甚至是与你的语音助手应用程序进行交互。
Intrend,最具影响力的意大利工厂直销店之一,使用基于意图的搜索和导航,将他们的平均订单价值提高了 20%。
基于意图的推荐 它根据购物者的意图和上下文预测正确的产品,以主动向其展示,如产品页面或结账页面。
开发了高级内容策略(例如购买指南)的零售商可以在他们的 社论 内容页面上拉一个推荐 API,以展示与该购买指南相关的产品,以及阅读该指南的购物者在当前会话中采取的行动。
基于意图的用户细分
它根据购物者的预期意图对其进行分类,然后触发一系列预定义/精心安排的(复杂)场景,推动购物者在购物旅程中前进。这可能包括购买的可能性、放弃购物车的预测以及其他用户旅程属性。
东欧领先的家居和家具零售商 Mobexpert 已经利用基于意图的用户细分来识别具有中等购买概率的购物者,并向这些购物者提供折扣和免费送货,以激励他们购买。他们的转换率翻了一番,平均订单价值增加了 45%
战胜新冠肺炎
在这种时候,看到人们互相帮助是令人惊讶的。从北美到欧洲,再到亚洲,世界每天都越来越紧密地联系在一起。在 Algolia,我们的现有客户和开发人员小组通过将人们与急需的信息、产品和服务联系起来,让世界变得更美好,这让我们感到震惊。我们很自豪能成为其中的一份子。
在下面的例子中,你会看到支持当地和全球社区的项目,从帮助小企业筹集资金,到提供有价值的医疗信息,再到提供免费的在线课程。
在几周前发布了 Algolia 的 Pro 计划对任何在新冠肺炎相关的非营利性网站或应用程序上工作的开发人员或团队都是免费的 之后,我们对那些几乎一夜之间就建立并上线了他们有价值的网站的个人和团队表示感谢、感动…并留下了深刻的印象。其中一些项目包括以下内容:
| 网站 | 目标 | 地区 |
| CovidVolunteers.org | CovidVolunteers.org 帮助当地志愿者联系那些需要帮助的人,努力让被隔离者呆在家里。患病和有风险的用户可以搜索附近愿意帮助执行日常任务的志愿者,否则他们将被迫离开自己的家园并暴露他人。 | 美国 |
| 反新冠肺炎 | Anticovid 是关于 COVID19 临床试验的最新信息的单一来源,专注于联合临床研究的努力,以快速找到治疗方法和疫苗。 | 全球 |
| 还在招人 | 仍然招聘的目标是展示正在招聘的公司的实时数据,以确保候选人有信心他们正在申请的工作在这个动荡的时期仍然被聘用。 | 全球 |
| 我们还在开 | 我们仍在营业是一项非营利性倡议,旨在通过将外卖或送货选项直接与消费者联系起来,支持在新冠肺炎危机中挣扎求生的当地优质食品企业。 | 欧盟&英国 |
| 养小壮 | “保持小企业强大”是一项集体努力,目的是在新冠肺炎危机期间帮助挽救尽可能多的美国小企业。该倡议允许任何小企业主申请援助,以及一个连接小企业与当地社区的市场。 | 美国 |
| T5【主街】T6 | Mainstreet 展示了蒙特利尔仍在营业的企业,提供基本服务或允许人们在线订购。法文版也可在www . rue principal . app获取。 | 加拿大 |
| 事情公开了 | “开放的事物”是一个在线网站和实时资源,允许社区中的所有企业让人们知道他们在疫情期间如何以及是否继续营业,以及他们正在采取什么措施来保持安全。 | 加拿大 |
| Covid 支持 | 在一个简单和用户友好的网站上为加拿大人从不同来源(政府或私人机构)分类所有金融资源信息。 | 加拿大 |
| 司腾泽 | Support Them(即 Steun Ze)是佛兰德人的在线资源,他们希望帮助自己的社区,并找到不同的方式来帮助个人、组织和公司。 | 比利时 |
| Kawalcovid19 | 该网站通过告知公众疾病的性质、传播方式、预防措施、其他国家的学习要点以及与新冠肺炎相关的实用指南,教育公众为新冠肺炎最终抵达印度尼西亚做好准备。 | 印度尼西亚 |
| 印度 COVID19】 | COVID19 India 将印度各地有关新冠肺炎的所有信息整合到一个网站中,以便人们更容易找到和参考重要的内容和统计数据,以及帮助热线号码和按位置开放的餐馆和商店。 | 印度 |
“我们创建 Steun Ze 是为了给人们提供一个更好的方法,让他们在危机中寻找如何帮助他人。”–Dries Vints,软件工程师和 Steun Ze 的创造者
“除了我们组建的团队之外,我们认为改变剧本的最快方法是让尽可能多的人意识到他们为什么以及如何支持当地的小企业。我们不能让他们失败。”——亚当·格罗思 养小强
许多其他项目仍在进行中,很快就会上线,所以请在这里查看最新的网站,并帮助传播消息,尤其是如果它们能在您自己的社区中有所帮助的话。
此外,Algolia 正在向参与与 #BuildforCOVID19 黑客马拉松 相关的项目的开发人员提供该计划,该计划“为开发人员提供了一个构建软件解决方案以推动社会影响的机会,目的是应对与当前冠状病毒(新冠肺炎)疫情相关的一些挑战。”
下面是我们越来越多的 Algolia 顾客也在采取行动。
| 客户 | 描述 |
| BD.com | BD 是一家全球医疗技术公司,提供有价值的、可搜索的新冠肺炎相关医疗保健和医疗信息、资源,以及与医疗发现、诊断和护理交付相关的通知。 |
| Coursera | Coursera 的冠状病毒应对计划正在向任何受影响的大学或学院免费提供 Coursera for Campus,以帮助最大限度地减少冠状病毒爆发对学生的影响。 |
| 迪卡侬 | 迪卡侬 提供 其 Easybreath 通气管面罩以及对该面罩的“技术协助探索变更”,作为潜在的呼吸器来帮助医疗专业人员和患者。 |
| | Domestika 正在为儿童和成人提供一系列免费的在线课程,以提高他们的创作技能,包括绘画、冲压技术、数码摄影、刺绣和建立在线商店。 |
| GoFundMe | GoFundMe 发起了小企业救助计划,通过提供筹资工具、资源和赠款,在疫情期间为企业提供财政援助。这一举措有助于小企业增强其社区的支持力度,同时为有需要的企业提供快速简便的融资方式。 |
| 欧舒丹 | 欧舒丹集团已经向法国、英国、中国和韩国的医护人员分发了保湿手部护理产品,现在还承诺向法国的医院和消防员免费提供水醇手部凝胶。 |
| LVMH/迪奥 | LVMH 的化妆品和香水部门正在利用其香水工厂生产水醇凝胶,并将这些有价值的用品免费分发给医院。 |
| RxSaver | rx saver by retail menot是一项处方储蓄计划,在所有主要药房提供免费的药物优惠券。除了提供的 6000 多张优惠券,RxSaver 还编制了一份新冠肺炎资源目录,包括在没有保险的情况下节省处方费用的方法,以及如果你最近失业,可以找到低成本的医疗保健。 |
| 抽动 | Twitch 在 3 月 28 日举办了一场募捐活动,以支持与新冠肺炎相关的事业。为了支持筹款活动期间的流量高峰,Algolia 还免费提供了 3 台 DNS 服务器。 |
如果你想和 Algolians 人讨论你的项目,或者如果你需要一个虚拟的咖啡休息时间,加入我们论坛上的社区线程。
对每个人来说,这都是一个艰难的时刻,我们向你们所有人致以最美好的祝愿,尤其是那些在身体、情感和经济上受到疫情影响的人。我们也赞扬那些在这段时间以大大小小的方式提供帮助的人——我们都在一起。
这段时间请坚强,注意安全。
阿尔戈利亚团队
要了解更多关于 Algolia 和其他公司在此期间如何提供帮助,请访问我们的新冠肺炎资源页面。
注: 如果你对 — 感兴趣,或者如果你知道有人正在开发与新冠肺炎相关的非营利性网站或应用程序,并且可能会从 的 Algolia 计划 中受益,请发邮件至【support@algolia.com并在标题中注明“新冠肺炎请求”。
结对编程:角色、挑战、指导原则和工具
你盯着你的代码想,“这里没有任何问题。”但是有:应用程序不工作。你知道虫子正盯着你的脸。你终于转向你的同事并开始解释问题,突然,在中间阶段,你想到了——问题和解决方案。
看起来,你真正要做的就是……开始说话??
如果你曾经有过软件开发的经验(我有过,很多次),你就会知道大声说出来在解决问题的时候是很重要的。或者与其他程序员大声交谈,或者如果独自远程工作,与一只橡皮鸭交谈(创造了橡皮鸭调试方法)。盯着代码也很重要,但不要太久。
所以,你的同事说,给你自己买一只橡皮鸭吧——真的。或者更好的是,上线,一起开始结对编程。
结对编程有历史
在对 结对编程 的透彻分析中,作者 Birgitta Bö ckeler 和 Nina Siessegger 描述了如何:
结对编程迫使我们讨论方法和解决方案,而不是仅仅在我们自己的头脑中思考它们。大声说出和解释事情促使我们反思我们是否真的有正确的理解,或者我们是否真的有好的解决方案。
他们引用了 20 世纪 50 年代 ENIAC 计算机的原始程序员之一 Jean Bartik 的话,他说:
贝蒂·斯奈德和我,从一开始,就是一对。而且我相信最好的程序和设计都是两人一组完成的,因为你们可以互相批评,并且发现对方的错误,使用最好的创意。
所以我们当时就知道,现在也知道:让两个或更多的软件开发人员在一个屏幕前一起解决一个问题,就能创造出优秀的软件。
虽然不一定是极限编程或敏捷软件开发,但结对编程可以用来允许团队成员构建和设计软件,并学会相互信任。
结对编程的驾驶员/导航员模式(“你开车,我导航”)
结对编程包括两个程序员共享一台计算机和一个键盘。这可以通过屏幕共享或为结对程序员建立的工具在线完成(见下文)。
结对编程中的经典比喻是驱动程序和导航器。司机在开车,导航员在看地图;驱动程序类型,导航器描述问题和解决方案。
1。结对编程的过程和好处
他们俩工作同样努力。例如:
- 当司机写代码和思考时,导航员说话、分析、测试——同时一直看着司机的肩膀。
- 驱动程序的角色是构建代码,决定变量名,编写循环、函数和条件,实现导航器所说的一切。
- 导航员的角色是形成大图解决方案,框定结果,设置约束,做一些代码评审。
- 驱动程序编写干净的代码。导航器简化了问题。
- 驱动程序和导航程序都设计架构,决定数据库、技术和应用程序的整体外观。
- 驾驶员和导航员都对最终结果负责,满足原始规范的要求。
- 司机和导航员到达目的地后一起庆祝。
2。挑战和陷阱
冲突时刻是我们配对的核心。例如:
- 描述一个“解决方案”和编写一个“算法”有什么区别?例如,导航员说以实时速度在屏幕中间放一个红圈。要做到这一点,导航员说要编写一个异步程序。司机不同意,没有必要冒险和复杂的异步算法。有更好的解决办法。那么,谁赢了?
- 导航员不喜欢代码怎么办?
- 当驾驶员不喜欢导航员的想法或分析时会发生什么?
解决这些冲突总是有两种选择:要么两人继续各自的角色(并且信任对方,要么他们脱离各自的角色谦恭地讨论选择。
这就是重点:结对编程是关于沟通和团队合作的,两个专家耐心地教对方做得更好。
这也是为什么交换角色是好的,让导航员掌握方向盘,并遵循司机现在变成导航员的指导。
3。指导或分享专业知识
结对编程中通常有两种结对情况:
- 资深开发人员
- 资深与初级开发人员
通常,后一种情况可以更好地利用导师-学员的情况,在这种情况下,导航员不仅可以建立大图,还可以接管打字工作,以便为经验较少的开发人员建模、教授和分享知识。我们都可以成为更好的司机,但这种高年级与低年级的配对使导师-学员的情况更加清晰。
当两个老年人被组合在一起时,当他们开始他们的旅程时,可能需要进一步讨论和定义每个角色的责任。
从价值观开始
我们发现结对编程是可行的。在许多层面上:软件工程和更软的方面,如团队合作和建立个人价值观。
在所有情况下,都有价值观在起作用:信任、坦诚、关心、勇气和谦逊。本质上,开放的交流占主导地位。
- 坦诚
- 谦逊
- 学会接受反馈
- 被阻止时提问
- 不要害怕犯错
- 信任
- 相信你的伴侣
- 认识并接受他人以不同的方式解决问题
- 砂砾
- 互相挑战
- 互相激励
- 关心
- 培养团队精神
- 制造伟大的产品
用于远程成对编程的工具(软件)
在结束之前,值得一提的是,所有这些都可以远程完成。带有 Zoom、Teams、Skype 和其他类似远程工具的视频会议支持屏幕共享,甚至远程桌面控制功能。
然而,为了获得更强大的配对功能,您可能希望使用为远程配对编程而构建的工具之一,如下所列。
以下是一些远程结对编程工具建议,可帮助您实现这一目标:
通过 Algolia 的个性化增加相关性
原文:https://www.algolia.com/blog/product/personalization-announcement/
由“一刀切”演变而来
从历史上看,网络一直是商业广告和销售的集中模式——许多人访问内容的在线目的地。访问你最喜欢的任何网站,你会看到相同的内容,而另一个用户则清楚地看到整个州或国家。这种标准化确保了一致的体验,无论用户是为了查看体育比分还是股票市场的最新表现。
随着网络的发展,用户体验也在发展,因为这种“一刀切”的方法不再是最佳策略。从脸书的 News Feed 到 YouTube &网飞根据你之前的观看历史推荐接下来要看的视频,同质化的内容策略开始改变。其他企业也开始在如何将用户与他们想要的产品体验相匹配方面取得进步,从而带来更好的体验。
一种更个人化的方法
在 Algolia,我们已经 专注于个性化 有一段时间了,不断思考如何为我们的客户带来定制化的搜索机会。今天,我们很兴奋地发布了一个全新版本的 个性化 ,它允许客户使用一系列关于用户行为的输入来影响这个人将要看到的内容。更具体地说,我们现在允许企业采取广泛的个人在线行为&偏好,并相应地优化搜索排名策略,以显示更相关的结果。这是通过使用关于用户在线行为的输入列表来影响此人将看到的内容来实现的。 虽然有许多不同类型的通用数字个性化工具(用于动态网站内容、电子邮件布局等。)我们的 Algolia 解决方案特别关注搜索和发现。
如何个性化
那么如何,更重要的是什么可以个性化?最突出的两种类型是个性化搜索和个性化列表。个性化搜索适用于在执行搜索后更改搜索结果以匹配用户的简档。相比之下,个性化列表显示的是与用户资料匹配的对象列表,但不在搜索范围内(想想网飞在输入用户帐户时提供的“推荐给你的”选项)。虽然有许多潜在的输入要跟踪,但我们从以下初始事件开始,作为个性化某人体验的潜在输入:
- 视图 :如果用户已经看到一个产品页面,或者一个登陆页面
- 点击 :用户点击了什么
- 转换 :当用户向购物车添加商品、购买商品、观看视频、阅读文章等。
另外值得一提的是,有两大类个性化策略,它们可能会也可能不会结合在一起:强化发现。强化指的是将你直接接触过的商品单独(例如,你收藏了一个产品)或作为一个群体(你访问了一个包含多个产品的登陆页面)进行推送,以提高你看到的结果的准确性。
相比之下,发现集中于突出显示与用户已经直接交互的项目 相关的项目 。这对搭配在一起的物品特别有用(需要一个盒子来赞美你刚买的新手机吗?)并专注于发现您可能从未见过的有趣项目。所有这些细节都是为了让我们的用户更好地控制排名将如何受到影响,使用数学方法让企业相应地进行优先排序。虽然有许多其他变量需要跟踪,但我们会在产品的未来版本和迭代中潜在地添加更多变量。
我们新的个性化版本的主要优势之一是配置简单、快速启动和运行。大多数个性化策略需要大量的工作和开发资源来设置,一旦投入使用,获得对您的相关性策略的可见性和洞察力就变得更加繁重。使用 Algolia,您需要做的只是设置您的事件权重(每个事件的相对重要性)并开始向我们发送事件,剩下的工作由我们来完成。最重要的是,一旦你上线了,你就可以通过我们的仪表盘即时迭代你的公式并根据你的需要进行微调。
我们的发射伙伴
帮助我们推出个性化服务的是一组精选的测试版用户,他们通过测试提供了重要的反馈。我们的一个测试用户是 Videdressing,他已经看到了快速建立和运行个性化体验的价值,正如产品经理 大卫·皮里 所说:“Algolia 个性化的一个伟大之处是设置和运行 是多么容易——没有大量的开发工作,只需使用您已经收集的数据。” 个性化解决了“一刀切”的问题,通过展示用户更可能感兴趣的内容和对象来增加相关性。
想了解更多?点击 此处 了解更多详情。
个性化销售:解决电子商务中的上下文问题
原文:https://www.algolia.com/blog/ecommerce/personalized-merchandising-e-commerce/
个性化销售如何为产品和用户提供合适的环境
告诉你“个性化销售”包括销售个性化产品,听起来是显而易见的。背景很重要。没有它,像这样的定义对你没什么好处。
但如果我告诉你,电子商务零售商面临的最大挑战之一是通过为他们的产品和顾客提供背景来进行营销,那会怎么样?
能够在你的电子商务店面上销售商品应该是理所当然的。但是,当您考虑实体店和数字全渠道生态系统之间的差异时,需要克服物理和战略两方面的挑战。
使用网站搜索和个性化销售,您可以在满足用户意图的同时考虑您的业务需求,从而解决上下文问题。这一切是如何运作的?
现实生活中商品销售的优势
销售是零售商为其产品添加内容的一种方式。即使环境(例如季节性、受欢迎程度或战略 KPI)不断变化,目标仍然不变:通过突出符合您环境的产品,您可以加速用户进入购物车,扩大平均购物篮大小,并提高整体转化率。
无论是实体渠道还是数字渠道,销售都应该是零售商促销策略的重要组成部分,但事实并非如此。即使目标相同,方法却大相径庭。
考虑一下传统的砖瓦店。这些商店的物理事实具有在线店面永远无法复制的真实性。
实体店受限于他们对商品的创造力。零售商知道,购物者的 刺激阈值 可以被动摇,从而引发购买。通过有目的的营销,你可以充分利用产品的曝光度来提升知名度、客流量,当然还有销售额。这样做的一些方法包括:
- 橱窗和店内展示
- 控制楼层布局
- 五彩缤纷的装饰
- 促销产品位置
- 将相关产品分组在一起
- 柜台追加销售
经营实体店的零售商可能会想当然地做出决定和采取行动,比如,将一件季节性冬季夹克放在商店最前面进行促销。这种灵活性和移动的自由是数字战线所不具备的。
数字化销售是另一回事
对于电子商务来说,相比之下, 感官被滚动条和点击取代。突然间,导航变成了数字商店的一个挑战。一个典型的用户界面会有一个菜单栏,可能在边上还有一些面,依靠用户一页一页地点击来找到他们要找的东西。使用这样一个基本导航系统并不容易。
将搜索整合到你的全渠道架构中有助于导航。 用户更喜欢通过内部搜索引擎进行操作 — 59%的用户经常使用搜索来导航,15%的用户更愿意使用搜索而不是菜单。因此,使用搜索栏显示平均转化率上升,从 1.7%增加到 2.4%。
尽管如此,购物者需要解读在线界面来找到他们想要的东西,这就限制了商家如何进行数字化销售。使用搜索减轻了导航的一些障碍,但实际的销售,实际的产品聚焦,仍然是一个挑战。
电子商务人士的商品选择仅限于在主页或用户界面上进行推广。例如,你可以在主页上展示一个针对季节性冬季销售的图形广告。你甚至可以展示几个循环播放的广告,每个广告都不同,并经过优化性能测试。
然而,这种一般的销售方法能有多好呢?你看,营销并不是一个放之四海而皆准的策略。每一个用户、每一个细分市场都是独一无二的,把营销网撒得那么宽,必然会导致机会从缝隙中溜走。
电子商务零售商如何捕捉购物者的独特偏好,同时将他们的背景与正在搜索的产品联系起来?
个性化如何帮助?
在销售体验中加入一点个性化元素可能是答案。
个性化反映了用户自己独特的背景。事实证明,特异性对用户来说非常重要。53%的网购者认为 个性化的购物体验是有价值的 。同样,当个性化和专有客户数据被整合后, 收入增加 6%至 10% 。
当购物体验个性化时,用户在任何接触点的行为都会实时告知结果,从而显示每个细分市场的策划内容。
这实际上只是一种奇特的说法,即个性化让你用与用户相关的内容来回应用户的意图,这是 Algolia 已经关注 一段时间了。
在搜索的背景下,你也可以说个性化是一种“超相关性”如果用户搜索“毛衣”,但看到的结果是“袜子”,购物体验可能不会很个性化。
个性化搜索根据购物者的偏好定制他们看到的结果,并在你的全渠道平台上预览行为。结果集在接近意图方面的准确程度会影响用户满意度— 74%的消费者 在看到不相关的结果时会感到沮丧。
有了网站搜索架构,你可以保持你的相关性,进而保持你的个性化。网站搜索捕捉的意图与其说是一张大网,不如说是一个精确的箭头。衡量几个标准,如拼写和过滤器,产品排名,让用户直接看到最相关的结果。
在这些标准中,业务指标,例如利润和销售量,也可以在排名过程中考虑。正是在这里,搜索和个性化销售变得活跃起来。
提供个性化商品销售环境
个性化营销通过直接和单独与用户沟通,但最重要的是通过协作,来解决电子商务问题。
到目前为止,我们知道电子商务带来的物理限制使销售变得非常困难。不断发展的搜索不仅软化了导航问题——它让零售商能够调整搜索相关性,个性化购物体验。
这就是有趣的地方。
当使用网站搜索的购物者沿着他们的购物之旅前进并仔细阅读你的数码商店时,由于他们将会看到相关的结果,这种体验将会变得近乎个人化。
但这还不是全部。
使用个性化营销,双方的声音响亮而清晰——不仅你的用户意图被听到,你的商业目标也被听到。
每个购物者都是独一无二的,他们的意图可以代表无限的声音。一个好的网站搜索引擎提供文本相关性,确保即使是最接近的查询也能匹配用户的意图。无论是什么样的查询,你都可以返回与每个变化、每个细分市场的销售目标相关的内容。
这就是个性化营销的美妙之处——它将用户和企业的背景结合起来,共同强调它们。编织到结果中的是与用户的搜索意图以及你的业务指标相匹配的产品。
对于在 Lacoste 的人们来说,他们很清楚一个网站搜索解决方案对他们的全渠道环境的影响。
快速浏览一下他们的主页就会发现,除了聪明的商品选择,他们还在页面顶部增加了一个显著的搜索栏。
虽然我们不知道 Lacoste 团队选择强调什么样的业务指标,但很明显,他们是故意突出一些产品。
在搜索“网球”时,购物者看到的第一个结果是正在促销的高级系列,尽管描述中没有系列搜索词本身。
搜索“皮革”,Lacoste 与合作伙伴合作的产品会出现在搜索结果的顶部。
在将网站搜索整合到他们的在线和移动平台后, Lacoste 的搜索使用量增加了 210%。因此,转换率增加了 37%,销售贡献增加了 150%。
如果您正在寻求通过个性化商品销售来转变您的电子商务业务,并为您的购物者和您的产品提供合适的环境, 请与我们的搜索专家之一交谈。
Pest,一个简单而优雅的 PHP 测试框架,它扩展了 PHPUnit Blog
构建第三方 API 时,在你见过或能预见的每一个运行时场景中测试你的代码是很重要的。为此,一个健壮且易于使用的&维护测试框架是必须的。作为 PHP 开发人员,我们严重依赖于 PHPUnit ,但是我们切换到了害虫测试框架,这简化并减少了我们庞大的测试代码库。
鉴于我们执行的测试数量,并试图覆盖我们代码库中的每个功能,我们需要简化测试代码,使其更易于维护、理解和调试。我们还想确保我们的测试框架需要很少的努力就能集成到 Laravel 中。
在本文中,我们来看看 Pest ,这是一个健壮的测试框架,构建在 PHP 的标准测试库 PHPUnit 之上。
用 PHP 链接减少 PHPUnit 的测试代码库
部分受 Ruby Rspec 中单行代码“it”语法的启发,Pest 自己的语法相当简单。Pest 去掉了 PHPUnit 中需要的命名空间和库引用,不需要 扩展 上百个函数。它只需要你指定测试函数——使维护和调试变得容易得多:
it('is an example, function () {
assertTrue(true);
});
尽管如此,3 行代码乘以 100 次测试可能还是太多了。Pest 允许你 连锁 的功能。结果是一个 liner:
it('is an example', function ()->assertTrue(true);
因此,Pest 将 PHPUnit 下面的 8 行代码缩减为上面的 1 行代码:
namespace Tests\Unit;
use PHPUnit\Framework\TestCase;
class ExampleTest extends TestCase
{
/** @test */
public function testBasicTest()
{
$this->assertTrue(true);
}
// ...
}
提高输出
PHPUnit 为 PHP 用户提供了以非常简洁的方式可视化测试结果的能力:
虽然简洁通常是好的,但我们觉得我们需要更多。Pest 为我们提供了每次测试的更多信息:
对于错误,Pest 允许您直接访问失败的代码行:
最后,如果您想显示已经测试和执行的源代码行数,您可以从coverage
选项中获得更多信息:
添加数据集的可扩展性
与大多数测试一样,数据的质量是关键。除了使用真实和相关的模拟内容,测试质量数据还需要:
- 对数据的大小变化进行多重测试
- 无需任何重新编码即可添加新用例的能力
使用 Pest 的“数据集”,您可以创建一个测试,该测试采用一个 内联 数据数组。例如,您可以测试多封电子邮件,每封代表一个不同的用例(可能是连接性):
it('has emails', function ($email) {
expect($email)->not->toBeEmpty();
})->with([
'someone@jmail.com',
'other@example.com'
]);
你也可以使用多维数组:
it('has emails', function ($name, $email) {
expect($email)->not->toBeEmpty();
})->with([
['Someone', 'someone@jmail.com'],
['Other', 'other@example.com']
]);
内联就是这么做的。您还可以将数据移出测试以获得更大的灵活性,为此,您将需要以下文件夹结构:
—Tests
—---testemails.php
—Datasets
—---emails.php
测试函数放在文件夹Tests
中,数据集定义在Datasets
文件夹中的单个文件中。下面是数据集文件emails.php
的内容示例,它替换了上面的内联电子邮件引用:
dataset('emails', function () {
Return (['other@example.com', 'enunomaduro@gmail.com'];
]);
因此测试函数现在可以重用emails.php
进行测试:
it('has emails', function ($email) {
expect($email)->not->toBeEmpty();
assertTrue(true);
})->with('emails');
还有更多
还有许多额外的特性和选项,以及许多断言、期望和异常。不要忘记,Pest 是 PHPUnit 的扩展,所以您可以在测试之前和之后执行操作,就像 PHPUnit 中的setup
。
这里是最后一个例子。您可以skip
测试:
it('has home', function () {
// ..
})->skip();
skip
函数向您展示了 Pest 是如何看待测试人员的,并简化了重要的事情。我建议你不要“跳过”Pest——它真的是 PHP 生态系统的一大亮点。
了解更多 害虫 ,由Nuno Madurofrom@ laravel。
图片搜索是如何工作的?
原文:https://www.algolia.com/blog/product/picture-search-how-does-an-image-finder-search-engine-work/
“一幅画胜过千言万语。”现在我们有了现代图片搜索技术,这句古老的格言仍然适用吗?
所有适应症都是 和肯定。 据 福布斯 举例来说,“91%的消费者更喜欢互动和视觉内容,而不是传统的、基于文本的或静态的媒体。”
在网络上,就像在任何地方一样,一维文本永远无法与壮丽的风景照片或欢闹的宠物快照相提并论。从自然到热门产品,人们都在叫嚣着要漂亮的照片,他们对数字图像和图像搜索技术的依赖也在不断增长。携带移动设备的年轻人(比如千禧一代,尤其是 Z 世代)已经变得过于沉迷于在几秒钟内找到酷或相关图片的快乐。 所有这些导致了电子商务游戏规则的改变,视觉购物。
那些尚未了解图片搜索技术进步的人仍然可以在 Mac 或 PC 上的网络浏览器中输入一个单词或短语进行搜索。但不管什么操作系统,结果都是一样的:你可以调出成百上千各种格式(例如,JPG、GIF、PNG)和不同大小的图片,通过图像检索子类别可以深入了解每一种变化。你甚至可以点击相机图标,找出一个图像的网址起源于网络。
【J-Lo 绿色连衣裙】
这可能很难相信,但仅仅在几十年前,今天如此根深蒂固的图像搜索概念在谷歌眼中不过是一个亮点。
2001 年,一群饥肠辘辘的詹妮弗·洛佩兹粉丝在谷歌的搜索框中输入文字查询,希望能看到这位歌手在 2000 年格莱美颁奖典礼上穿过的一件独特的绿色礼服。谷歌高管注意到了这种狂热,(绿色)灯亮了。他们意识到他们必须立即推出一款以图像为中心的基于文本的搜索工具。
剩下的就成为历史了:现在,搜索穿着丛林服装的明星照片或其他任何东西的人可以奢侈地使用图像搜索引擎在数据库中搜寻合适的照片。搜索引擎的选择范围很广,从也提供图片搜索的大牌文本搜索引擎,到“反向搜索”(我们稍后会谈到)的图片搜索引擎,再到图片搜索和面向图片的应用程序。
因为多年来人们一直在成群结队地上传图片到网上(每天有 3 亿张照片上传到网上),可供选择的照片并不缺乏(确切地说是数十亿张)。一些照片库不断更新新内容,而另一些则是可供搜索的“完整”图像集,但无论如何,找到完美图像的几率都是惊人的。
什么是图片搜索引擎?
让我们从基础开始:视觉搜索引擎可以让你专门在网上寻找并下载图像,用于各种目的,比如为博客文章添加插图,活跃主页,在过于冗长的报告中传达一个想法,或者定位你想购买的时尚或家居装饰物品。
人们可以通过各种方式搜索图片:
- 输入描述他们想要的图像的关键字或短语
- 选择菜单上的图像主题
- 在搜索框中粘贴 JPEG 或其他类型的图像文件作为查询(查找相似图像)
Unsplash is one site that lets you drag and drop images into the search field
什么是图像?
图像可能看起来很复杂,但它们实际上只是被照亮或未被照亮的像素的集合。如果你曾经近距离观察过电视,你会看到类似这样的图案,这是原色像素红色、绿色和蓝色(RGB)的照明:
To create an image, millions of pixels are assembled in a grid, and
based on which ones are lit up, you see something different
一个图片搜索引擎是如何工作的?
简而言之:图片搜索引擎的工作方式与文本搜索引擎相同,都是为了给你提供最相关的结果:它根据关键词或图片调出一堆图片。当通过文本搜索时,图像搜索考虑模式,然后根据匹配将您指向网站。
与图像相关联的文本,例如其文件名,也可以在图像搜索和发现过程中发挥作用。搜索引擎确认图像与关键字相关,这包括检查图像出现的网页上的数据。
在许多情况下,你可以根据文件名和你想要的上下文找到一个图像。根据您搜索查询的广度,图像搜索引擎还可能提供一组具有匹配内容的图像,然后您可以识别特定的上下文,以便深入查看并找到您需要的完全正确的照片、图画、绘画或其他类型的图像。
从漂亮的图片到数学公式…
在这个看似毫不费力的瞬间拍照任务背后,到底发生了什么?
视觉搜索基本上是将图像的网格/矩阵输入到一个经过训练的神经网络中,以解释输入。神经网络是非常强大的机器学习工具,用于从图像中分析和提取视觉信息。
通过训练网络识别相似的视觉模式来找到相似的图像。这个过程也可以用于识别特定的对象,例如人脸。
例如,如果你要求谷歌图片搜索功能找到与你提供的图片相似的东西,它会进行所谓的基于内容的图片检索(CBIR);它分析图像以收集细节,如颜色和纹理。然后,它会创建一个查询来匹配其他(数十亿)图像,为您提供最相似的匹配。
为了使用文本输入进行视觉搜索,将文本转换成数学(向量)。为了训练和搜索优化,文本、图像替代文本和相关联的图像以数学方式一起表示。文本的概念被编码在向量空间中,通过训练,模型学习它们与图像的关系。换句话说,它会计算出图像是什么,并能够提供类似的项目结果。
……在艾的一点帮助下
视觉搜索也依靠先进的算法将它引向正确的方向。人工智能(AI)模型描述图像中发生的事情的能力——以及将它们分类到不同的组中以提供视觉搜索结果——是无与伦比的。
这种类型的搜索可以从必应、谷歌图片、谷歌搜索以及 DuckDuckGo(通过必应)获得。谷歌已经使用进行网络和谷歌照片图像搜索。
例如,这个谷歌图片标签显示了从互联网上的文章和博客文章中可能的数百万个匹配中提取的内容及其上下文:
Visual search is a transformational ecommerce feature for both sellers and buyers
最好的消息?公共图片搜索引擎使用的模型可供任何人和任何公司使用。
在线视觉搜索 API,如谷歌视觉 API,展示了可以实现的目标:
The Google Vision API analyzes an image to generate useful metadata for search
提取结构化数据的优势
从图像中提取结构化数据有几个积极的原因:
- 图像数据可以与其他结构化信息(如文本)结合
- 它可以与现有的文本搜索界面配合使用
- 它支持基于语音的查询
第一个优势是巨大的。将图像转换成常规文本和结构化数据在现有的搜索技术中还算不错。这意味着它可以很容易地扩展到 滤镜、刻面 等等。关于第二点,一个人们熟悉的搜索界面是一大优势。
与使用图像作为完整查询相比,提取结构化数据有明显的优势,同时也为您的用户提供了一种过滤数据的方式。例如,如果有人想搜索“50 美元以下的蓝色圆点连衣裙”,图像分析将非常适合识别正确颜色和图案的匹配,但它不能提供价格。因此,在这种情况下,从图像中提取信息更有意义,然后可以将数据与价格字段结合起来(从而通过过滤价格提供更强的相关性)。
第三个优势,兼容 语音查询 ,也是意义重大。在一篇关于视觉搜索的博客文章中,你可能会认为语音搜索的概念似乎很奇怪,但语音识别和图像分析是一个不容忽视的强大组合。Siri、Alexa 和其他语音驱动程序的崛起将语音搜索推向了主流。例如,当你将它与基于人工智能的视觉分析结合起来时,你可以搜索像“一座被红杉树环绕并能看到风景的房子”这样的东西
Visual search and voice search influence how marketers should think
about search engine optimization. Image credit: How-To Geek
图片搜索引擎类型
图像搜索引擎是搜索引擎的一种,图像搜索引擎还有各种子类型。主要的图像搜索引擎类型包括(有时会重叠):
一般图像搜索
听起来是这样的:你会访问知名搜索引擎,开始浏览一个简单的、可能有很多变化的图像,比如一束花或一个著名运动员的照片。一个通用的图像搜索引擎可能会给你提供各种各样的选择。
股票图片搜索
库存图片是一种已经被拍摄(或以其他方式创建,如插图)、编辑(可能经过润色),然后在网站数据库中可供公司或个人下载使用的图片。库存图像大多是有版权的,但它们可以是许可的(你支付版税),免版税(你支付一次性费用),免费但要求你信任摄影师,或者完全免费(甚至可能免费改编并在你自己的项目中使用),不需要署名。
反向图像搜索
如果你有一张图片,并想找到类似的其他人,或者了解谁在使用你拍摄的照片或你创作的艺术品(无论是否得到你的许可),或者破译图片在网络上的出处,或者做任何其他 有趣的事情 ,反向照片搜索是你的朋友。您只需将图像文件作为搜索查询粘贴进去,搜索结果就会指向图像的来源或与之相关的项目。
令人印象深刻的拍照引擎
具体来说,你有没有用 Google Lens 或 Pinterest Lens(“Shop the look”)用手机拍下某样东西然后用反向图片查找通过搜索一张网上图片来识别的经历?这是令人惊叹的技术,而且触手可及。
Looking for the best tulips with the Google Lens mobile app
说到图片搜索引擎,你有很多选择。这完全取决于您的图像需求和偏好,以及您喜欢如何使用功能进行搜索(例如,浏览大量一般类别的页面或使用过滤器立即获取特定内容)。
最好的图片搜索引擎通常不会由评论者进行排名,因为它们在提供的产品、界面功能、收费和版税自由以及优势方面都略有不同。然而,如果你问一个业余摄影师、平面设计师或网页内容创作者,他们可能会告诉你没有单一的“最佳”图片搜索引擎,但他们会接着提到他们更喜欢的搜索选项,以及为什么。
按照传统标准,有一些非常明显的领先者。这里有几个被广泛认为是赢家的图片搜索引擎:
谷歌图片
这里没什么好惊讶的。就像传统的基于文本的 Google 一样,Google Images是在网上寻找大量照片和其他类型图像的精英:最全面的图像搜索体验,加上最出色的方式(强大的界面和大量的过滤器)让你可以找到它们。
如果你预算有限,你可以根据使用权对你找到的谷歌图片宝藏进行分类。
谷歌图片也有一个高级(通过设置)选项,帮助你得到具体的。它还提供了强大的照片反向查找功能:你可以简单地从手机的相机胶卷、Dropbox 文件夹或谷歌硬盘中粘贴一张照片,然后搜索相似的照片。
兵
想跳过领跑者,给比赛一个机会吗?访问微软 【必应】 的图片搜索引擎的主页,它拥有下一个最大的图片数据库。它的优点包括一个超级丰富多彩的界面(而谷歌只给你显示搜索栏开始),大缩略图,突出的过滤选项,热门项目,优秀的视频搜索功能,以及可以稍微更快地观看视频而不必被迫上传到 YouTube。
有人 认为由于种种原因,Bing Images 优于 Google Images。当然你不能用必应搜索一张图片,但是如果搜索体验和图片结果一样好或者更好,谁会在乎呢?
雅虎
为什么你会想在 雅虎 上使用图片搜索工具,而不是在谷歌或必应上使用?好吧,雅虎拥有摄影分享和社交网站 Flickr(下面会有更多),所以它的数据库里充满了摄影师提供的很酷的照片。优雅的 Yahoo image 界面允许您使用高级过滤器来缩小图像搜索结果,例如许可证类型、文件格式和图像大小等参数。
Flickr
业余和专业摄影师拍摄的照片组成了【Flickr】,它拥有数百亿张照片,令人惊叹的视觉体验,更不用说作为寻找正确相关图像的起点了(其中一些是免费的)。由于 Flickr 是一个社交媒体类型的网站,你可以“关注”摄影师;它还拥有惊人的200 万用户群, 它将其视为“我们社区的连接力量,将拥有共同兴趣的成员聚集在一起。”嗯!这个网站很可能就是“唯一”
Pinterest用户在这个图片搜索网站上创建“图钉”——保存内容的书签,该网站自称是“寻找食谱、家居和风格灵感等想法的视觉发现引擎……”一个很酷的功能是:你可以裁剪和搜索图片的一部分。如果你是那种沉迷于装饰和快乐家务的人,Pinterest 很容易成为你的天堂(如果它还不是的话)。
股票照片搜索引擎
面向商业需求,图片收藏网站提供图片,其中许多图片都有吸引不同主题的主题,作为摄影师定制照片拍摄的经济替代方案。这里有几个主要的股票照片网站供你探索
快门
平面设计师、营销机构和其他商业人士中最大、最知名的资源之一,Shutterstock是想出购买订阅以下载库存照片这一概念的人。这个网站不仅提供免版税的照片,还提供视频和音乐。
盖蒂图片
Getty Images提供 3.5 亿张高质量的、档案性的、有时是独家的图片,目标是财大气粗的商业授权。它的图像通常价格较高,并且有使用限制(例如要求图像只能在特定的时间范围内显示)。其 的一些做法 一直备受争议。
iStock
如果你不是企业巨头或者预算有限,那么iStock,盖蒂图片社的“微型图片库”子网站(免版税图片),可能是你开心拍照的地方。
反向图像搜索
TinEye
总部位于多伦多的TinEye之所以出名,是因为它是 最早的 逆向图片搜索工具,也是第一个使用图片识别技术代替关键词的工具。这发生在谷歌增加反向图片搜索引擎功能的三年前。TinEye 还认为其匹配优于谷歌,并认为它在查找裁剪和编辑过的图像方面胜出。
一个令人失望的问题是:你可以上传到 TinEye 进行反向搜索的最大图片大小只有 20 兆字节,这意味着你可能要经历首先以较低分辨率保存照片的麻烦。
谷歌反向图片搜索
谷歌当然是反向图片搜索子类别的主要参与者。你可以上传的图片大小没有限制,这意味着你可以快速 反向搜索 无论你处理多少兆字节。
【Pinterest 镜头】
Pinterest 上的反向图片搜索功能 Lens ,可以方便地让人们拍摄他们在世界上看到的事物的照片(例如,某个不同国家的人穿的一件时尚衣服或朋友公寓的必备家居装饰),然后在网上寻找类似的物品照片。2020 年,Pinterest 为 Lens 增加了一个专用的 购物标签 ,将商品图片链接到公司的电子商务结账页面。
申请单
谷歌也有一个“镜头”功能,一个图像识别应用程序(可从 iOS 和 Android 商店下载)。Google Lens做视觉分析并提供相关信息;它可以翻译文本,识别动物,调出相似的图像,等等。
也有一些专门用于反向搜索的应用,包括:
如何找到免费图片
有些图片的许可费很高,虽然现金充裕的公司支付高额费用没有问题,但如果你只是想找些有色彩的东西来为枯燥的时事通讯增色,找到完美的图片后发现它的价格很高,而你又不能或不想付费,这可能会令人沮丧。
幸运的是,有一些图片搜索引擎不仅致力于提供免版税的图片,还提供 实际上免费的 图片, 一些无任何附加条件的图片。为此,你可以感谢一个名为 Creative Commons(已更名为Openverse)的非营利组织,该组织致力于培养互联网上的创造力和分享。
Openverse 界面允许搜索大量图片。图像转载许可的范围从狭窄的(要求注明图像的原始来源)到非常自由的(允许以新的方式使用甚至改编艺术家的作品,用于自己的创意项目,而不引用图像来源)。
虽然你可以在普通网站上搜索 Openverse 许可的图片,但你也可以在更大范围内专注于免费图片,其中许多图片不需要付费。其中包括:
every pixel
every pixel的人工智能搜索引擎在一个巨大的数据库中索引它在 50 个图像网站上找到的内容,使用各种类型的过滤器可以很容易地进行搜索。
【书库】
该组织的多站点搜索引擎从许多其他免费图片收藏网站中挖掘公共领域专用(可使用,无归属)的照片,并使这些照片都可以从其界面访问。不幸的是,libre stock提供的照片比其他网站少(在撰写本文时大约有 5400 张),但是,嘿,如果它们是免费的,你怎么能抱怨呢?
Pixabay
这张图片 网站 为搜索者提供了超过 250 万张高质量的图片(包括插图和矢量图形),还有视频,外加音乐。
电子商务图片搜索应用
视觉搜索是基于文本和语音的搜索功能的强大替代,特别是对于像 电子商务搜索 这样的用例。
图片搜索引擎还包括在线商店使用的人工智能应用程序,以帮助他们的客户更快地找到并购买所需的商品。当购物者输入某样东西的图片,比如一套服装,搜索引擎会寻找完全匹配和类似的商品(也可能来自其他品牌)。它还可以基于它所知道的顾客偏好或经常与目标商品一起购买的商品来提出图像建议。
这种图片搜索技术很有前景:根据Invesp的调查,74%的网上购物者认为基于文本的搜索在找到合适的产品时是无效的,72%的人说他们“在购买前会定期或总是搜索视觉内容”
来自的统计数据支持这种强劲的消费者需求:预计到 2023 年,全球视觉搜索市场将达到近 1500 万美元。另外,【Gartner预测,2021 年快速适应并重新设计网站以支持视觉搜索的公司将增加 30%的数字收入。
一项研究(国家研究集团)发现,消费者看到视觉搜索结果后,受影响购买的可能性增加了 50%。对于零售商来说,这是投资视觉搜索的一个相当有说服力的理由。电子商务和家居装饰可以说是最好的用例。
整个视觉搜索引擎公司也涌现出来提供人工智能驱动的“计算机视觉”,特别是针对电子商务用例。
视觉搜索不仅仅用于销售产品。 增强现实 (AR)预计将在未来几年产生数十亿美元的商业相关销售额,特别是在千禧一代和 Z 世代中,视觉搜索将占其中的很大一部分。就连Snapchat也钻进了针对 AR 优化的视觉搜索的游戏。
视觉搜索的方向:无处不在
除了公共搜索引擎和大型电子商务,使用图片搜索的能力仍然相当有限。然而,图像搜索的世界正在快速变化。随着这项技术进入小型企业,你可以期待在未来几年看到更多的视觉搜索功能。
两个例子:
- 脸书 更新过去大多是文本,后来变得更加视觉化
- Instagram 和 Pinterest 都已经成为视觉社交平台
实施视觉搜索
那么,你如何为你的 电子商务 网站或应用程序实施视觉搜索呢?这里有几个灵感的点子:
- Amazon.com在 2019 年增加了一个名为style snap的视觉搜索功能。它让购物者通过使用人工智能支持的图像(或截图)搜索来寻找时尚和家居装饰物品。除此之外,这个工具还为喜欢用 iPhones 或 Android 手机在社交媒体上发布时尚发现的有影响力的人提供了燃料。
- 在 Algolia, 我们使用谷歌视觉 API 为电子商务数据库添加视觉搜索功能。有了这个 API,我们可以在图像被索引时自动从图像中提取 颜色 和其他元数据,然后可以使用它们来设计搜索过滤器和方面。现在,每当有新产品添加到网站时,API 都会自动提取颜色数据以用于过滤器。
下面是它的样子:
Using color extraction to generate image metadata that can be used for visual search
- Algolia 还为电子商务提供了一个 反向图片搜索 应用程序:公司可以使用第三方 API 或平台来使用图片作为搜索查询。
其他与图像相关的应用
此外,图像搜索技术的一些应用不需要进行图像搜索,甚至不需要搜索栏。例如,Algolia 有一个应用程序,它结合了图像搜索技术,可以快速识别交付包裹的收件人,以便方便地传递物品。光学字符识别(OCR)用于从标签图像中提取文本,但产生的内容可能包含错别字,因此集成搜索技术将图像考虑在内。具有健壮的、适应性强的相关性的搜索引擎可以将 OCR 非结构化文本与结构化数据集进行匹配,并返回准确的结果。
一幅美丽的大图
毫无疑问,图像搜索网站和应用程序已经席卷了互联网。目前,图像搜索引擎还不会取代基于文本的搜索引擎,但它们在在线搜索世界中是一个强大且不断增长的存在。搜索的未来不会只围绕视觉、语音或文本搜索。它将包含所有这些——而它们仅仅是开始(等着瞧吧,直到我们有了)。
消费者似乎有无限的绝佳选择来挖掘完美的照片或其他视觉元素。公司正忙于优化视觉搜索,以吸引和留住客户。企业界正日益受益于 图像搜索 技术的推出。
想要优化 你的 电子商务网站搜索先于你的竞争对手看到像素背后的光芒? 今天就把 和我们的团队联系起来,让我们设想你所有的可能性。
从企业家到内部企业家,一篇文章发表在评论上
原文:https://www.algolia.com/blog/algolia/post-exit-year-in-review/
1 月 13 日,整整 12 个月前,Algolia 收购了 MorphL——这是我与 Alexandra Anghel 在 2018 年共同创立的人工智能初创公司。MorphL 是我创业 15 年后的第三次创业。我相信三个目标驱动着大多数企业家:筹集资金、被收购和上市。对我们来说,第二个目标发生在追逐第一个目标的时候。最重要的是,我们被一家有潜力在未来几年上市的公司收购了。
卖掉我们公司后,其他创始人和创业者问我:“ 下一步是什么? 我看着他们的眼睛说:“ 学习! “我能感觉到他们冰冷的失望,等到我咕哝完剩下的话,“ 我不卖,是因为我想摆脱 MorphL,开始别的;我这样做是因为我相信长期愿景,我希望看到它成长为更大事物的一部分,并成为这种成长的一部分。
“学习——很无聊,很累人……一点都不刺激。退出后的魅力在哪里?” 这是他们可能一直在想的。
嗯,我不是来谈论这个的——我会让媒体告诉你那些陈词滥调。相反,我想与你分享我对真相的看法,这是我过去 12 个月在 Algolia 亲身经历和学到的,希望这将为其他准备出售并加入收购公司的企业家增加价值。 正如 Morpheus 所说:“ 【如果你吃了蓝色药丸……故事就结束了”, 你可以跳到你的快乐诗和 相信你想相信的一切 ”。但是,“ 如果你吃了红色药丸……你就待在后出地,我让你看看兔子洞有多深 。”T56
信任是给予而不是获得,脆弱的力量
我记得第一次在 Zoom 上的全体会议,来自世界各个角落的数百人参加了会议——这是对即将在我们身上发生的事情的一个试探。至少可以说,了解一个 350 多人的公司的动态(一年内持续增长近一倍,到 2021 年底超过 600 人),并有效地驾驭它以完成任务是非常困难的。
即使入职过程顺利且信息丰富,但事实是,在最初的几个月里,我问了各种各样愚蠢的问题,惹恼了我的新同事。我知道这对他们来说不容易,但我知道对我来说更难十倍,我很感激(现在仍然如此)他们的帮助。
我认为最困难的部分是确定谁拥有什么,谁负责什么,以及我每天需要与谁互动来完成工作。在 MorphL,我对一直在发生的事情有一个完整的概述——这并不困难,因为这是一个小的创业公司。加入 Algolia 后,我想快速确定我可以在哪里增加价值,但有太多的活动部件,我会连续几周兜圈子,试图弄清楚公司是如何运营的。
当我不再需要控制一切的时候——这是我的创始人生活的残余——一个重大的转变发生了:我开始信任我周围的人。你猜怎么着?我更容易接受并意识到他们对我的信任,即使最初我错误地认为我需要赢得他们的信任。
在 一个团队的五大功能障碍 中,团队内部缺乏信任或不愿成为弱势群体是金字塔的底层。在 Algolia,我印象深刻地看到毅力是一种基本价值观,其次是谦逊、关怀和坦诚,这创造了一个健康的团队环境,培养了信任。
作为一个创始人,我应该总是有一个答案。这是常态。我对把这种心态强加给自己和周围的人感到内疚。它是(现在仍然是)如此根深蒂固地存在于我的 DNA 中,以至于我没有总是鹦鹉学舌般地对这个和那个同事、这个和那个客户回答,而是忘记了放慢速度,停止这种令人抓狂的匆忙,成为一个倾听和学习的人! 我不得不承认我什么都不知道。我必须提问,倾听,不要害怕我的沉默会让人们不喜欢我。
胸怀小我,有难对话先
现实是:人是复杂的生物,每个人都有自己内心的挣扎和渴望。包括我自己。在我 15 年的创业生涯中,我从来没有请求过许可。从来没有。现在突然之间,我需要让我的做事方式与整个公司保持一致。这不仅仅是以不同的方式做事,而是同时思考和记录它们。
作为一家早期创业公司的创始人和首席执行官,除了 Techstars 之外,我没有其他投资者,我不向任何人汇报。突然间,我有了一个经理和同事。就好像我又在学习走路了——但这一次,不是走路,而是跳舞。我不再处于一个有权力的位置,在这个位置上,我可以激励其他人大胆尝试,做一些与我对公司的愿景相一致的事情。相反,我不得不更加注意如何表达我的论点,用事实和数字支持它们,并客观地得出正确的结论——作为一个团队。
对你们中的一些人来说,这可能听起来微不足道,但对我来说,这不是我过去用过的肌肉。是的,确实有一点自负。我知道大多数收购失败是因为整个过程对被收购方来说更加困难;但我没想到自我会扮演如此重要的角色。在我与其他卖掉创业公司的企业家同事交谈时,我很难过地意识到,他们的自负阻止了他们成长到下一个阶段。
我决定不成为他们中的一员,我记得在瑞安·哈乐黛的《自我是敌人》中读到过:伟大来自卑微的出身;它来自繁重的工作。这意味着你是房间里最不重要的人——除非你用结果改变它。
如果在整个过程中有一件事是我能控制的,那就是我自己,我对这次经历的态度以及我周围的人。我要么放弃,什么也学不到,要么明白摆在我面前的机会。我学会了先进行困难的对话(与自己和他人),然后专注于倾听和学习,然后,也只有那时,才是领导。
速度降低,力量惊人,最重要的是谦逊
在创业的世界里,你今天会想到一个策略,明天就会实施。 败得快 的心态对吧?一旦你有了一个成熟的产品和繁荣的业务,事情就不会这样了。在决定实施某个战略之前,需要考虑很多影响,包括内部影响(销售、客户成功、营销、研发)和外部影响(潜在客户、客户、合作伙伴)。
我习惯先行动后思考。当然,我有点夸张,但不是很多。只需考虑这些书名: 做多快失败快。失败很便宜。失败快乐。第 7 天启动 。作为企业家,我们大多忙于做一些事情,没有花足够的时间去深入思考我们为什么要做我们正在做的事情,这是为了谁,这是为了什么。
我把行动和成就混为一谈,认为成长是自然而然的。作为一家初创公司,速度是我们的全部。这是游戏的名字。这个游戏给了我一种快感,我喜欢它。
最终,我明白了当你进入独角兽联盟时,游戏规则会改变。在速度和力量之间有一个权衡:在速度中失去的会在力量中得到。是的,确定新产品的最佳策略的确需要时间,但一旦达成一致,我们在收购后仅用了 3 个月就推出了 Algolia 推荐测试版。发动火车头需要一段时间,但一旦火车开动,就没有什么能阻挡它了。看到这种致力于成为多产品公司的程度令人欣慰。
今年上半年,我学到了很多东西,不仅是作为一家新公司的一部分建设新产品并将其推向市场,而且以一种意味着更多关注而不是更少“ ”的方式去做。
在这一阶段结束时,我意识到两件事:第一,我对建立公司、产品或团队的了解没有我想象的那么多;第二,我再也不会是同一个人了,事实上我会变得更好——如果我能谦卑地接受这个新的旅程。
这就是我之前提到的倾听的力量!我通过练习来理解他人——队友、客户甚至竞争对手——了解他们和外部事物,甚至了解我自己。
倾听需要耐心,但学习需要谦逊,这两点在阿尔戈利亚都存在。事情是这样的:当我加入 Algolia 的时候,谦卑是我最后想到的事情。当我们想到为成功公司工作的人时,我们脑海中的形象是什么?实干家、猎人……去猎杀,对吗?人们总是有一个答案,一个观点,不管是什么话题。没有表现出任何脆弱。特别是在东欧,我们崇尚侵略性、铁拳和大棒,我们认为胡萝卜是给弱者的。正如我最近听到一位投资者所说,心理健康是“被宠坏的孩子”的事。我认为那是虚伪和有毒的。
我过去常把这误认为是自信。但信心是当我们有勇气说:我不知道。我不知道这个问题的解决方案,但我愿意也有能力接受这个挑战并坚持到底。我今天可能没有所有的信息,我现在可能没有所有的答案,但我相信我能做到。我相信我的团队能做到。而且我们不一定要大声才能自信;其实自信有时候也可以很安静。 我明白了,谦虚并不意味着少考虑自己——而是少考虑自己,多考虑别人。我如何能对我周围的人产生影响,这样反过来他们也会对别人产生影响。这是“给予第一”的心态,或者说是仆人领导的心态。这意味着将竞争对手视为有价值的对手——我可以向他们学习,我可以尊重他们,即使我在战场上遇到他们。
把团队放在第一位并保持一致
一个人不可能真正有所作为,也不可能知道所有的答案。意识到自己的优点,尤其是认识到自己的缺点,让我明白我需要身边的人。
梦想要成为现实,需要优秀的人走到一起。在启动 Algolia 推荐项目后,我意识到的确需要一个村庄来建设一些有意义的东西。这是团队的努力。
我认为环境是打造强大团队的关键。甚至在加入 Algolia 之前,我就已经看到人们共用一个办公室,并以惊人的方式进行个人表演。但是他们没有组成一个团队——他们互相竞争而不是互相竞争。这就是为什么,通过我在过去一年所做的一切,我的北极星总是确保团队能够并愿意一起工作并有所作为。而且不仅仅是加入 Algolia 的团队。这也是我们布加勒斯特办事处新招聘的员工——现在,这里大多很偏远,但你可以想象一下。
作为一名创始人和企业家,我喜欢成为众人瞩目的焦点,但我不得不接受一个艰难的现实:成长环境是其他人都成为焦点的地方。他们走在我的前面,作为一名领导者,我最好理解帮助他们走得更远的价值。
通过不断挑战自己和周围的人,通过接受别人的挑战(和建设性的批评),通过经常走出自己的舒适区并加入别人的舒适区,通过将失败视为敌人,通过欢迎和期待改变,我学会了所有这些。一贯如此。
我们想的、说的和做的保持一致可能是我们能得到的最无聊的赞美之一:“ 你是一致的! ”。哇,谢谢你!
但我相信,那 1%每天、每周、每月重复一次,经过几年就会创造价值。我见过很多企业家,他们涉足多个项目,只是因为这很刺激,但一旦事情变得无聊,他们就放弃了。我已经多次看过《苏奥》《T2》。老实说,我也是那样,所以我知道。现实是,在我看来,那些成功的人都愿意做无聊的、没有魅力的事情。愿意做无聊的事情、缓慢的事情、泥泞的事情——别人逃避的责任——是推动你前进的动力。
当别人后退一步时,我不会原地踏步。我要向前迈进,带着团队一起前进。不是因为我知道自己在做什么,而是因为我相信他们会支持我。
很久以前,有人告诉我,他们不改变职业轨迹的原因是因为他们必须从初级职位重新开始,这是他们目前头衔的一大退步。
我理解这种观点,但这也让我难过。我选择寻找更多的责任,行使更多的影响力,产生更大的影响,而不是陷入追逐一个职位头衔的相同陷阱。我追求的是角色,不是头衔。
正如纳尔逊·曼德拉在一篇 的《走向自由的漫漫长路》 中所说:“就像园丁一样,一个领袖必须对他所耕种的东西负责;他必须关注自己的工作,努力击退敌人,保留能保留的,消除不能成功的。”
成为一个有意向的学习者,作为一个内省者寻找意义
约翰·麦克斯韦在 与人相处 中写道一个重要的原则:“我们遇到的每一个人都有可能教给我们一些东西”。可悲的是,许多拥有体面出路的企业家认为,一旦他们到达目的地,就到了穷途末路,因为他们的成功,他们没有别的地方可以发展。
现在,不要误解我的意思,我不是在说退役——那是我个人的选择,我相信不需要任何解释。
我说的是退出后发生的心态转变,这种转变阻止了创始人挑战自己:他们不再 必须 尝试新事物,因为他们已经取得了一定程度的成功。就个人而言,我意识到这是一个关键时刻,并决定我要花几年时间学习。对我来说,不这样做意味着否定我的人格和价值观。通过迎接这种 内 创业的大起大落,我现在再一次转向我的为什么。我可以看到雾消散了,在它后面,第二座山高耸起来。我想带领大家走向那个地方。领导力不是满足我们的自我,也不是我们写在 LinkedIn 个人资料上的职称;这是我们在没有这些的情况下所拥有的尊重和影响力。当然,这可能更难,但在我们周围建立一个领导团队,并赋予他们勇敢、自信和谦逊的能力,是任何公司,无论大小,成功的基础。
最后,我想邀请你们,我的企业家伙伴们,我的同志们,提醒我们自己,创业是一场无限的游戏。正如西蒙·西内克在《无限游戏》中所说的:“庆祝我们的胜利很重要,但我们不能停留在胜利上。因为无限游戏仍在继续,还有许多工作要做。
使用 Algolia 在 Adobe PWA Studio 中支持高级搜索
原文:https://www.algolia.com/blog/product/powering-advanced-search-in-adobe-pwa-studio-using-algolia/
渐进式网络应用(PWA)彻底改变了我们创造和消费数字体验的方式。PWAs 是 web 应用程序,提供类似本机应用程序的体验,包括离线功能和跨多个设备的流畅性能。 Adobe 的 PWA Studio 为开发者提供了一套工具和组件,帮助他们在 Adobe Commerce / Magento 开源后端之上轻松高效地构建和部署 PWA 店面。它使开发人员能够创建高质量、引人入胜的 pwa,可从任何设备访问并提供无缝功能。
介绍 Adobe 的 PWA Studio 的 Algolia 扩展
Algolia 是一个强大的搜索和发现平台,帮助企业提供闪电般的搜索结果并改善用户体验。Algolia 的搜索平台旨在轻松适应任何前端架构,PWA 也不例外。超过 1,300 家零售商在 Adobe Commerce / Magento 上使用 Algolia 搜索,我们希望让客户更容易理解我们的 React 组件在 PWA Studio 中的实现。我们很高兴宣布 Adobe 的 PWA Studio 的 Algolia 扩展。
要开始,在 GitHub 上查看资源库:https://GitHub . com/algolia-samples/algolia search-magento-2-pwa。
Adobe PWA Studio 的 Algolia 扩展构建在 Adobe Commerce / Magento 开源后端和Algolia search Magento 2 扩展 之上。它演示了如何将 Algolia 的自动完成、即时搜索和搜索洞察反应库集成到 PWA Studio Venia 主题中,以增强搜索体验。
扩展利用 Algolia 的 React 库为instant search替换 Venia 主题中的分类页面:
此外,该扩展还使用 Algolia 的 自动完成 扩展了 Venia 主题的搜索栏,并利用 Algolia 的 搜索洞察力 库发送事件:
你可以在这里 获得更多关于这个扩展中使用的库的确切版本的信息 。该扩展需要使用Algolia search Magento 2 扩展 创建的 Algolia 索引和后端管理配置。但是,请注意,GraphQL 端点在我们的 AlgoliaSearch Magento 2 扩展中还不可用。因此,您应该为 Algolia 配置手动创建 config.json 文件。为了帮助这个过程,我们包含了一个 示例 config.json 以供参考。
想了解更多或了解如何尝试 Algolia?
联系我们adobe-algolia-solutions@algolia.com分享反馈!请注意,这不是生产就绪。在 PWA Studio 中展示 Algolia 的instant SearchSearch InsightsReact 库的用法就是一个概念证明。我们很高兴与您讨论最佳实践、权衡,并了解什么最适合您!
以防万一,如果您错过了,请查看我们的“Adobe x Algolia Integrations”系列的其余部分,包括我们的文章: 推荐给 Adobe Commerce 。
预测搜索、自动完成、建议查询和 AI
原文:https://www.algolia.com/blog/ai/predictive-search-and-autocomplete/
在过去的十年里,人工智能和预测性搜索在许多领域让我们的生活变得更容易、更快捷。预测击键、单词、产品和短语是人工智能取得成功的领域之一。在许多电子商务和媒体网站的引擎盖下,你会发现高端人工智能技术,这些技术通过先进的 自然语言处理 来提高销售额。NLP 背后理解用户查询和预测最佳搜索结果的科学通过机器学习成为可能。今天,谷歌使用 BERT ,这有助于返回用户以前没有键入的有意义的查询结果,无论他们如何拼写或组合查询中的单词。
预测性搜索 特指一种有用的用户体验(UX)工具,根据用户类型建议查询。查询建议帮助人们制定最佳查询,以找到他们正在寻找的产品。在本文中,您将全面了解预测性搜索的工作原理、预测性搜索的常见陷阱、如何避免这些陷阱,以及实现常见预测性搜索体验的好处和最佳实践——即, 、自动完成 。
什么是预测性搜索?
我们大多数人都经历过自动完成的奇妙世界,你在搜索引擎中键入你要找的东西的前几个字母,然后从下拉列表中点击一个搜索建议,但有很多后台操作使这成为可能。预测搜索的核心功能是能够从建议列表中进行选择,而不必在搜索框中键入完整的术语。
Google 制定了标准,由 首先组织 来实现自动完成功能。很快,用户开始期待预测性搜索。亚马逊、Shopify、Spotify 和沃尔玛等网站和应用程序已经实现了预测搜索功能,可以显示热门查询、提供上下文建议、避免打字错误,并根据用户的位置或偏好过滤建议。今天,大大小小的组织都提供某种形式的自动完成功能。
预测搜索是如何工作的?
预测搜索技术试图根据终端用户的行为、以前的搜索、地理位置和其他属性来预测搜索词,以及跨所有用户会话的趋势搜索,并将搜索词显示为搜索字段中或下面的建议。自动完成、自动建议和预测搜索在科技行业中经常互换使用,尤其是在 UI/UX 部门。
搜索查询是用户在页面的搜索栏中键入的术语。预测搜索在用户键入时分析搜索查询的每个字母,并在用户完成键入之前在下拉菜单中提供一组建议的查询。这些建议是由一系列算法产生的。使用多种机器学习和自然语言处理算法和模型来生成匹配,从简单的字符串开始,以便识别、匹配和预测未完成的搜索查询的结果。
这些建议有助于用户以更少的输入更快地获得结果,这有助于防止输入错误并创建将返回所需结果的查询。这些建议背后的算法从静态列表或现有数据的简单字符串匹配开始,通过使用自然语言处理来管理错别字和同义词以帮助用户获得所需的结果,变得越来越复杂。
预测搜索——部分 UI/UX 基础
这里有一些使用自动完成搜索创建良好用户体验的最佳实践:
- 激活时添加视觉焦点 :确保搜索栏和自动完成建议在使用时聚焦。你可以在上面的视频中看到它是如何工作的——注意当搜索栏被选中时,页面的其余部分是如何变暗的。尤其是在较小的移动设备上,减少显示在搜索栏旁边的图标、快捷方式或菜单项,以帮助减少屏幕上的视觉干扰。
- 对建议使用文本换行 :如果建议包含冗长的文本,避免使用水平滚动条。确保冗长的关键字和术语足够易读,但限制在一个屏幕上。如有必要,使用文本换行并允许建议跨多行传播,尤其是在移动设备上。
- 避免滚动条:确保建议不会隐藏在屏幕上是很重要的。这意味着尽可能避免滚动条。滚动条增加了用户搜索的时间,使他们更有可能放弃搜索,并使他们更难找到他们想要的内容。
- 提供列表可滚动的视觉提示 :有时候不使用滚动条是不可能的。在这种情况下,给出足够的提示和指示,很明显列表是可滚动的。
- 轻松移除查询 :为用户提供清晰的可视图标和选项,以清除搜索栏和自动完成建议。最广泛使用的指示器是“X”图标,提供该图标是为了帮助用户移除搜索查询。这种设计解决方案极大地改善了整体用户体验。
- 优化建议 :自动完成建议的部分吸引力在于更快的结果,这些结果应该实时显示,如下所示。用户一输入第一个字符,建议就应该出现,并且应该随着每个添加到查询中的字符而更新。错别字和其他错误应该被过滤,以便返回相关的建议。
- 限制列出的选项数量:限制用户查询时显示的建议数量很重要。太多的建议会导致不相关的结果和分散用户的注意力。最佳做法是将建议控制在 10 项或更少。
即时搜索
即时搜索是预测搜索的近亲。当用户输入一个查询时,结果会近乎实时地显示出来。即时搜索是每击一次键就执行一次新的搜索,通过可视化地推动发现来改善搜索体验。视觉网站,比如有产品照片的电子商务网站,确实可以受益,因为即时搜索可以让 买家更快地浏览 结果。
即时搜索可以建立在 自动完成 或其他预测搜索技术的基础上,但在 Algolia, 我们采用了一种 不同的方法 ,使用基数树(也称为基数尝试或压缩尝试…下文将详细介绍),这是一种已经排序的数据结构,适用于。
用前缀搜索处理错别字
基数树还用于其他用途:前缀搜索。前缀搜索帮助我们在某人键入每个字符时检索结果;它使用术语的开头开始文档排序和匹配。如果输入“t”,前缀搜索将 检索 为“吐司”或“烤面包机”的结果;引擎必须知道这两个术语都包含前缀“t”。
这种方法还有助于替换拼写(例如,“gray”或“grey”)和拼写错误(用“iphxne”代替“iphone”)。也被称为错别字容忍,它允许用户在键入时犯错误,但仍然可以找到他们正在寻找的记录。这种预测匹配适用于在拼写上 接近 的单词,即键入的单词与其在索引中完全匹配的单词在拼写上的差异。完美匹配是距离= 0。当存在完全匹配,或者距离较低(一个或两个字母键入错误)时,则进行匹配,并将记录添加到结果中。
计算速度极快,往往比更复杂的人工智能模型还要快。如果你熟悉 矢量搜索 ,你知道它也可以帮助处理错别字。虽然向量可能包含拼写错误的嵌入,并提供一定程度的错别字容限,但 radix 树可以动态计算前缀。对于这个用例,关键字搜索实际上比矢量搜索快得多,并且可以处理更多的拼写错误。它可以帮助某人找到带有“aplp”前缀的苹果设备。
复杂自动完成 UI 的最佳实践/UX
预测性搜索结果不仅受匹配字符串的影响,还受热门搜索和输入机器学习算法的用户数据的影响。这些算法不断从用户行为中学习,提高了预测用户搜索内容和相关结果的准确性。
不管用于实现预测搜索的算法如何,搜索建议的相关性、结构和设计对于用户交互和整体用户体验都是至关重要的。拥有一个设计良好的预测性搜索来提供相关的和响应性的搜索建议是至关重要的。以下是一些更好的实践:
- 使用排名来确定显示顺序 :有许多因素会影响所提供建议的排名。一般来说,与用户的位置、语言、最近的搜索历史、以前的订单历史、热门搜索和正在进行的促销相关的查询应该排名较高。例如,如果临近假期,与该假期相关的建议应该排名更高,以确保它们显示在建议下拉列表的前几个选项中。
- 对不同类型的建议采用不同的风格 :在某些情况下,可能会有包含产品和类别的搜索结果和建议。在这些情况下,确保不同类别的建议有明确的区别。文本可以有不同的样式,或者不同的颜色可以用于不同类型的建议。
- 高亮显示潜在结果 :当显示大量建议时,确保高亮显示用户在自动完成建议中提供的搜索词的潜在结果。这有助于用户确定差异并更快地做出决定。例如,如果用户输入了“cou ”,您可能想要显示不同的潜在结果,比如沙发、工作台面和柜台。
- 个性化自动完成建议:根据用户的位置、语言和搜索历史考虑查询,以便个性化结果。如果位于奥斯陆或多伦多等寒冷地区的用户在 12 月搜索“鞋”,则呈现给他们的建议应该对那些地方的人有用:靴子或保暖鞋,而不是织物运动鞋或凉鞋。
预测搜索的好处
那么,为什么要花时间实施预测性搜索呢?商业价值是什么?预测搜索 通过提供有用的自动建议,提高转化率 并为用户在搜索商品时节省时间。这是一个重要的功能,当从一个有着紧凑键盘的手机上购物时。应用程序中的预测搜索功能减少了用户的摩擦,使他们不太可能放弃搜索。
以下是使用预测搜索的一些好处:
- 它通过提供建议来减少搜索时间,这意味着用户很少需要输入整个查询
- 预测搜索提供更加个性化的体验,根据用户之前的查询、位置和偏好类别提供信息
- 它向用户介绍你的网站和产品,并通过提供某些产品的相关图片和描述来帮助用户找到他们想要的东西
- 它通过向用户展示基于热门搜索和畅销产品的合适且有用的建议来增加销售额
- 通过以更优化的方式提供内容,它增加并改善了整体用户体验
- 增加相关查询的数量,并提供优化的结果
预测搜索有助于避免由打字错误和错误引起的混乱,并通过过滤数据提供更快的结果。
结论
预测搜索提供了许多优势,包括提高转化率和更好的客户体验,并且是许多企业成功的关键因素。使用本文中描述的最佳实践将帮助您确保您的站点搜索像您一样努力工作。
产品发现和搜索的区别
原文:https://www.algolia.com/blog/ecommerce/product-discovery-vs-product-search-whats-the-difference/
谈到电子商务的可用性,你肯定听说过搜索。当人们登陆一个零售网站主页并需要购买一些东西时,搜索栏通常是他们首先去的地方。
但是产品 发现 呢?与你可能听说的相反——这两个是相似的概念(人们经常互换使用术语“搜索”和“发现”——它们是不同的东西。
要点:在这个不断发展的电子商务世界中,有效的产品搜索 和 启发性的产品发现功能现在已经成为满足客户需求和期望不可或缺的一部分,更不用说提高转化率和利润了。
要想在竞争激烈的电子环境中茁壮成长,您需要清楚这些方法之间的差异,并做出相应的回应。为了有效地吸引渴望购物的顾客,你必须做好用户研究,为他们提供个性化的无缝搜索 和 发现。
此外,这种对搜索和发现的优先考虑延伸到了你的网站和其他在线场所(如社交媒体)之外的零售业务。作为全渠道方法的一部分,最新的电子商务技术也在促进店内互动。
在我们开始之前,你一直在耐心地等待产品发现活动的定义,这样你才能理解这篇文章。我们现在就讨论这个问题吧!
产品搜索与产品发现
下面是我们最近发布的 搜索与发现 的深入分析。
综上所述,产品 搜索 涉及仔细或彻底地寻找以努力找到某样东西。
产品 发现 涉及到意识到一些新的东西,也许是在寻找其他东西时偶然发现的。
不同之处可以总结如下:寻找是一种主动的追求,而发现通常是被动的。
现在,让我们来探讨您应该如何处理这些不同的组件,以避免棘手问题并实现最佳结果。
找而叶必寻……
假设一位潜在客户来到你的网站,想要买一双运动鞋。他们可能需要它们作为生日礼物。或者他们可能对自己喜欢的品牌的产品信息感兴趣。
他们使用你网站上的搜索栏,开始输入他们的想法,可能是“运动鞋休闲黑”或产品名称
弹出一堆相关结果。
他们瞄准了几双黑色的,挑了他们最喜欢的,把球鞋放进购物车,然后开始结账。
购物者寻找运动鞋的意图就是将此活动归类为搜索的原因。当然,当他们在搜索那些鞋子、阅读产品说明、评估他们的众多选择、在虚拟收银台为他们的运动鞋付款时,他们可能会发现他们可能想买的其他有趣的东西(有人想搭配袜子吗?);我们一会儿就会谈到这一点。
首先:优化你的产品搜索
这一切都是为了说,当你可以理解你的客户的特定购物目标时(通过 AI 学习的奇迹),你可以准确地找到他们想要的东西,并通过使用你的产品搜索引擎帮助他们快速定位。
钥匙?你的搜索引擎必须提供准确的搜索结果,而且要快。
在大公司的零售网站上,人们习惯于输入一个查询的几个字母并立即收到结果,甚至在他们完成这个短语之前。当你能提供这种能力时,你就在游戏中了。
搜索结果的速度无疑是等式的一个重要部分。另一个是你的搜索索引的质量——你的数据是如何组织和构建的,这样你的搜索引擎就可以立即产生相关的结果。当你具备了这两个基础,你的商业模式就是合理的;访问者可能会享受他们的用户旅程,并带着他们想要的东西离开你的网站。
寻求与叶可能发现
让我们继续,看看有效产品发现的开放式流程。以下是一些例子,说明人们可能会不知不觉地发现自己处于发现阶段,并最终在购物车、家里、壁橱里发现了额外的物品……
- 之前的球鞋搜索者在结账页面,准备购买,嘿!看看那些在类似产品类别中出现的很酷的相关产品。健身打底裤。一块 Fitbit 智能手表。那些买了她要打包的运动鞋的人也买了同样的东西。她喜欢这些其他东西的可能性很大。
- 后来,她在 Instagram 上滚动,想和朋友们聊一聊,这时她看到一则广告,宣传一种能让你“在月球上奔跑”的新型运动鞋酷毙了。她要两双。
- 某个并不迫切需要某样东西的人正在浏览他最喜欢的商业网站,并根据他前一天的搜索看到推荐的商品。哇,也许他可以用一个。
成功发现的一个特征是,潜在客户愉快地遇到新事物,看到吸引他们眼球的闪亮事物;这不是他们的意图(至少是有意识的)。另一方面,这也可能确实是他们的意图:有些人喜欢浏览,并在体验中迷失,就像他们在实体店闲逛时一样。
产品发现并不是一项新功能。作为消费者,我们大多数人定期不断地发现,甚至可能没有意识到这一点。例如,想想你上次去 Amazon.com 的经历。你有没有注意到这个网站在向你推荐什么,它的其他顾客应该在买什么,你拥有什么会很有趣?你是否最终发现了有趣的项目,并超出了预算?啊,发现的喜悦。
什么是 什么是 新的产品发现是公司为了满足用户需求并为他们的客户提供奇妙的购物体验而将他们的 UX 设计进行到底。
如何优化发现
如果您没有应用正确的产品发现技术,您可能会错过一些重要的收入,因为您的许多竞争对手已经微调了发现流程,并获得了更高的客户满意度。
以下是许多专家认为你不能忽视的技巧
- 导航: 让你的客户轻松直观地在你的网站上浏览。在探索你所能提供的东西时,他们可能会偶然发现让他们高兴的其他东西
- 自动完成: 使用预测搜索,根据人们开始输入的短语,立即为他们提供相关建议。
- 过滤: 让客户过滤,让他们浏览起来更轻松。包括刻面以允许他们缩小结果范围。
- 顾客评论: 正面(和负面)的评论有助于顾客进行尽职调查,并为他们的产品发现过程增添人情味。
- 建议: 利用你的客户数据提供上下文相关的建议,引导他们找到可能感兴趣的商品。
- 基于位置的搜索: 向客户展示其实际位置附近的交易和商品,以增加实体商店的访问量和成功发现产品的机会
- 社交媒体活动: 去你的社交购物者在网上闲逛的地方,向他们提供新产品、流行商品、交易和销售的信息。
一旦你把全渠道战略的拼图拼好,你就可以深呼吸了。然后,您和您的团队成员可以回来查看这些指标以及您可能解决目标受众中任何用户问题的各种方法,从而 改进您的发现结果 。
获取搜索 和 产品发现权
一流的产品搜索和卓越的产品发现对于为客户提供卓越的个性化用户体验都至关重要。如果做错了,他们会毫不犹豫地为了竞争对手抛弃你。做对了,你就有潜力让每一个登陆你网站的购物者为之惊叹,让他们有一个不会很快忘记的体验,并且有能力让他们在可预见的未来成为一个忠诚的顾客或订户。
要了解更多关于产品发现的细节以及实施领先的搜索和发现技术以实现您的业务目标的可行性,请联系我们在 Algolia 的知识渊博的 专家团队 。
产品
产品
移动用户如何、何时以及为何参与搜索?
到目前为止,2023 年是智能手机市场的大年。对于苹果 iPhone 用户来说,新款 iPhone 15...
搜索和发现作者
在 React 上发布我们的 PWA 电子商务 UI 入门套件
原文:https://www.algolia.com/blog/ecommerce/pwa-ecommerce-ui-starter-kit-in-react/
使用 React / Next.js 入门套件获得灵感并加快店面实施。
任何构建了端到端搜索和发现体验的人都知道,创建一个健壮的前端界面是多么困难,它不仅要满足软件开发标准,还要满足最终用户在速度和 UI/UX 最佳实践方面的期望。特别是当这些体验同时服务于多个设备时,尤其是移动设备,这代表了 2021 年 B2C 电子商务中超过 60%的网络流量 。
几年来,我们的团队一直在instant search和Autocomplete库中投入时间和资源,以提供 UI 组件,开发人员可以使用、定制和扩展这些组件来编写他们的界面。我们很自豪能够为数以千计的客户提供支持,并期待未来能够提供更多支持。
尽管有这些图书馆,但要打造一个好的体验,还是需要大量的时间和专业知识。客户仍然需要弄清楚如何将我们的组件插入到他们独特的 UI/UX 设计和技术中。
以模板开始,而不是空白的页面
我们很高兴推出我们的第一个用户界面模板,主要针对电子商务。UI 模板是一个使用React/next . js的店面实现,您可以将其用作构建基于 Algolia 的解决方案的入门工具包,也可以将其用作教育和灵感资源,从中挑选一些代码。
现场预览
在我们深入研究如何构建 UI 模板以及软件包中包含的元素和组件之前,让我们后退一步,从最终用户的角度来考虑一下。点击下面的实时预览,在您自己的设备上测试体验。
或者从你的手机里扫描出来
功能&技术概述
我们构建了以最终用户体验为核心的 PWA Ecom UI 模板,特别注意尽可能使其为生产做好准备。UI 模板的实现得益于以下技术:
- 使用带有功能组件的 React 钩子的最新版本
- 包含 SEO 优化(服务器端渲染使用next . js,SEO 友好生根)
- 是PWA兼容
- 在 WebCoreVitals 和 Accessibility 上得分> 90%(通过 灯塔 )
- 是用 打字稿 和 顺风 CSS 进行主题化
从功能的角度来看,该 UI 模板的当前版本侧重于以下领域的搜索&发现体验:
- 首页,重点发现
- 产品列表页面,将搜索&浏览统一到单一体验中,允许最终用户通过结合基于关键字的搜索和基于方面的导航来自然地导航产品。
此外,将 Algoliaautocomplete . js和React instant Search集成到模板中,我们不仅可以解锁 Algolia 提供的搜索&浏览功能,还可以解锁其更高级的功能,如查询建议、通过规则进行商品销售、人工智能重新排名和人工智能个性化。
在未来的迭代中,UI 模板将添加更多的页面,例如带有推荐的产品详情页面、产品搜索评论、商店定位器和帮助中心。
最后,在设计方面,PWA Ecom UI 模板基于 UI 和我们去年夏天发布的 Ecom UI 设计套件中的最佳实践 ,我们开发该套件的目的是尽可能保持中立,为您提供灵活性,使您能够以最小的努力和较短的交付时间使该模板适合您的品牌。
为商业而建的 UI 模板,但不限于单个行业
PWA Ecom UI 模板的基本元素可用于任何其他用例及行业,通过整合最佳 UI 实践,使公司和最终用户受益。它的交互模式和最佳实践,以及它的前端开发逻辑(例如,服务器端渲染、URL 根、状态管理),都与电子商务之外的 web 应用程序相关。
当我们精选部分 UI 模板(当时处于测试阶段)来加速Algolia code exchange的开发时,我们自己也经历过这种情况。我们代码交换的主要目标是提高使用 Algolia 的建筑商可获得的资源的可发现性。
Algolia 代码交换的预览——黄色表示从 UI 模板 中重复使用的组件
利用用户界面模板,我们可以在紧迫的期限内完成任务,甚至交付比计划设计更好的体验。该模板节省了我们的开发和设计时间,无需重新构建一个移动友好的过滤侧边栏。这个省时器让我们可以更快地改进工具。
【T2
请记住,您可以通过两种方式使用该模板:作为您未来实施的基础,无论您是要迁移平台还是升级您的技术堆栈架构以采用无头方法;作为一种教育资源,你可以从中获得灵感和/或根据你的需要挑选代码。
你怎么看?
我们的开发团队不断改进和优化我们的产品。我们希望收到您的来信:
- UI 模板对您的用例有帮助吗?你在使用它的时候有没有遇到什么挑战?
- 这个模板中是否缺少什么应该在以后的迭代中添加的东西?
请在我们的 社区 分享你的想法。
使用 CQRS 数据存储优化查询,响应速度提高 500 倍
软件架构是个难题,可伸缩的软件架构更难。我们都希望生活在这样一个世界里,规模问题不会悄悄进入我们的代码,可以被控制在基础设施的范围内,而且在一定程度上可以。但是最终作为开发人员,我们不得不考虑这些问题,并找到创造性的架构方法来解决它们。
在这篇文章中,我想关注的问题是查询响应时间。这是一个问题,许多团队只是接受了一个痛苦的现实,即不断增长的数据库和日益复杂的查询驱动着丰富的 UI 功能。实际上,这是一个可解决的问题,并且可以使用现有的架构模式优雅地完成;CQRS。
例如,我们将创建一个名为“SlackerNews”的虚拟用户论坛。我们将用自动生成的帖子数据填充它,并对一些常见的查询进行基准测试,然后看看如何使用 Algolia 搜索索引来替换一些最繁重的查询,以展示我们如何既能提高搜索 UX,又能全面降低数据库负载和成本。
介绍 CQRS?
命令查询责任分离是一种数据建模和系统设计模式,基本上就是说,你可以使用不同的模型来写数据,而不是读数据。您可以写入一个数据库,然后将该数据的一个版本复制到一个单独的不同类型的数据存储系统中,并使用它来执行查询,而不是读取和写入同一个数据库模型。通常,第二个数据存储存储的是数据的非规范化版本,它比关系数据库的读取性能更好。
CQRS 会增加系统的复杂性,但是,如果处理得当,并战略性地用于正确的读取类型,好处是巨大的。我们将研究如何将 CQRS 应用到论坛数据库中,以显著提高文本搜索查询响应时间,改善 UX,并降低您的真实来源数据库的负载。
您将熟悉这种模式,因为我们通常是如何设计对象存储的。一般来说,我们不会在数据库中存储大型二进制文件,如图像、音乐或视频,而是选择将它们放在对象存储介质中,这样存储数据的成本更低,对主数据库的影响也最小。这里唯一的区别是,我们将数据存储在关系数据库和搜索索引中,并将关系数据库视为事实的来源。
构建懒人新闻数据库
在开始查询基准测试和优化之前,我们必须在数据库中生成一些虚拟数据。对于这个例子,我将使用 PostgreSQL 作为数据库,因为它是当今使用的性能最好和最流行的 RDBMS 之一,还因为它具有一些很棒的开箱即用的文本搜索优化特性。
该项目分为两部分:
1.数据生成
2。查询基准测试
这两者都可以在这个查询性能 GitLab 项目中找到。
数据模型
这是我们正在构建的非常简化的论坛数据库的类图。应该比较好理解。我们的主要问题是:
1.论坛可以通过ParentID
外键
2 拥有子论坛。标签和帖子有多对多的关系,我们通过使用桥接表 PostTag
3 来实现这种关系。通过一个递归查询(我们将在后面展示),我们可以获取任何给定父论坛下的所有子论坛中的所有帖子。
数据生成
目标是生成 100 万条记录,这些记录将使用代表上述数据模型的表和关系以标准化格式保存到 Postgres 中。相同的数据也将被反规格化并发送到 Algolia 索引。
为了生成数据本身,我们将使用来自 HackerNews 的一些样本帖子,然后使用马尔可夫链从样本数据中生成全新的随机帖子。这个代码可以在这个数据生成器 GitLab 项目中找到。
查询标杆
为了测试 Postgres 数据库和 Algolia 索引的性能,我编写了两个 AWS Lambda 函数;指挥,和转轮。
orchestrator 获取一些关于我们的测试场景的信息,并使用扇出模式将执行委托给运行者。runner 将获取一批查询,并针对数据库或 Algolia 索引执行它们。每个运行程序将计算其批处理的平均查询时间,并将其返回给 orchestrator。orchestrator 将从运行程序收集所有平均值,并计算该基准的总平均查询执行时间。
使用以下参数调用 orchestrator:
–批次大小
–总批次
–流道类型(DB 或 Algolia)
–复杂性(简单或复杂)
标杆
我们希望确保我们对两个数据存储都是公平的,并发挥它们的优势,因此我们将做一些事情来确保这一点。对于 Postgres 数据库,我们将使用 Amazon RDS Aurora postgresql 以及一个主实例和一个读取副本实例,两者都使用 db.r5.xlarge 实例类型(4 个 vCPU,32GB 内存)。
在数据库中创建记录时,我们还为每篇文章的正文预先计算一个 tsvector (文本搜索向量),并将其保存在数据库记录中,然后在我们的 WHERE 子句中使用 tsquery 在记录中搜索特定的文本标记。我们还创建了一个 gin 索引来提高文本搜索的效率。
在 Algolia 方面,我们也将大多数相关信息反规范化到索引记录中。例如,我们将在父论坛中搜索所有子论坛中匹配搜索文本的所有帖子,因此对于索引中的每个帖子记录,我们还将所有父论坛 id 添加到_tags
属性中。我们还将把实际的论坛标签添加到_tags
属性中。
查询
我们创建两个查询,一个简单,一个复杂。这个简单的查询不使用任何连接,只是在文章主体上进行文本搜索。
在每个复杂的查询中,我们随机选择一个我们想要过滤的论坛。有更多子论坛的论坛搜索起来会慢一点,但是我们会多次运行,以获得每种方法的平均查询响应时间。
简单查询
select * from posts
where body_tokens @@ to_tsquery(‘git’)
order by created_at desc
limit 100
复杂查询
with recursive subforums as (
select
id,
name,
parent_id
from forums
where ID = @id
union
select
f.id,
f.name,
f.parent_id
from forums f
inner join subforums sf on sf.ID = f.parent_id
)
select p.*
from subforums sf
join posts p on p.forum_id = sf.id
where p.body_tokens @@ to_tsquery(‘git’)
order by p.created_at desc
limit 100
由于搜索的本质和 Algolia 的 SDK,这些查询的 Algolia 搜索版本要简单得多
简单搜索
params = []interface{}{
opt.HitsPerPage(100),
}
postIndex.Search(“git”, params)
复杂搜索
params = []interface{}{
opt.TagFilter(fmt.Sprintf(“%v”, (*forums)[forumToUse].ID)),
opt.HitsPerPage(100),
}
postIndex.Search(“git”, params)
测试计划&结果
在此表中,您可以看到每个基准和 orchestrator 函数的 4 个参数。平均查询时间是从 10 次运行中取前 3 个结果建立的。这种方法的原因是 Postgres 数据库和 Algolia 搜索在任何给定查询的第一次运行时偶尔会抛出异常结果(较长的响应时间),但之后会很快稳定下来并返回一致的结果。
这个图表向您展示了每个数据存储的每个测试的图表。我在 y 轴上使用了对数刻度来证明,随着并发性的增加,两个数据存储都会变慢。正如你所看到的,Postgres 数据库的响应时间迅速增加,而 Algolia 搜索并没有经历太多的减速。我还提供了一个没有对数刻度的图表版本,这样您就可以直观地看到响应时间的真正差异。
有趣的是,搜索的复杂性并没有对这些特定的基准产生任何影响,但是我怀疑这是因为在我们生成的数据中,论坛帖子、标签和用户的基数实际上非常低。如果我再次运行这些测试,我会生成数百或数千个测试,以从需要连接的行的增加中获得更真实的结果。
Layered results with Log scale for response time
Layered results with a linear scale for response time
在第二张图中,您可以看到,对于 Postgres,当并发性增加到 1000 时,我们会经历非常长的响应时间(大约 7.5 秒),而 Algolia 可以轻松扩展到那个级别的搜索并发性,响应时间低了大约 15 毫秒(0.015 秒)。
如果有人愿意资助我在更大范围内运行这些基准测试,我会非常乐意。
外卖
作为开发人员,我们在构建软件时对数据存储的选择有很大的决定权。当有意义时,我们可以而且应该采用 CQRS 模式,并且在存储和查询数据时跳出框框思考,特别是当我们的产品扩展以及客户更加频繁地访问我们的传统数据库时。通过这样做,我们可以极大地改善用户体验和与搜索我们的数据相关的底层数据库成本。将像 Algolia 这样的搜索数据商店整合到你的技术堆栈中的成本相对较低,因为它可以带来非凡的生活质量改善。
我希望这次对数据存储和查询的探索对我有所启发和帮助,我期待着阅读您对我的方法以及我在基准测试方法中可能遗漏的任何内容的反馈。
作为语义搜索一部分的查询放松和范围界定
原文:https://www.algolia.com/blog/ux/query-relaxation-and-scoping-as-part-of-semantic-search/
正确的搜索查询是金发姑娘式的努力:不要太具体以至于没有结果,也不要太宽泛以至于有太多结果。与此同时,语义搜索就是要理解搜索者在搜索框中输入了什么。换句话说,有了语义搜索,我们在搜索者所在的地方遇见他们,而不是要求他们在我们所在的地方遇见我们。
输入查询放宽和查询范围。
通过同义词、查询词移除和查询范围界定等技术,搜索引擎让搜索者马上找到正确的内容。我们避免遗漏那些不会出现的相关信息,并且忽略那些不相关的信息。
查询放松和范围界定与精度和召回的概念紧密相关。Precision 是返回的结果是否相关的度量,recall 是返回的结果是否相关。提高召回率的一个具体方法是通过查询扩展。
查询扩展
查询扩展就是扩展查询匹配的内容,希望得到更好的结果。搜索引擎可能应用查询扩展的主要原因是由于没有查询扩展的“基本”搜索结果对于搜索者来说是不令人满意的。
在本系列中,我们已经看到了一些扩展查询的方法。 错别字容忍、复数忽略、词干化和词条化 都是提高检索召回率的方法。
我们已经看到的那些查询扩展方法是搜索的基石,但是其他的查询扩展方法也同样重要。
其实《搜索引擎杂志》2008 年的一篇文章就讲过 Google 如何进行查询扩展 !这篇文章不仅讨论了词干和错别字容差,还讨论了翻译、单词删除和同义词。
同义词和替代品
乔治·奥威尔在他的小说《1984 年中引入了 新话 ,这是有原因的,也是为什么它在一个关于生活完全被控制到平淡无奇的故事中引起了共鸣。语言的丰富性是由用不同的单词和短语说同样的事情或几乎同样的事情的能力驱动的。“伟大”可以是“令人敬畏的”,“低成本”是“便宜”的近邻
与此同时,这些不同的单词可以帮助我们更准确地指代除了最小的方面之外都相似的项目。事实上,这些差异有时非常小,以至于这种精确性反而会滋生混乱,使我们不太可能找到我们想要的东西。想要摇椅的顾客可能不知道是否要寻找“摇椅”、“摇椅”或简单的“椅子”
这就是同义词和替代词提供价值的地方。它们帮助我们在搜索结果中扩大回忆。
同义词和替代词相似,但不相同。(你可以说它们不是同义词。)同义词是指表示同一事物的两个单词或短语。替代词指的是相似但有一定程度差异的单词或短语。
同义词
通常,同义词通过同义词列表进入搜索引擎。这些列表可以来自预定义的列表,例如通用电子商务术语。预定义列表的问题在于,适用于一家公司搜索引擎的同义词不一定适用于另一家公司。快问:什么是控制台?你可能会立即想到视频游戏,但其他人可能会想到汽车或音乐。
由于这个原因,许多同义词列表都是内部创建的。在搜索实现过程的开始,内部主题专家会考虑所有可能是其他单词同义词的单词,并将它们添加到搜索引擎配置中。(实际上,这通常是对发生的事情的理想化看法。创建同义词列表的人通常不是主题专家,而是实现搜索引擎的人。)
一般来说,这个初始列表将提供一个很好的起点,但肯定会有遗漏的同义词。发现你的搜索者会使用哪些术语的唯一真正方法是让他们去搜索。
使用分析发现同义词
您将很快在您的分析查询中看到可以使用新同义词的内容。这些查询返回 0 个结果,表明搜索者正在寻找他们找不到的东西。
现在,并不是所有这些查询都会给你一个新的同义词。有时候,搜索者在寻找你没有的东西。尽管如此,你会看到这样的查询,你会立刻想到,“哦,我们有那个”和“我不知道人们会这样问。”
有时查询会返回结果,但不是搜索者想要的。如果你追踪所谓的“搜索优化”,这些查询也能给你同义词的灵感搜索细化表示搜索者何时搜索,然后再次搜索。这意味着搜索者第一次没有找到他们想要的东西,并再次试图找到更好的东西。搜索“Dell laptop”并接着搜索“Dell notebook”的搜索者说“laptop”和“notebook”是相关的,但是“laptop”的搜索结果是不充分的。
虽然手动浏览你的分析来寻找这些趋势没有错(慢慢进入工作周可能是一个好的活动),但如果你有一个主动为你寻找这些趋势的系统,你会更有效率。有些系统甚至会代表您应用同义词,但这并不总是有用的。人类可以发现没有显示有效同义词的细化,或者可以看到系统正在建议不正确的同义词类型。
同义词的类型
没错:同义词有不同的类型。这个概念乍一看似乎很奇怪,但它可能与大多数人对他们的看法相差不远。
“双向”是第一类同义词。这些同义词可以直接相互替换。“小”和“迷你”是彼此的双向同义词。然而,这些词不需要完美的替换,但可以足够接近,人们可能会用一个替换另一个。例如,“绳子”和“绳子”并不描述完全相同的东西,但它们足够接近,是值得的双向同义词。
考虑通过使用同义词创建的查询可能是有用的。如果我们对“小奶酪披萨”进行查询,并将其展开,您现在可以将该查询想象为“(小或迷你)奶酪和披萨。”
“单向”是同义词的下一种类型。这种类型通常用于指代属于更大类别的对象的单词。“PlayStation”是一种视频游戏“控制台”,但“控制台”不是一种“PlayStation”。如果在搜索配置中添加一个单向同义词,那么每当有人搜索“控制台”时,PlayStations 就会显示出来
为什么这两个术语之间没有一个双向同义词?因为双向同义词是可传递的。如果术语一和术语二是双向同义词,术语二和术语三是双向同义词,那么术语一和术语三是双向同义词。在一个更直接的例子中,“PlayStation”和“console”以及“Xbox”和“console”作为两组双向同义词将意味着“PlayStation”和“Xbox”是同义词,搜索者在搜索 Xbox 时会看到 PlayStation,反之亦然。
“替代修正”是最终类型。当单词之间不能精确替换,并且您希望精确匹配的单词比替换单词显示得更高时,可以使用这些选项。例如,你可能会说“裤子”是“短裤”的替代词,但是当有人搜索“短裤”这个词时,所有的短裤都应该比裤子高。
所有同义词类型,就其本质而言,都是扩展回忆。然而,对精度的影响应该是最小的,因为这些同义词是指向相似概念的“指针”。总的来说,你会期望最终用户有更好的搜索体验。
查询词移除
有时搜索者会使用不返回任何内容的查询,因为该查询过于具体,或者使用了任何记录中都不存在的单词。从查询中删除一个或两个单词,就会返回非常好的结果。这是使用查询词删除的好时机。
停止字
或许最常见的查询词移除步骤是移除“停用词”停用词是非常常见的词,为交流提供意义,但对检索没有帮助。诸如“the”或“an”之类的词可以删除原本很好的匹配。这在更面向自然语言的查询中更常见,比如语音搜索查询。
在产品搜索引擎上搜索“一件橙色衬衫”就是一个例子。如果搜索引擎搜索标题、颜色和类别,可能会有大量记录将“衬衫”作为类别,将“橙色”作为颜色,但没有一个记录包含单词“an”现在,真的,单词“an”在这里提供任何有用的信息吗?不,它没有,搜索引擎可以安全地删除它,而不会损失任何精度。
与同义词不同,你通常不想创建自己的停用词表,大多数搜索引擎都为每种语言内置了停用词表。但是,有时您会希望扩展内置列表,例如,如果您有一个非常常见的行业术语,它不会为查询提供任何值。
如果没有结果,删除单词
然后是所有单词都有价值的查询,但是一起搜索它们不会返回任何结果。通常,搜索者会对不太精确的结果感到满意,以此来换取更高的回忆率。在这些情况下,我们希望删除单词,这样我们就可以将结果呈现在用户面前。
有两种主要的方法可以做到这一点:让所有的查询单词都可选,或者从查询中删除单词。
如果您在没有结果时将所有查询词设为可选,则您依赖于这样的假设,即匹配更多词的记录更相关,其他条件相同。
另一种方法是逐个删除查询词,直到找到匹配的记录,或者查询中不再有词。你可以先去掉第一个单词,或者去掉最后一个单词。去除最后一个单词更常见。
让所有的查询词都是可选的,然后根据匹配词的数量进行排序通常是更好的方法,尤其是在与停用词的删除一起使用时。然而,当精度很重要时,这是一种不太理想的方法,并且您希望表明,实际上没有匹配所有查询词的结果。一个人可能会因为查询“古驰 v 领毛衣”而看到优衣库 v 领毛衣,而另一个人则认为这些结果完全不相关。
当然,另一种情况是知道哪些单词实际上为查询提供了最大的价值,并将它们标记为可选的。这在基于关键字的搜索引擎中通常是看不到的,但是已经有一些搜索引擎会对停用词采取类似的方法。例如,一些搜索引擎在过去已经试验过使用逆向文档频率,在没有停用词列表的情况下自动折扣常用词。
与同义词一样,查询词移除将再次扩大召回范围,通常不会影响精确度。因为停用词对结果没有太大的价值,所以你不会因为不包括它们而失去好的结果。类似地,当没有结果时删除单词不会降低精确度,因为没有可能精确的结果。
查询范围界定
我们主要研究了搜索者过于精确,搜索引擎需要扩展查询以提高召回率的情况。同样,有时搜索引擎可以理解用户意图,查询范围可以提高精确度。
搜索专家 Daniel Tunkelang 称 查询范围 “捕捉查询意图的最有效方法之一。”他确定了查询范围的两个主要步骤。首先是查询标记,其次是范围本身。
查询标记用它们可能属于的属性来识别查询的部分。例如,“Marcia”最有可能匹配“name”属性,而“The Brady Bunch”映射到“show title”属性。查询范围采用这种映射,然后限制这些查询部分的属性搜索。搜索引擎不会在“姓名”属性中搜索“布雷迪”,也不会在“演出名称”属性中搜索“玛西娅”。
这种查询范围减少了召回,因为我们不会看到在其他属性中包含该文本的结果。然而,结果应该是我们有更高的精度,因为我们没有搜索不相关的属性。
事实上,我们可以通过已知属性值过滤结果来进一步提高精确度。这甚至不需要机器学习,因为搜索引擎可以在查询中的方面值和文本之间进行简单的匹配。这极大地降低了召回率,所以我们也可以找到一个很好的平衡,用匹配值而不是过滤来提高结果。提升后的结果往往是最匹配的,因为查询过滤匹配给你一个信号,这就是搜索者想要的。
如果你通过分析或实践经验发现,你的搜索没有达到用户意图,需要搜索“恰到好处”,那么查询扩展和查询范围是校准你的精确度和召回率的两种方法。这些方法会让应该出现的结果出现,而把不应该出现的结果排除在外。
建立一个查询建议 UX 喜欢谷歌的
原文:https://www.algolia.com/blog/algolia/query-suggestion-ux-like-googles/
去年是对我们阿哥利亚人来说是重要的一年。我们雇佣了许多不可思议的人,发布了一些不可思议的新功能。最早的一个是二月份发布的查询建议。它利用我们的分析 API 来创建按受欢迎程度排序的动态建议。它易于实现,允许我们的用户在几个小时内创建一个被谷歌“宠坏”的消费者所期待的 UX。要详细了解该功能的工作原理,请查看这篇 博客文章 。
TL;DR:我们的查询建议引擎创建了一个最受欢迎的搜索词索引,并每 24 小时刷新一次。这个索引可以用来创建自动完成下拉菜单,Google 让我们很多人都知道并喜欢它。
然而,与谷歌不同的是,这份名单还不是为个人用户量身定制的。
那个性化的体验呢?
去年的一个趋势是日益个性化的内容——广告在各种设备上跟随我们,根据我们过去的浏览历史向我们推荐精选内容。例如,谷歌保存了我们的搜索结果(以及其他信息),这样两个坐在一起搜索完全相同的东西的人可能会得到不同的建议。
Algolia 的客户可以通过结合我们当前的查询建议功能和一点额外的工作来重现这种体验:通过在每个用户或每个细分的基础上保存搜索,创建高度个性化的搜索体验。
个性化的保存搜索允许您的用户快速搜索他们经常寻找的内容,而众包建议允许他们更容易地找到他们可能一直在寻找的术语。因为来自我们的查询建议功能的建议是由更广泛的受众产生的,所以它们将更频繁地变化,并且将代表什么是趋势。出于这个原因,我们建议坚持类似于上图所示的比例:1 比 5 表示保存的搜索与建议的搜索。
一个额外的好处是——通过在 Algolia 中建立保存的搜索,而不是依赖某种缓存,如 localStorage,这些保存的搜索可以跨设备使用。这允许用户在手机上搜索,以访问他们在笔记本电脑上进行的搜索。
建筑它
查询建议功能可用作实现这一目的的模板。查询建议从我们的分析 API 中提取,以创建新的索引;您必须创建一个新的索引,其中包含最近的搜索。Algolia 以每个字符为基础提取结果,但最好只将“已完成”的搜索发送到 Algolia,以便通过去抖动进行索引—等待一段时间,而不输入任何新字符。
每个已完成的搜索都应该标记上时间戳、计数和进行搜索的用户的用户令牌。每当用户键入特定的搜索词时,计数属性就会增加,并且可以用作 自定义排名 属性,以将最受欢迎的搜索提升到顶部。时间戳将允许你清除旧的搜索(比如那些超过 30 天的),并根据最近的搜索排名。usertoken 将允许您仅在每个用户的基础上调出相关的已保存搜索。
最好为所有用户保存的搜索创建一个大索引,而不是为每个用户创建一个索引,因为索引多个小索引的更新比索引一个大索引的相同数量的更新要慢得多。此外,我们建议在从 API 提取结果时使用我们的 安全 API 密钥 功能,以增强历史容器化和安全性。
在前端
需要注意的是,因为下拉列表是从两个独立的索引中构建的,所以可能会出现保存的搜索和建议。这种体验看起来有点问题,占用了本应短暂停留的下拉菜单上的宝贵空间。因此,它有助于始终显示 1-2 个已保存的搜索,但随后构建额外的逻辑来不显示在已保存的搜索中也找到的任何建议。
一个很好的用户界面是区分保存的搜索和建议。谷歌通过加粗和添加“移除”选项做到了这一点。
另外一个不错的选择是添加一个图标来表示这个建议来自于搜索历史。
【T2
宣布自动化个性化
保存用户的搜索行为,并用它来影响未来搜索结果的输出,这是我们去年最大的功能发布背后的基本概念。
12 月 18 日,我们发布了自动化个性化功能,允许我们的用户根据他们过去的行为为他们的最终用户返回个性化的搜索结果。
要考虑历史中的哪些事件——无论是产品页面浏览量、点击“赞”按钮还是通读一篇文章、每个事件的权重以及“相似”项目的评分——都由您决定,并可在 Algolia 仪表盘上进行配置。唯一的额外开发工作是在这些事件发生时将它们发送到我们的 Insights API,并在返回结果时打开“个性化”选项。
剩下的我们会处理。
供货情况
目前,我们的业务和企业客户可获得查询建议,而自动化个性化仅可用于企业客户。要在您的仪表板上直接启用这些功能,请联系您的产品专家或客户成功经理。
有反馈?发推特给我们@algolia,或者在下面评论。感谢阅读!
查询理解 101
原文:https://www.algolia.com/blog/product/query-understanding-101/
什么是查询理解?
查询理解是分析搜索查询并将它们翻译成能够产生更好搜索结果的增强查询的过程。这是伟大的搜索体验的最重要的关键之一。
有哪些查询理解的例子?
查询重写、同义词、拼写纠正、分类、NLP、矢量化、二元和三元模型检测,用于查询分段、语义查询理解、个性化、本地化和查询范围(属性映射)。
查询理解对伟大的搜索结果有多重要?
绝对重要。人们会犯很多拼写错误而且语言也天生模棱两可(“测试”、“移动”、“应用”、“夏天”、“北方”都是名词;“美洲虎”是一辆汽车、一个操作系统、一种动物等。).人们还使用俚语,并提到在结果项文本中根本不一定会提到的事情(例如,“14 号鞋”、“公园附近”、“下周四晚上”等)。).所有这些都需要转换成有意义的东西,以便更好地查询底层数据结构。
此外,查询理解还可以用于对结果进行优先级排序。例如,从历史上看,在美国或澳大利亚,当人们在政府网站上搜索“驾照”时,他们最常寻找的是驾照更新页面,而不是其他数百个提到“驾照”的页面。历史性能数据可以自动提升首选目的地的值,即使在查询本身中没有指示它是最重要的。
查询理解通常是对搜索技术的巨大考验。如果您需要将“size 14”映射到一个大小属性,或者将“next Thursday”映射到一个时间过滤器,或者自动拼写正确的查询,该怎么办?您当前的实现能做到这一点吗?如果没有,那么你就让你的客户感到沮丧,落后了。
从哪里开始查询理解技巧?
许多非常有用的查询理解技术,如同义词、拼写纠正和语义,都属于 query 重写的家族,其目的是修改查询以更好地表示查询意图,从而提高整体精度和/或召回率。这些技术的应用顺序会显著影响查询结果和处理复杂度。下面是一些最常用的技术。
同义词
同义词相当简单。他们通常是作为一个替代现实运行的,所以如果有人搜索“巨大的鞋子”,这可能会扩展到“(巨大或巨大的)鞋子”。这很简单,但如果要确定哪个应该优先考虑,可能会更复杂。如果使用机器学习(例如,通过单词嵌入)来生成同义词,则还会更加复杂。较新的语义搜索功能,如矢量搜索,内置了对相似、常见术语的理解,因此无需创建额外的同义词库。我们将在下面详细讨论这一点。
拼写纠正
拼写纠正可以以不同的方式工作。一种方法是通过想出一个最可能的替代词来纠正单词,然后允许用户覆盖它。另一种方法是宽容,允许最多两个字母的拼写错误。这叫错别字容忍度。然而,最好的选择并不总是正确的(语言含糊不清),而且犯错的惩罚非常高,因为人们可能会失去信心并放弃。像同义词一样,矢量搜索解决方案可以帮助解决许多常见的拼写错误。
Spell correction and typo tolerance is a powerful query understanding tool that is deceptively difficult to execute well.
拼写纠正的另一种方法是查看每一个可能的变体并运行它们。这可能会很快爆炸,并降低查询速度。为了保持查询速度,搜索引擎必须以牺牲查询灵活性为代价,将排序算法的优先级放入数据结构本身。根据您的应用,这可能是也可能不是一个好的权衡。
我们的拼写纠正技术(在撰写本文时)是多种技术的结合。它会查看备选方案,但可以使用距离根据搜索者意图的可能性来有效地权衡它们。这非常有效,不仅可以从查询数据中训练,还可以从结果项本身——产品名称、标题等——中训练。它可以立即理解您的数据——以任何语言——然后随着时间的推移通过更多的查询继续改进。
查询分类
查询分类有助于搜索引擎预测最相关的类别或项目选择。搜索模型将使用以前的搜索和来自您站点的搜索数据来预测某个查询属于某个类别的可能性。在 Algolia 的查询分类中,我们使用基于向量的语义模型来预测搜索查询最有可能与哪些分类相匹配。
语义查询理解
语义查询理解是实际尝试理解查询意图的过程。语言本质上是非常模糊的,一词多义的概念恰当地描述了为什么这对于搜索来说是一个问题:“poly”意味着多重,“semy”在这种情况下意味着各种意义。“银行”是这方面的经典例子;这是指金融机构还是河边?不加上下文,很难知道。尤其是英语,例子比比皆是。幸运的是,有一些方法可以解决这个问题。
对于包含多个单词的查询,上下文通常更明显。对于单个搜索词,这更困难,但是在这些情况下,过去的查询序列历史可能是有用的。例如,如果有人搜索“atm ”,然后搜索“bank ”,那么第二个查询不太可能与河边有关!
分类也可以用来理解查询意图的类型。这对于搜索具有多种不同数据类型的数据集的查询框非常有用。LinkedIn 就是一个例子,在那里你可以搜索公司、人、工作等。每个查询的历史模式有助于预测最可能的结果类型。电子商务是另一个例子,其中支持查询不同于产品搜索。例如,搜索“退货鞋”应该包括退货的结果,而不是显示购买的鞋。
LinkedIn is a good example where the search intent can be highly ambiguous. Data is key to getting the intent right more often than wrong.
自然语言处理
NLP 是分析非结构化文本以推断结构和含义的过程。在这种情况下,结构指的是高度定义的信息,例如类别或数字,很像数据库中的字段。它还可以表示事物之间的关系。常见的例子包括大小、颜色、地点、名称、时间、实体和意图,但还有更多。当底层数据具有大量可以从查询映射的结构时,NLP 最有价值。
NLP 还将解析查询,使其更容易理解。一个常见的例子是使用词干将术语还原到它们的根——“运行”和“运行”变成“运行”。通过将单词映射到词干,我们可以识别同义词以改进查找。NLP 还将有一个停用词列表,如“the”、“is”、“and”和其他常用术语,以减少查询中的噪音。
Natural language processing (NLP) is getting closer to the human level interpretation of written language.
查询范围界定
NLP offers user-friendly search capabilities.
*查询范围可以使普通的文本搜索显得高度智能。这种技术试图在查询中找到不一定匹配非结构化文本(反向索引)的结构,而是直接映射到结构化数据属性。
一个例子可以是查询“黑色 14 号篮球鞋”。产品信息不太可能提到文本“size 14”,但是尺码很可能出现在相关产品的尺码列表中。“黑色”可能是描述中的颜色,但也可能映射到更具体的颜色属性。所以这个查询实际上可能删除了这个文本,只查询“篮球鞋”,但同时过滤结果集为 size=14,color=black。这极大地提高了精确度,并且在严格和基于搜索的情况下也可以提高召回率。
上述技术的缺点是理解具有潜在混合含义的查询。对于示例查询“size 6 nike ”,尺码可以是指鞋的尺码,可以是男式、女式、儿童、美国、英国或其他,衬衫尺码,运动胸罩尺码,或者甚至是篮球尺码!过度过滤(或过度提升某些结果)会导致精确度的显著降低。
尽管存在潜在的问题,但好处远远大于坏处。实现这种技术的典型方法是从查询中删除特定的文本,并将其转换为结构化操作(即过滤或提升)。这允许人们使用自然语言来描述他们想要的东西,并将其转换成比原始的非结构化查询更有意义的东西。
最后,如果一个结构没有出现在您的记录中,这并不意味着您不能自己生成它。索引时间分析和数据提取是为信息添加结构的强大工具。聚类、分类、主题建模、标记和实体提取只是一些可用的强大技术。
词语嵌入
矢量化是将单词转换为向量(数字)的过程,这使得它们的含义能够以数学方式进行编码和处理。这是语言翻译和许多其他惊人应用的基础。向量的神奇之处在于它们也可以加减,所以文本的意义也可以加减。在实践中,向量被用于自动化同义词、聚类 documents、检测查询中的特定含义和意图以及对结果进行排名。
The well-known word-embedding technique word2vec illustrates how language can be converted into mathematical vectors that retain meaning. It’s even more surprising the context can be added and subtracted mathematically that retains meaning.
查询分割
查询分段是识别标记序列的过程,这些标记序列在一起比它们单独起来更有意义。这有助于通过不返回部分段的结果来提高精度。两个单词和三个单词的短语(在这种情况下是二元模型和三元模型)是有用的,因为它们可能比单个单词(一元模型)有更多的含义。
例如,以短语“纽约”为例。这两个词本身意义不大,但放在一起显然很有意义!因此,它们可以合并成一个术语,甚至可以有反向索引,而不是单独处理。我们可以查找这两个词的索引,并计算出它们何时按顺序排列,以导出短语匹配,但是 a)这更复杂,b)我们可能不希望人们搜索“new”时得到“new york”的结果。此外,如果人们搜索“new ”,可能会匹配包含“new york”的结果。这对于强化学习和其他我们不希望机器学习不公平地惩罚部分匹配的技术来说也是有问题的。希望这没有让你迷失,但是关键点是最大化信息上下文。
像英语和法语这样的语言使用空格来分隔单词,但是像中文、日语和朝鲜语这样没有分隔符的语言需要额外的分割算法。在 Algolia,我们还在图书馆中内置字典。从问题的左边开始,Algolia 将尝试使用已知的字典术语分解查询。在不确定的情况下,我们优先考虑最大化单词长度同时最小化不属于已知单词的字符数量的解决方案。
T10T12 个性化
个性化是根据正在搜索的个人向查询添加额外信息的过程,以改变与个人更相关的结果。这可以简单到衣服尺寸偏好、性别、地点或任何其他可能影响其结果的个人特征。
通常,个性化的第一阶段是通过查询发送信息,以便用其他分析记录。然后可以离线分析性能影响,以确定这是否有价值。应该注意,从商业智能的角度来看,这本身是有用的,即使它不用于个性化。
Often queries can be layered with personal information to augment and influence queries to produce highly personalized results
本地化
本地化是使用搜索者的位置来增强结果的过程。Meetup 就是一个很好的例子。谷歌还经常提示用户启用定位服务,这样它就可以提供本地搜索结果。它也可以从查询文本本身中提取(参见上面的 NLP ),就像房地产和工作搜索引擎通常所做的那样。
请注意,这可能会引起问题。例如,澳大利亚的地理定位准确率不到 80%,所以你会把大量的人放在错误的随机城市,甚至可能超过 1000 英里。这些怪圈通常是可航行的,但设计时要小心,并在假设位置不正确的情况下始终考虑 UX 流量。Meetup.com 就是一个例子,它的位置对于搜索来说是如此的重要,以至于它现在已经深深地融入了搜索 UX。思考一次错误猜测的代价通常是值得的。对查询的理解永远不会尽善尽美,所以通常最好让用户能够轻松地进行自我选择。
Meetup.com integrates location selection directly into the search bar.
语音搜索
基于语音的查询正在增加,这只是进一步增加了对高级查询理解技术的需求,主要是因为网络搜索最初训练我们缩短查询(更多文本=更少结果)。但是语音搜索已经增加了查询长度,并且在查询中包含了更多的结构。讽刺的是,语音翻译可能会弄错单词,但拼写是完美的,所以这提出了其他挑战。
查询理解提示
查询日志是您的朋友,应该帮助您设置查询理解的优先级。例如:
- 高容量的零结果搜索指向机会。他们为什么失败了?
- 如果没有人使用自然语言和/或您没有结构良好的信息,那么查询范围可能就没什么用了。
- 如果商业语言不能很好地翻译成客户语言,同义词可能会有用。
- 你的客户会犯拼写错误吗?频率如何?如果他们犯了很多错误,那么纠正无疑会有所帮助。
像矢量化和个性化这样的高级技术应该放在最后,因为它们需要更多的努力。虽然个性化搜索看起来更像是圣杯,但通过正确处理基本问题,可以提取更多的价值。毕竟,将糟糕的结果个人化是没有用的。*
Algolia 网络研讨会:通过数字化转型实现 4 倍的产品发现指标
数字专家系列是由 Algolia 主办的一个 30 分钟的速战速决会议,让您与在全球领先企业中成功推动数字化转型战略的高绩效人士面对面交流。
我们最近有幸邀请到加拿大领先的奢侈品男装零售商之一哈里罗森的数字产品和体验总监托维海尔布隆。
**Tovi 讲述了 Harry Rosen 如何从一个整体架构转变为一个敏捷的、基于微服务的架构,该架构帮助该公司提供了与实体店同等高水平的在线客户体验。他报道了哈里·罗森数字化之旅的重要方面,例如:
- 推动转型—为什么 Harry Rosen 需要转型他们的技术团队
- 为成功做准备—选择合适的技术合作伙伴时的主要评估标准
- 实现里程碑和前进的道路—关键成果、后续步骤和观众 Q & A
无论你是首席技术官、电子商务主管还是产品经理,你都可以从这些独家见解中受益。 Algolia 的数字专家系列 中的每一个环节都被设计成对话式的,包含有用的信息、对策略的见解、可操作的建议和坦诚的 Q&A;所有的商业领袖都利用无头商务的力量为他们的公司和顾客创造成功的体验。
你错过了这个吗?别担心,你可以在这里看
想下载更多制胜战略,推动您的数字化转型之旅吗?观看往届 安戈的数字专家系列 。
我们的数字专家:
Tovi Heilbronn 是 Harry Rosen 的数字产品和体验总监。Tovi 拥有超过 14 年的技术产品管理领导经验。他带领多家零售商进行数字化转型,涉及奢侈品、时装、男装和体育用品等多个专业领域。Tovi 毕业于约克大学,在加拿大多伦多工作。****
开发者推荐:推荐完整指南
推荐的是一款网上买家和媒体消费者必备。他们已经成为在网上寻找最好的数字内容不可或缺的一部分。当我们输入查询、浏览结果、查看商品和购物时,它们就会出现。
事实上,我们正处于这样一个阶段,许多用户如果不点击推荐,甚至无法想象在网上购物、看电影、阅读文章或做任何事情。要么是可供选择的内容太多,要么是推荐的内容太相关,让人无法抗拒。
为了量化这一点, 几乎所有的在线用户活动,如浏览、点击和转换,都涉及搜索或推荐 。例如,零售 网站上的购物者有 43%会直接进入搜索栏。此外, 推荐占了一些领先网站转化率的很大一部分
- 人们在 YouTube 上观看内容的 70%
- 消费者在亚马逊上购买商品的 35%
- 80%的人看好网飞
这对开发者意味着什么?没有机器学习背景的开发人员如何构建数据、算法和用户界面来提供如此有意义和相关的建议(和业务结果)?
我们来看看吧!
如何在你的 UI 上显示推荐
我们将查看显示和生成建议的示例代码:
- The API——如何检索建议
- 用户界面–如何显示推荐
- 数据——如何通过用户事件获取使用分析
何时何地显示建议
您可以在任何页面上显示推荐。比如在 首页 ,在这里你可以推荐你最热门、最潮流的单品。正如您将在下面看到的,推荐使用各种机器学习模型来检测趋势项目。
但是当你的用户浏览你的网站时,他们会希望在任何时候看到与他们正在做的事情相关的推荐。这里有一个页面列表,在这里推荐是一个很大的资产。它们都与用户正在查看的一个或多个 特定项目:
- 产品详情页面
- 搜索结果页面
- 文章页数
- 视频页面
- 播客页面
- 检查页面
最后, 方面和类别: 你可以对属于某个方面或类别的项目提出建议。这些建议可以出现在上面的页面列表中,但是它们与下面的页面最相关:
如何检索推荐-代码
在任何这些页面上实现建议 只需要一个 API 调用。下面是一些例子(用 JavaScript 参见我们的 推荐 API 参考 所有语言):
对于主页,可以显示趋势项 :
recommendedItems = client.getTrendingGlobalItems([
{
indexName: 'your_index_name',
threshold: 80
},
]);
对于商品详情页,可以显示 相关商品 :
recommendedItems = client.getRelatedProducts([
{
indexName: 'your_index_name',
objectID: 'your_item_id',
},
]);
recommendedItems = client.getFrequentlyBoughtTogether([
{
indexName: 'your_index_name',
objectID: 'your_item_id',
},
]);
对于类别页面,可以显示特定类别 : 内的趋势项
recommendedItems = client.getTrendingItemsForFacet([
{
indexName: 'your_index_name',
threshold: 80,
facetName: 'category',
facetValue: 'sweaters'
},
]);
如何显示推荐–UI
最后,对于 UI,你可以使用我们的InstantSearch 前端库 到用下面的 6 行代码显示上面的任何 API 调用(见下面的视频演示):
recommendedItems = relatedProducts({
container: '#relatedProducts',
recommendClient,
indexName: 'YourIndexName',
objectIDs: ['YOUR_ITEM_ID'],
itemComponent,
});
https://www.youtube.com/embed/XEfFCJ5_uBI?feature=oembed
视频
详见我们的 潮流模特专题聚焦 文章。或者看完整个 推荐教程 这里。
捕捉用户事件的使用分析
正如你将看到的,几乎所有的推荐都来源于捕捉用户点击、浏览和转化时的行为。虽然不要求开始使用推荐,以 分析事件 的形式捕捉相关的使用活动,并将这些数据输入推荐引擎的机器学习模型,将提升你的推荐。
同样,无论您是从 前端 还是从 后端 发送事件,都只需要一个 API 调用来捕获事件。
下面是从前端发送一个点击事件的代码:
insights_library('clickedObjectIDsAfterSearch', {
userToken: 'user-123456',
eventName: 'Product Clicked',
index: 'products',
queryID: 'cba8245617aeace44',
objectIDs: ['9780545139700'],
positions: [7],
});
下面是在搜索之后发送一个转换事件的代码:
insights_library('convertedObjectIDsAfterSearch', {
userToken: 'user-123456',
index: 'products',
eventName: 'Product Wishlisted',
queryID: 'cba8245617aeace44',
objectIDs: ['9780545139700', '9780439785969']
});
入门 发送分析事件 此处。
引擎盖下——推荐数据&车型概括地说
数据
我们在网上搜索的大部分内容都涉及到 结构化内容。 也就是说,我们搜索的网站,其数据包含明确定义的项目,比如产品、文章、电影,其中每个项目(产品、电影或文章)都是一条带有属性的记录。搜索引擎将这些数据称为索引,通常表示为带有属性的无模式记录集合。想想 JSON。
搜索引擎的工作是返回其属性与查询中的字符相匹配的每条记录。推荐引擎的工作是什么?首先,推荐引擎使用与搜索引擎相同的记录(及其属性)。
还有第二个数据集包含实际的推荐。因为推荐器引擎使用多个学习模型,所以必须以某种方式准备第二个数据集,以允许引擎应用其各种学习模型。如下所述,推荐使用机器学习模型来学习项目并在项目之间建立关系。
有了这些数据,推荐引擎就可以根据建立项目之间的关系
- 数据("基于内容的过滤")
- 用户行为&事件【协同过滤】
1。基于数据的关系
引擎使用 ML 模型 基于内容的过滤 基于相似性生成项目组,其中相似性来自于比较所有记录的属性内容。属性 显著 匹配的记录被认为是相似的,因此被分组在一起。推荐引擎使用这些组来基于相关记录在同一组中的包含性来推荐相关记录。
例如,推荐器引擎可以读取一个索引,并且看到一些项目包含具有类似“运动鞋”“城市居民”“跑步者”的数据的属性;它可以通过查看标题、描述和其他属性(标题优先)中的内容来做到这一点。如果看到足够多的相同数据,它可以将所有符合这三个标准的记录组合在一起。我们姑且称这个群体为“城市跑者——球鞋”。稍后,当推荐器引擎看到用户正在选择“city-runner-运动鞋”组中的项目时,它可以推荐该组中的其他项目。
使用基于内容的过滤的一个好处是,您可以在第一天就开始显示推荐,而无需等待下一个模型所需的用户分析。然而,基于内容的过滤模型也可以与分析相结合(我们称之为“混合引擎”模型),以产生更强的关系,正如我们现在将要看到的。
2。基于用户行为的关系&事件
引擎也可以使用 ML 模型 协同过滤 根据用户对索引中的记录所做的事情来生成分组。当用户点击或查看或购买或以任何其他方式转换时,推荐引擎可以开始将项目分组为“相关”、“经常一起购买”或“趋势”。这些关系不需要看数据;相反,它们完全依赖于用户与数据的交互方式。
基于协作的推荐本质上依赖于先前的用户活动来对具有相似点击和转换集合的项目进行分组。概括地说,这个想法是当许多用户点击或转换不同的项目时,引擎可以开始检测一些项目共有的点击和转换模式。共享相同模式的项目被认为是相关的。这被称为 基于项目的剖析。 这里有个例子。
我们可以创建一个类似“观看摇滚音乐纪录片的客户”的个人资料。这是通过捕捉用户的搜索词、点击和转化等活动来实现的。如果用户查询“披头士”并点击他们的“回来”和“顺其自然”纪录片,这表明了一种模式。如果许多用户对其他音乐艺术家采取类似的行动(搜索音乐艺术家并点击他们的纪录片),推荐引擎将确认有一个音乐纪录片档案,其中可能包含许多项目。从那时起,只要用户表明这种偏好(通过搜索或观看音乐纪录片),引擎就可以开始推荐最常观看的音乐纪录片。
一般逻辑就是这样。现在让我们来看看 Algolia 到底能提供什么。
有哪些推荐车型 Algolia 推荐优惠
Algolia 在 2021 年发布了第一个版本的 Recommend,有两个型号。从此, 推荐 就演变成了提供附加推荐的车型。总的来说,我们的模型分为三大类:
- 相关内容(媒体内容、产品)
- 经常一起买(看,读,…)
- 趋势(项目和方面)
【相关内容(及相关产品)
Algolia 采用一种混合方法,使用协作和基于内容的过滤模型来生成相关内容。
注:您 可以开始使用 类似相关内容和相关产品的推荐模型,仅使用基于内容的过滤,不需要协作(基于事件)数据。不过,我们将解释协作过滤(可以随着时间的推移添加)如何提升体验。
从协同过滤开始, 推荐 分组项目基于 项目档案 。它的工作方式如下:每当一个项目被点击时,我们用点击该项目的用户的 ID 存储该项目的对象 ID。当 Recommend 获得足够多的用户点击和转换来建立一个项目的档案(10 个用户至少有 10,000 个事件)时,它将有足够多的用户事件来创建有意义的项目档案。此时,查看简档项目的用户可以接收对属于同一项目简档的其他项目的推荐。
为了加强这些项目关系,我们添加了基于内容的过滤,查找记录属性的相似性,如上所述。然后,我们结合两个模型的结果,保持每个模型的最强关系。
这里重要的一点是,由于相关内容使用基于内容的过滤,你甚至可以在积累了协同过滤所需的 10K 事件之前就开始显示推荐。
经常一起买(或者看,看等。)
基于协作过滤(仅限转换),Recommend 根据同时转换(购买、添加到购物车、查看)两个或更多项目的用户数量生成项目配置文件。推荐需要 10 个用户对两个或更多项目进行至少 1000 次转换事件,才能开始生成有意义的推荐。
我们通常会在三种情况下看到“频繁一起购买”:当用户正在查看一件商品,将一件商品添加到购物车中,或者刚刚购买完一件商品。
转换事件是不可知论的:它们可以用来表示项目是否被一起观看或阅读,而不仅仅是购买。所以“勤 行 合”是对这种模式的一个比较笼统的理解。
趋势
有了趋势,我们不再需要用户 ID,而只关注一个项目或方面最近的受欢迎程度。最基本的计算是用统计来确定哪些物品具有 最强的上升趋势 的转换率。我们提供三种趋势:
-
- 我们查看 整个目录 中的商品,并推荐转化率上升趋势最强的商品。
-
趋势项,按面过滤
-
- 我们查看一个方面或类别 内的所有项目 ,并推荐转化率上升趋势最强的项目。
-
- 我们查看各个方面,并推荐其项目转化率上升趋势最强的方面。
匿名推荐
毫无疑问,你已经看到了,我们非常依赖捕获用户 id 来创建个人资料。虽然这引起了合理的担忧,但我们已经建立了我们的机器学习模型,以确保完全匿名。
因此,每当我们提到 用户 ID 时,一切都是匿名的,这意味着当我们保存用户 ID 时,除了这个唯一的 ID 之外,我们不保存任何个人特征。我们只对 ID 的唯一性感兴趣,以帮助对类似的项目进行分组。
我们创建的 简档 是 项 简档,也就是将用户行为集合相似的项分组在一起。因此,我们对分析用户不感兴趣,所以我们不需要存储任何个人信息。我们只利用用户 ID 来加强模型的项目配置文件的生成。
下一步
正如我们已经讨论过的,我们的模型可以在你网站的不同部分显示推荐。无论您希望优化客户旅程的哪个阶段,我们都可以提供帮助! 报名免费试用推荐 。
让技术内容人人可读
这是七篇 系列博客 中的第二篇文章,描述了我们最近对我们的文档架构和内容的修改。我们在这里关注写作选择。
许多文档是由开发人员编写的,也是为开发人员编写的。如果您的读者是开发人员,他们需要直接的、即时的信息,比如关于方法参数、代码片段和错误消息的细节,这种方法就很好。然而,当您的公司不仅在客户群中增长,而且通过提供更多与业务相关的功能,那么字典风格的文本——或通常称为参考资料——不足以满足构建具有多种功能和最佳实践的复杂应用程序的更广泛需求。例如,最佳实践是至关重要的:正确有效的功能实现是客户从您公司精心设计的产品中获得最佳收益的唯一途径。
Algolia 的技术写作团队已经朝着这个方向前进。我们的文档现在涵盖了广泛的主题,如同义词、意图检测、NLP、分析、个性化和销售——所有这些都会影响业务和实施。我们的读者不仅包括开发人员,还包括 CTO、产品经理和营销人员。因此,我们需要支持不同目标和档案的读者。
但是每个读者都有相同的目标:了解 Algolia 提供的服务,并充分利用他们在时间和金钱上的投资。
写作选择
需要改变。我们没有给每一个主题最好的覆盖面,相关的信息并不总是有条理地组合在一起。一些读者希望更多地关注问题的解决,包括例子、代码和技术细节;其他人希望功能更加清晰,用清晰、非技术性的语言展示用例分析和优势。
此外,我们的文档并不总是用户友好的:充满了行话,文本过于稀疏和低级,不容易被我们所有的读者阅读。我们使用的语言有时会疏远或恐吓我们的读者。
我们通过在每个页面的内容流中加入更易理解的单词选择和更多的故事讲述来解决这些问题。
本质上,我们决定采取一种 渐进的方法 ,其中所有的东西——导航、页面结构和语言——都从熟悉的开始,并逐渐变得更加复杂,一路上都有清晰的标记,指明在哪里可以找到代码或进行更深入的研究。
最终,我们相信我们的读者——无论他们的目的或背景如何——都能找到我们的文档并得到他们需要的东西。
选择词汇
我们首先关心的是语言。以前,我们不使用每个人都能理解的单词和短语。我们在很大程度上依赖行话,这存在双重问题,即假设阅读我们内容的每个人都是高度技术化的,并且也擅长阅读我们的思想。
拿一个字像 复制品 。就其本身而言,它对初次读者来说毫无意义。这是一个以阿尔戈利亚语为中心的术语:当我们说它时,我们拥有它的意思。我们以一种非常特殊的方式使用它,这与它的字典含义不同。然而,我们需要来使用它:没有更好的词来捕捉“与其他索引不同地排序结果的重复索引”的想法。当然,这句话需要更多的上下文——我们需要定义术语“索引”和“排序”,否则,数据库管理员可能会错误地认为 Algolia 索引位于数据库表的顶部,而在 Algolia 中,索引 是数据源本身 ,而 排序 在 Algolia 中是一个复杂的主题,需要其 自己的页面你明白了——我们不再认为任何事情是理所当然的。
好的词汇选择遵循技术文档使用简单语言的一般建议。因此,我们的方法是从一个普通的词开始,然后使用一个更专业的术语。一句话需要引子,就像一个人物在说话或表演之前需要被引子。
我们试图定义所有的术语。有些单词只需要一个单词或短语,比如“属性(键/值对、字段、信息)”;其他的需要更多的上下文,比如“可搜索的属性(一组精选的属性,用于搜索,而不是显示、过滤或排序)”。还有一些术语(相关性)需要一个 全页 (那需要几天的调研和采访重点),包括我们的创始人和 CTO)。但是结果是值得的,因为所有这些术语都是核心概念,并且根据上下文的不同,它们中的许多都有多种细微差别。
先从问题入手,再介绍解决方案
我们认为每页的第一段是吸引读者的有效方法。我们问—当每个读者登陆我们的页面时,我们希望他们看到什么? 我们的答案是:对页面将要解决的 问题 的简单陈述或描述。
这种解决问题的方法与使用清晰的词汇和定义术语是一致的。我们相信,直接进入一个问题会让读者进入一个熟悉的环境,并鼓励他们继续阅读,找到解决问题的方法。我说“问题”,但它可能是一个需求或一个常见的用例。问题解决直接与任何对解决他们自己的问题感兴趣的读者对话。这种方法也可以吸引那些想选择 Algolia 或增强现有解决方案的好奇者。
利用更多例子
我们试图坚持每页一个例子,并将这个例子贯穿到问题/解决方案的总体处理中。我们知道并不是每个例子都直接适用于读者的特定情况,但是我们认为一个精心选择的例子仍然可以让每个读者看到一个特定的问题是如何解决的,并且能够使它适应他们自己的情况。事实上, 一页 呈现了几个例子,从电影到菜谱,到演员,到书,再回到电影,有一些重复的角色,像查理·卓别林,哈利·波特,蓝莓派。该页面最终在同一个索引中合并了电影和演员。对于本页面,每个示例对于解释同一故事情节的不同方面都很重要,即格式化数据有许多细微差别,需要不同的选择。
创建新种类的页面
除了第一段,我们还考虑了整个页面—我们想让读者看到什么? 我们想出了三种内容:概要概述、更深入的理解,以及带有代码示例的实现指南。
然而,在设计页面之前,我们需要解决两个主要问题
- 如何吸引非技术型读者,劝阻他们马上离开,避免页面上出现过多的技术型 感觉 。
- 相比之下,我们需要避免过度简化或过于笼统。我们需要用直截了当的技术解释和清晰的实现细节来满足我们的开发者读者。
因此,我们给了自己一个困难但并非不可能的任务:满足两个非常不同的关注点——在同一页上,用相同的词和相同的条件。我们提出的解决方案是双重的:
- 非技术人员需要用他们说的语言,用他们能理解的术语,用他们能理解的例子来感受欢迎。他们需要一个渐进的流程,从熟悉的开始,然后变得更复杂。
- 对于开发者来说,他们需要做更多的滚动。但老实说,他们无论如何都要滚动,对吗?于是他们开始滚动,很快就找到了他们想要的东西——特定问题的特定答案。此外,他们需要有清晰的路标(超链接、按钮),告诉他们在哪里可以找到代码、其他实现细节或关于某个主题的更深入的信息。
简而言之,我们想给所有的读者,包括开发者,一个问题的清晰描述,用例子和特性描述来解决它,以及更多信息或代码的明显导航。为此,我们建立了一个 3 页的方法:
-
一个 登录页面 ,它通过总结一个问题并以一种概括的方式描述我们的解决方案/功能的方式、原因和内容来搭建平台。在这种背景下,读者可以采取以下步骤:停止阅读,因为他们只需要一个摘要;转到给出确切实施细节的 操作指南页面;转到一个 深入页面 ,深入挖掘问题/解决方案。
-
一个 how-to 页面 (以及我们现有的 API 参考页面 ),其中包含了大量的例子,更详细的解释,以及大量的代码。一般来说,我们提出一个用例或问题,提供一个例子或真实数据集,然后向读者介绍我们的解决方案。
-
超出摘要描述的深入页面。它在主题上花了更多的时间,并给读者提供了更多关于特征及其背景的信息。这是给需要或想知道更多的读者的。这也给了作者一些喘息的空间,让他能够深入一个主题,并给予它应有的重视。
渐进式方法
如开头所述,我们在这里描述的是一种渐进的文档方法,它存在于每一个层面——架构、页面格式、内容流以及单词和短语。我们文档的每一部分都是从熟悉的开始,然后向更技术性和更复杂的方向发展,希望熟悉的能推动对技术性和复杂性的理解。
Algolia 多年来一直努力提供基于常识的功能。我们希望在我们的文档中反映这种常识。
我们文档的重新设计不仅仅是重写。我们的下一篇文章关注新架构的外观和感觉,更具体地说,关注我们在 UX 和 UI 阶段做出的决策。
重新设计我们的文档-第 6 部分-大型项目的流程和物流
这是七篇 系列博客 中的第六篇文章,描述了我们最近对我们的文档架构和内容的修改。我们在这里重点关注承担如此雄心勃勃的事业所面临的挑战。
重新设计我们的文档花了将近一年的时间才完成,有近二十个人参与其中。我们从容不迫,精心规划,创造了一个协作和吸引人的工作环境,并预测了对我们的贡献者和客户的影响。所有这些都在我们新文档的交付中发挥了作用。
而第一步呢?知道何时迈出第一步。
等待合适的时机
让我们回到项目开始前的一年。我们已经知道我们需要改变,但是我们在 doc 团队中只有两个人——一个技术作家和一个后端开发人员。这本来是不可能的。这种大改造需要时间和更多的人手。这件事必须在恰当的时候做。
但是这并没有阻止我们做一些初步的工作来使我们更接近我们的目标。在我们日常维护文档的同时,我们也采取了一些小步骤来为全面的架构变化奠定基础,例如,我们开始重新构建我们的 how-to 和 tutorial 页面,考虑到有一天我们会希望这些内容可以从我们的指南中轻松访问。
当我们的团队从 2 人发展到 5 人,外部贡献者准备就绪,等待重新设计的积压任务达到橙色警报时,我们决定开始这个项目。
策划
进行如此大规模的改造时,容易被低估的是规划阶段。整个项目花了我们 9 个月的时间来完成,但实际工作——重写内容和编写新的用户界面——只花了我们 3 个月。
这留给我们 6 个月的前期设计。这可能看起来很疯狂,但在我们的情况下这是必须的。我们来看看为什么。
写下第一个愿景
你需要 docs 团队的每个成员都保持一致。您还需要其他贡献团队了解他们将添加工作的环境。最后,你需要更全面地解释为什么你要做这么大的调整。为此你需要有书面的东西。
这一愿景需要所有参与团队的共同努力,这样每个人都会感觉参与到项目中,并理解他们的影响。如果你没有为这样规模的项目这样做,人们很有可能不想做这个项目,或者很快就会泄气。
与用户研究一起迭代视觉
正如本系列 的第部分第二部分和第 部分第三 部分所述,我们进行了广泛的用户研究,这使我们能够验证我们的愿景并做出更好的决策。
也是在这段时间里,我们反复强调我们想要的体验——设计信息流、引导页面和概述内容。
这也是提前思考、预测潜在问题的好时机。我们仅在设计上就花了几个月的时间,从而减慢了进度。这不仅有助于我们保持一致,而且确保每个人都了解我们努力实现的目标。我们越往前走,就越需要其他阿尔戈利亚人的建议和意见。这创造了一种心态,公司里的很多人都知道这个项目,并在这个过程中支持我们。
生产计划
一旦我们明确知道我们需要做什么,我们就开始计划。我们都同意最好不要把工作分散在太长的时间里,所以我们把时间限制在一个季度。我们将发布所必需的工作和可以在以后的迭代中完成的工作分开。
需要做的工作是巨大的,需要贡献的人数也是巨大的。我们采取了一周一周的方法,在整个 3 个月的目标期内,我们分散完成不同的任务。这种计划影响了所有的贡献者,并在管理依赖性和期限方面发挥了关键作用。
将项目拆分成更小的子项目
不是每个团队都会参与项目的所有部分。因此,调整不同部分对于总体目标非常重要。仅仅知道最终目标是不够的;每个团队都需要准确地知道他们的职责范围。
下面是我们的分工:
- 研究(设计+文档团队)
- 重写指南、教程和操作页面(文档团队)
- 所有语言指南的代码片段(文档团队、API 客户团队)
- 网络(即时搜索网络团队)
- 移动(即时搜索移动团队)
- Widget showcase(设计+文档团队)
- 重新设计(设计+文档团队)
这只是第一次拆分。通过这样做,我们能够知道哪个团队负责哪个部分。根据团队和子项目的不同,有时有必要对工作进行更多的划分,列举个人的职责。一些团队自己(口头上)做了这种分割,这就足够了。其他团队需要写下各自的任务。
流程应该有多正式?
我的建议是,只在需要的时候才建立正式的流程。如果一个团队能够并且想要更好地组织自己,给他们自主权和灵活性。但是如果事情出了差错,你需要快速反应并投入流程以回到正轨。这可以通过几种方式来实现:
- 更详细的规划。
- 协调会议。
这是项目管理。作为一家初创公司,我们有时想做一些没有流程、没有计划的事情;然而,对于一个大型项目来说,这是不可能的。根据我在 Algolia 的经验,一旦有超过 4 或 5 个人在同一个项目上工作,你就需要一个计划。
管理外部性
在 Algolia,我们有一个文档团队,但是每个人都可以对文档做出贡献,解决问题,更新内容。许多人为我们的文档做出了贡献,包括开发人员和非开发人员。我们的支持团队成员也做出了巨大贡献。所以我们需要确保这个项目不会中断这些重要的贡献形式。
减轻对文档贡献的影响
在重新设计之前,我们的文档由几个部分组成:
- 导轨
- 教程
- API 客户端
- REST API
- 框架集成
只有前两部分(指南和教程)会受到我们改进的影响。我们重做两部分不应该影响这些人的工作。所以我们决定尽可能长的时间我们想要:
- 始终允许投稿。
- 为了能够将这些贡献应用到生产中,
修改本方回购
我们的网站代码库和内容托管在一个单独的私有 github repo:algolia/doc。
如果我们将回购的结构模式化,它看起来会像这样:
/doc
/guides
/tutorials
/api-reference
我们知道重新设计会改变这个基本结构。因此,我们引入了一个新的文件夹 doc2/ ,它没有部署在生产环境中,但是可以在开发模式中使用,我们可以在 github Pull 请求中预览它。
/doc2
/guides
/tutorials
/how-to
/in-depth
/doc
/guides
/tutorials
/api-reference
这使我们能够在不影响当前文档的情况下处理新内容。
我们还能够在即将被移除的部件上进行修复和添加新功能,并将其并行部署到生产中。
这种方法有一个缺点。对于我们在 /doc/guides 或 /doc/tutorials 下做的任何更改或修复,我们需要将其集成到新内容的某个地方。如果只有几个人贡献,这可能很容易,但在我们的情况下,有这么多贡献者,这是一个挑战。拯救我们的是 docs 团队是批准和合并回购变更的人。因此,docs 团队能够完全负责确保复制选择做得很好。
我们在新设计中采用了类似的方法。我们复制了模板、布局和样式表。
冻结部署(但不贡献)
当我们到达项目的末尾时,我们知道我们必须冻结部署,以便完成一切并删除旧的内容。进行这样的冻结会影响整个公司,所以我们需要提前计划并传达我们的时间表。在做这些事情时,我会给出一些建议。
- 早沟通。
- 在冻结开始前给人们时间推动事情,以避免问题和潜在的挫折。
- 告诉人们冰冻什么时候结束。
- 冻结之前,确保参与部署的每个人都清楚自己的角色,并有专门的时间来完成这项工作(因为冻结不是你想要延长的)。稍后会详细介绍。
- 做完了再沟通。
冻结部署并没有停止捐款。每个人仍然能够做出贡献。这很重要。我们文档的成功依赖于我们的贡献者。如果你开始告诉积极的贡献者停止推动改变,你可能会失去他们这样做的反射。
对客户的影响
我们知道重组文档需要我们的观众改变他们的习惯。更糟糕的是,一些目前正在实施他们的第一个解决方案的客户会感到震惊,并在信息混乱中迷失方向。
我们希望尽可能减少这种潜在的摩擦。我们决定继续提供旧版本的文档。我们这样做了一个月,以方便过渡。
我们后来意识到我们本可以做得更好。我们可以反过来做:保留旧文档一个月,但添加一个横幅“尝试新文档”。这可以让客户知道有些事情将要改变,并让他们以自己的速度适应新的设计。这样做也可以让我们有机会从客户那里获得早期反馈。
工程和产品经理的角色
在 Algolia,每个团队都有一名产品经理和一名工程经理。他们的任务之一是确保每个人都是一致的。这两个人需要推动项目,并确保项目在合理的时间内完成。我们在领导这个项目时所做的很多事情都是基于本能的,因此对环境来说非常独特。但是有一些值得一提的技术可以应用于其他项目。
一起工作的专用时间
在一些关键时刻,我们决定把所有人召集到一个房间里。对于许多开发人员来说,编写文档和代码片段并不是一件非常愉快的事情,因此一起完成这些任务要比单独完成好得多。
这也有助于管理时间。每个团队都有自己的优先事项,因此协调不同的团队可能具有挑战性。通过为所有相关人员提前预约时间,我们设法让每个人都参与到项目的关键部分,并创造动力。
不添加时间,缩小范围
对于这样一个大项目,你不会想计划三个月的工作,最后延长到六个月。因此,我们决定采取的策略是缩小范围,而不是延长时间。一旦我们发现一些耗时太长、可能会推迟发布的东西,我们就问自己以下问题:
- 该任务中的所有内容都是发布所需要的吗?
- 我们能否快速完成一大部分,并将其余部分留给以后的迭代?
在大多数情况下,我们能够找到折中方案,让我们能够更快地交付一个部件,同时减少一些功能或内容。这种重新审视让我们回到了正轨。
保证重点
当有很多事情要做时,你希望每个人只关注他们需要做的事情。不多不少。每个人都需要对自己的职责负责。一旦你有重叠,你就在浪费时间,并有可能延误产品。当你处于“生产模式”时,这不是你能做的事情,你需要有人来总揽全局。对我们来说,是项目经理和工程经理。
弄脏你的手
一旦团队进入建设模式,你不想改变他们的关注点。所以你需要在所有的 小 任务上为团队提供帮助。处理支持,解决小问题,审查工作,编写小功能代码,让团队专注于更大的任务。手头有空。
你还需要确定,如果你能做些什么来提高注意力,你应该去做。这可以通过完成
- 为任务创建脚本。
- 实施流程。
- 开启讨论/决策。
做决定
最后,对某件事做决定会占用大脑时间。如果你必须专注于一项任务,除了你目前正在做的主题之外,你不希望必须考虑为任何事情做决定。作为经理,我们的目标是通过对所有任务和团队负责,让必要的人参与其中,确保我们腾出时间。只有当团队相信你能为项目做出正确的决策时,这种方法才能奏效。
信任是我们随着时间建立起来的。良好的决策,以及一些优秀的传统价值观,如勇气、关怀、坦诚和谦逊,有助于建立这种信任。
有了这段经历,我们现在准备开始下一个大项目——这是我们本系列最后一篇博客将要讨论的内容。
重新设计我们的文档——第 7 部分——接下来会发生什么—
原文:https://www.algolia.com/blog/product/redesigning-docs-part-7-whats-next-come/
这是七篇系列博客中的最后一篇文章,描述了我们对文档架构和内容的最新变更。 我们在这里关注我们的下一步。
去年 12 月,当我们点击“部署”按钮,重新设计我们的文档并在上线时,我们知道这只是开始。从彻底重组我们的内容到优化我们的技术体系,我们已经为自己的伟大旅程做好了准备。2019 年,我们致力于进一步推动这一努力,确保就如何利用 Algolia 的力量提供最佳体验。
出于这个原因,也是为了结束这个系列,我们想展示一下接下来会发生什么。
一个 UI/UX 展示的灵感
今天,有了我们的 Algolia 搜索引擎和我们在它之上提供的所有工具,我们可以让人们尽可能地建立最好的搜索和发现体验。然而,没有单一的伟大的搜索体验。当我们剖析什么是伟大的搜索时,我们意识到它是几个 UI 和 UX 元素的微妙和彻底的混合。一旦结合起来,它们就能让最终用户快速顺利地找到他们想要的东西。
一个好的搜索体验不仅仅是经典的自动完成下拉列表或基本过滤器的显示。现在,让我们假设你有一个想法,在你的产品页面上添加一个相关商品部分,或者你想让你的用户浏览他们的搜索历史——所有这些都是我们文档首页所没有的。更糟糕的是,我们的文档并没有展示它们是什么以及如何构建它们。
我们真的相信,以清晰和吸引人的方式展示这些未知的最佳实践将激励您为您的最终用户构建最佳的搜索和发现体验。
向企业用户伸出援手
我们主要设计我们的文档来满足技术受众的需求。我们主要的重新设计工作之一是确保我们解决了从初学者到高级水平的技术受众的整个范围。
然而,Algolia 的实现阶段仅仅是你搜索之旅的开始。一旦它上线,你需要反复使用你的搜索分析来了解你当前的陷阱,这样你就可以采取行动并修复相关性。此外,如果你是一个电子商务网站,你可能会想运行营销活动,你需要知道如何做。在研究阶段,我们很快了解到我们的受众不仅仅是技术人员。我们还有其他具有不同需求和期望的配置文件。2019 年,我们希望解决这些问题。
让我们的内容说话——互动工具
将交互性引入我们的文档是去年的主要目标之一。它始于 2018 年 6 月,当时我们发布了我们的互动教程。我们的目标是快速引导新用户完成 Algolia 实施的所有步骤,从推送数据到构建用户界面。然而,我们想在向他们介绍我们提供的所有工具的同时做到这一点,并允许他们尝试我们的 API。
紧接着,在夏天,我们也给了我们的用户一个过滤语法验证器。我们已经意识到,我们会收到许多关于我们的filters
参数的问题。大多数时候是关于语法,以及人们遇到的错误信息或限制。我们决定将这个验证器直接添加到我们的文档中,这样用户就可以直接测试他们的过滤器是否正确。
最后,我们为我们的即时搜索库发布了一个互动展示。与其给用户一长串 InstantSearch 提供的小部件,我们认为更好的方法是直接向他们展示他们可以构建的界面,让他们直接与每个小部件进行交互,以了解他们的目的。虽然这需要我们付出一些额外的努力,但这显然是值得的,因为从那以后它已经被证明是我们文档中最受欢迎的部分!
为我们的用户提供更多的交互性是一个很好的方法,可以确保他们参与到我们的内容中,并有一个替代的方式来消化信息。我们将在 2019 年继续沿着这条道路前进。
性能更佳
我们努力让我们的文档更快捷、更时尚。重新设计之后,我们从减少 CSS 的大小和内存占用开始,让最终用户能够以闪电般的速度加载样式。这也使它们更具可扩展性。今年,我们希望通过减少 JavaScript 和其他 UI 脚本的大小来继续优化,以确保我们的读者获得的第一次体验尽可能流畅和快速。
在我们增加新产品功能的同时,继续支持我们的 Algolia 团队
所有这些项目都不能取代我们的主要任务,即确保更好的实现和更深的理解,从而对使用我们的产品更有信心。这就是为什么我们简化了外部贡献者向我们的文档投稿的方式,以便在我们的团队发布新产品或新功能时以最好的方式支持他们。
我们希望确保我们的贡献者在与我们合作时有一个无缝的体验。
我们需要您的反馈!
这些项目只是我们全年及以后计划的一部分。我们的团队已经学到了很多如何让这个旅程变得有趣和富有成效。我们将继续我们的研究和工作,因为我们致力于使文档符合我们读者的需求。这就是为什么您的反馈对我们非常重要!
如果您对我们的文档有任何想法、反馈或想法,非常欢迎您告诉我们,我们会认真倾听。要伸出手,请随意评论这篇文章!您也可以使用文档每一页上的反馈表,或发送电子邮件至support@algolia.com给我们。
重新设计我们的文档-第 1 部分-为什么
原文:https://www.algolia.com/blog/engineering/redesigning-our-docs-part-1-why/
这是七篇 系列博客 中的第一篇文章,描述了我们对我们的文档架构和内容的最新变更。
2018 年 12 月,我们发布了我们的技术文档的重大迭代。这是一系列帖子的第一部分,将通过描述写作、UI/UX 和我们做出的技术选择,从项目的起源追溯到接下来的事情。
Algolia 的一个关键目标是如何改善开发人员体验(DX)。目前,大约有 20 人参与了在 DX 保护伞下重组的各种团队,其中 5 人致力于我们的技术文档网站。
文档团队的核心任务是在最短的时间内以最少的摩擦实现 Algolia,并从中获得最大的收益。我们将我们的文档视为一个有生命的东西。我们永远不会放弃它,只要我们有用户问题要解决,它就会继续发展。
2017 年,我们进行了第一次大规模迭代,内部有很多人参与。我们主要关注于产生缺失的内容,并明确区分概念和教程。当发布它的时候,我们知道我们已经建立了一个坚实的基础,但是我们也知道还有很多事情要做。
发现问题
在 2018 年初,也就是我们上一次 docs 迭代的六个月后,我们决定组织一次全天研讨会,参与者来自各个 Algolia 团队。在那一刻,我们对想要确认的问题有了一些直觉。那天,我们有机会与各种文档用户进行了几次访谈,并对他们的反馈进行了反思,还绘制了试图使用我们的文档实现 Algolia 的用户之旅。
最终,在一天结束时,我们发现了几个需要改进的地方。
- 我们的用户在登录我们的文档时,无法轻松理解 Algolia 提供了什么,以及实现 Algolia 搜索意味着什么。你必须从一开始就选择是阅读我们的概念还是跟随我们的端到端教程。
- 我们的用户感到困惑,因为我们的技术文档分布在 14 个网站上。 我们有一个主文档和许多不同的社区网站,用于过去几年在 Algolia 出现的每个项目,比如我们的即时搜索库或集成插件。如果你想构建一个 Algolia 的前端实现,你必须在遵循不同准则的两个不同网站之间来回切换。
- 我们使用了大量的 Algolia 术语,这无助于我们的用户将自己融入到我们的产品中。我们经常使用特性名称作为标题,而不是引导用户了解特性的用途。
- 我们以同样的方式面对所有的观众。 我们没有明确的策略来组织和编写内容,以满足非技术和技术受众的需求,并处理开发人员可能拥有的不同技能或经验。这通常会导致欺骗性的体验,人们无法找到他们应该可以轻松访问的内容。
三大关键原则
为了解决这些问题,我们决定彻底改变文档背后的理念,这导致了三个主要选择:
所有 Algolia 文档的单一网站。
我们决定让algolia.com/doc/成为我们所有 Algolia 技术文档的唯一入口。我们决定从恢复 InstantSearch 开始,这是我们提供 UI 小部件的前端库。现在,在同一个地方,我们的用户可以经历 Algolia 实施的所有步骤:从推送他们的数据到在他们的网站上创建他们想要的搜索和发现。不仅仅是提供更好的流程,前端和后端的集成有助于提高内容的质量,因为它们共享相同的架构和编写结构。
远离以章节为中心的文档
我们没有要求用户在阅读概念或做 A-to-Z 教程之间做出选择,而是引入了侧边栏导航,引导他们了解 Algolia 实施的所有步骤,以及如何充分利用他们的搜索。
面向所有观众
我们的技术文档不仅仅被一个人阅读,而是被很多人阅读。从 决策者 想快速评估 Algolia 的报价,到 好奇 想知道 X 跟我们有没有可能;从 营销人员 到正在实施过程中努力改进和微调自己搜索的 开发者 。对于开发人员来说,有些人是新手,希望在几分钟内完成他们的第一个 Algolia 实现,而其他人则是 高级用户 ,他们在希望改进他们当前的实现时,会来回查看文档。让我们不要忘记提及 Algolians 他们自己,他们在内部依靠我们的文档来服务我们的客户。
**一个主要的转变是引入了枢纽的概念。不管我们的用户是什么样的,他们在侧边栏导航时到达的每个主题都应该是可访问的。然后,根据他们是谁,他们将有能力深入我们的内容。如果他们是对复制和粘贴一些代码片段感兴趣的开发人员,或者当希望掌握某个特定主题时,可以阅读一些操作指南。
无论是我们实施的信息架构还是我们想要提供的用户体验,这三个关键原则都推动了我们后来做出的所有选择。我们系列的下一篇文章将会深入探讨我们为技术和非技术读者所做的具体的写作选择。**
重新设计我们的文档-第 3 部分-UX/UI 阶段
原文:https://www.algolia.com/blog/ux/redesigning-our-docs-part-3-the-ux-ui-phase/
这是七篇 系列博客 中的第三篇,描述了我们最近对我们文档的架构和内容所做的更改。我们在这里关注用户测试和 UX/用户界面选择背后的决策过程。
“从问题入手。 而且在你知道你要解决的问题之前,不要去想解决的办法。”
当我们着手 重新设计我们的文档 时,这是我们的产品设计师萨沙·普罗霍洛娃、 所说的话。
对我们来说,这是非常明显的。虽然我们的文档包含了大量的信息,但我们从来不确定我们的读者知道会发生什么。文本和示例代码的混合并不完美,我们经常在同一个页面上混合不相关的信息。此外,我们没有提供简单的导航:我们在菜单中使用的单词,以及我们组织主题或显示超链接和行动号召的方式,并不总是符合我们读者的期望。
等到莎莎赶到的时候,我们已经开始 解决 的问题。我们已经重新设计了我们的文档(至少在纸面上),包括新的菜单结构、改变的层次结构和新的页面布局,以便更清楚地标记文本和代码之间的区别。换句话说,我们使我们的架构和内容适应了 我们读者的不同目的 。
显然,她忙得不可开交。她面对的是一群经验丰富的开发人员和技术作家,他们已经对问题及其解决方案有了清晰的想法。
她打算教我们什么?
嗯,从她 UX 设计的第一天到最后交付,很多惊喜都在等着我们。最终,即使我们最初对问题和解决方案的分析没有发生巨大变化,在产品设计阶段,许多额外的事实和细节浮出水面,迫使我们重新考虑我们最初的一些假设。这提醒了我…
“不要根据假设行事”, 她说。
与产品设计师一起打牌
因此,萨莎测试了我们的假设,向我们介绍了一些 UX 工具:
- 卡片分类 帮助我们提高了新的等级和词汇。我们要求随机的用户把我们的主题放入他们自己的措辞和类别中。虽然有些选择证实了我们最初的直觉,但有些选择却让我们大吃一惊。
- 团队研讨会 给了我们时间反思导航和新的页面布局。例如,我们花了一整天来设计我们最重要的页面布局。团队的每个成员都提出了一个设计,然后我们选择了每个设计的最佳方面,并组合成一个新的页面布局。
- 对高级用户的早期用户研究 让我们对当前文档有了特别的了解——好的和坏的。
- 与外部用户的面对面访谈 让我们对我们的新架构有了一个客观的了解。
- 匿名用户视频用户测试 ,匿名用户在使用我们的文档和回答用户调查 时被录像。这最后一轮测试为我们提供了对特定内容领域的宝贵见解,提供了对我们的词汇、内容流、主题方法以及代码和示例质量的见解。
在收集了六个月的用户反馈,并反复讨论不同的建议后,我们向我们的 UI 设计师提交了最终的 UX 设计——还是在纸上。团队-被前期设计的抽象本质和腿部工作弄得筋疲力尽-很高兴最终向前迈进,看到这个艰苦的工作被我们目光敏锐的 UI 设计师赋予了一个充满活力的三维空间。
故事就这样进入了用户界面阶段。
但是…从用户界面的角度来看,是什么造就了伟大的文档?
UI 工作不仅仅是让事情变得漂亮,它还涉及到我们与任何给定网站的交互方式,以及如何在视觉上让文档清晰、易用、更自然。所以在重新观看了我们在 UX 阶段录制的用户采访视频后,我们能够 与我们的观众产生共鸣 。例如,看到像众所周知的 Cmd/Ctrl-F 这样的导航习惯来跟踪页面上的内容片段,或者发现开发人员对简单性的偏好(这源于他们对不太以 UI 为中心的代码编辑器和命令行控制台的使用),使我们相信我们需要直接解决这些期望——特别是因为 Algolia 正在迅速成为技术领导者。
不要去猜,直接问。
用户界面的使用方法与 UX 相同。你会对设计选择有直觉,严重依赖众所周知的 UI 模式,你可以理所当然地认为这些模式是好的实践。然而,每个网站都有一系列特定的挑战,在这种情况下,有些挑战太重要了,不能仅仅依靠假设而忽视。从能够切换编程语言和与代码片段进行交互,到处理版本控制,到展示由复杂组件组成的库,…,我们需要更多关于什么可行什么不可行的信息。
幸运的是,开发者喜欢解释他们为什么使用某个特定的服务,所以我们试图利用这一点。在对其他在线文档进行基准测试,并对一系列 UI 布局和想法进行注释的同时,我们在 Twitter 上发起了一个反馈呼吁,这成为了网络上最受赞赏的文档的黄金线索。反应是惊人的,我们很快了解到什么是最先进的文档:深入的代码示例、清晰的文字、良好的可读性、学习曲线、可交互的内嵌控制台等等。提取这些答案,并标记每一个论点,我们开始揭示趋势,这些趋势给了我们一些线索,让我们知道人们在使用文档时会产生什么样的共鸣。
模板化。
我们的文档是用 markdown 语言编写的模板集合,这些模板用于 生成静态网页 。因此,在与写作团队的共同努力下,我们开始列出我们想要展示的每一种内容,看看它们包含什么,并对每一种内容附加高层次的目标和期望。有点像设计系统建造者,你不会从一堆希望作为一个整体一起工作的小组件开始;相反,你从一个模板开始,重点关注你想要实现的目标,并确保避免阻碍读者学习的元素。我们确信,如果设计得好,这个页面将为我们的整个 UI 设定全局方向。
取网络媒体之精华。
文档意味着承载大量的信息,涵盖复杂的主题,最终会生成包含许多不同种类信息的长页面。这样,很明显,我们需要遵循媒体巨头的标准,他们不断优化他们的网页,以获得最佳的可读性,让读者更容易消费大量的信息。
因此,作为整个 UI 的基础,我们决定从我们最重的页面之一开始,它包括大量的 UI 组件,如长文本区、提醒、警告、旁注、代码片段、附加资源链接、反馈表和视频。我们的想法是,如果我们能找到一个适用于这个页面的设计,它将适用于 90%的文档。
可用性高于美学——一些最佳实践。
- 使用非常窄的内容宽度来显示短文本行比使用全宽度的句子更容易阅读,后者会让你在从一行到下一行的过程中迷失方向并感到疲劳。最好的标准是保持 600 到 700 像素宽。我们选择留在中间,平均每行保持 150 个字符。
- 我们的技术作者已经在拆分内容方面做得非常好,给我们一些小段落,而不是一大堆文字。到目前为止,大多数用户对滚动都很满意,尤其是那些喜欢 Cmd/Ctrl-F 导航的开发人员,他们喜欢在一个页面上显示所有内容。让你的内容鲜活起来,通过理解你的目标读者喜欢的阅读方式来让它具有可读性。
- 为了让长时间的阅读过程更舒适,我们选择了读者容易看到的字体大小。例如,用户不需要放大才能阅读,尤其是如果你的产品不符合他们的标准,他们不会跳过你的产品。不要让他们打破你的布局,因为他们觉得需要放大和缩小。可用性高于美观。
- 我们在设计时考虑了可访问性:不要依赖吸引注意力的颜色;确保你的配色方案能给色盲人士带来价值和理解;最后,检查您的主对比度,以确保即使在低分辨率屏幕上也有良好的可读性。
经过几十次测试,我们最终达成了一个令开发者 和 满意的平衡,并与我们公司的品牌保持一致——因此,我们所有的在线内容都以相同的基调和氛围传递一致的信息。
组件展示挑战。
从设计的角度来看,我们最大的挑战之一是 即时搜索组件展示 。这个 showcase 需要完成几个目标:允许用户试验完整的交互组件库;作为每个组件背后的文档的中心;并强调每个组件可能的变化。从设计的角度来说:它需要作为一个整体工作,同时单独突出每个组件,并在视觉上清楚地表明每个组件可以有几种变化。
以下是我们在动员会上达成的共识:
字面意思,盒中盒中盒。尽管这份初稿在展示全球信息层级方面表现得很好,但还是有一些挑战。为了鼓励用户去尝试,需要有一种方法让用户一眼就知道这是一个搜索演示。它需要清楚地将每个组件识别为具有精确目标的单个实体。
我们将免去你所有的界面探索。本质上,我们遵循我们在 UX 阶段做出的信息架构选择,确保我们的设计实际上符合我们的观众的期望。
我们通过自己的眼睛看世界:工作经历、教育、文化……我们对设计的理解都有偏见。为了平衡这一点,你需要挖掘你的受众现在使用什么来完成它的任务,并在此基础上进行构建。这对每个人来说都应该是一个迭代的过程,而不是与他们以前所知道的一切完全脱节。 换句话说,不要重复发明现有的和众所周知的模式:在现有模式的基础上构建,同时努力使它们适应你自己的用例,并使它们对最终用户更有价值——即使你自己不一定发明了什么东西。
解决了整体的问题后,我们把重点放在为每个组件及其变化带来微妙而明显的细节上。将每个组件拆分成单独的容器是从视觉上单独展示它们的第一步。为每一个组件添加一个小的标签菜单也很重要,这样用户就可以在组件之间切换,并且仍然可以与整个演示进行交互。最后,在每个块上添加一个悬停状态解决了访问文档的问题,从而避免了让用户淹没在对每个组件持续可见的大量链接中。
下一步:优化和迭代。
现在新设计已经推出,接下来就是关注我们的重要指标,确保主要问题得到正确解决,我们的决策将对业务产生积极影响。
对于跟踪所有反馈——无论是好的还是坏的——对持续反映设计的整体体验和性能有多重要,我们无法多说。这可以让你知道你的 UI/UX 的优势和最常用的地方。即使项目已经完成,知道哪些问题仍然存在,并在你被动地思考 解决方案时,让它们在你的脑海中酝酿 也是很好的。在一天结束时,保持某种客户旅程的更新将有助于您识别和传达快速成功,并仅用少量资源消除负面印象。
请继续关注更多迭代——我们将为您带来许多激动人心的变化!但是在我们走向未来之前,让我们从技术角度出发,看看 UI 新的性能驱动的 CSS 架构。
重新设计我们的文档——第 4 部分——构建可扩展的 CSS 架构—
这是由七部分组成的系列博客的第四篇文章,描述了我们对文档架构和内容的最新变更。我们在这里关注 CSS 架构和改进我们处理资产的方式。
当在一个文档网站上工作时,很容易只关注内容,而把其他的放在一边。对于 Algolia docs 来说尤其如此:多年来,它经历了一些戏剧性的变化。随着每一个新特性、API 客户端和产品的出现,网站必须快速扩展和转型以满足新的需求。
跟上 Algolia 的发展也意味着经历许多重新设计,通常是由许多不同的人进行的。它促成了前端代码库变得越来越难以维护。因此,当我们决定在 2018 年底重新设计网站时,我们认为这是一个认真审视我们 CSS 状态的好时机。在不破坏其他东西的情况下改变一些东西变得越来越困难。一个简单的变化可能会变成一个小时的保持副本更新和应对媒体询问。我们不再受控制,每一次编辑都像是在一堆创可贴上加了一个创可贴。
因此,我们决定,我们的文档重新设计是一个绝佳的机会,让我们把石板擦干净,重新开始。毕竟,我们得到了一个全新的设计,所以重写我们的整个 CSS 代码库是有意义的,并且定义一个明确而健壮的方法,可以跟上我们未来几年的发展。
针对痛点
众所周知,CSS 很难扩展。它提供了强有力的工具,但是犯了错误是不容易原谅的。全球范围和特殊性是很好的例子:当有目的地掌握和使用时,它可以创造奇迹。当被动使用时,问题开始堆积,很难选择不去解决。
在我们的 CSS 中,我们曾经有很多反应特异性。我们没有用它来控制,而是用它来解决问题。
main.content-container p:not(.report-link):not(.edit-link):not(.copy-link) {
margin-top: 17px;
}
main.content-container td p:not(.report-link):not(.edit-link):not(.copy-link):first-child {
margin-top: 0;
}
上面的代码片段是一个典型的例子,说明了由于希望在全球范围内应用规则,然后寻找例外而引发的特殊性之争。这种具有许多后代的过度限定规则的问题是,它不仅脆弱且难以手动维护,而且在性能方面也会变得更加昂贵,因为浏览器需要更长的时间来匹配。
编写反应式 CSS 的另一个潜在问题是你的代码库在不断增长。随着您添加看起来与现有组件略有不同的新组件,或者不断修补问题以修复早期的错误决策,资产变得越来越沉重。
当我们审计我们的 CSS 时,结论是无可争议的;我们问题的原因是我们没有可见的 CSS 架构。确切地说,我们混合使用了几种 CSS 方法。这些年来,连续的贡献者已经散布了一些全球应用的风格,一些面向组件的 CSS (OOCSS),一些实用优先的 CSS,以及大量的黑客攻击和覆盖。尽管所有的贡献者都有最好的意图,但不幸的是,没有明确的指导方针和指定的前端所有者,他们的贡献很快导致了混乱的 CSS,重复和未使用的类,难以跟踪的副作用,以及每次我们添加新东西时都会增长的代码库。
是时候建立一个合适的架构,执行惯例,并且开始把 CSS 作为一等公民对待了。
一种可组合的方法
在评估了几种流行的方法(包括纯的、类似 Bootstrap 的 OOCSS、BEM 等)之后。),我们决定使用实用优先的 CSS ,这是一种通过使用原子类来鼓励组合的方法,并允许您在必要时抽象成组件。我们将它集成在一个松散版本的 ITCSS 架构中。
在诱惑实用至上的事物中,我们喜欢它与品牌指导方针的完美结合。“实用优先”旨在直接映射到风格规则上,而不是让您在没有任何框架的情况下徒手编写规则集。
基础雄厚
我们没有手动维护原子样式的原始样式表,而是决定使用 Tailwind CSS ,这是一个实用程序优先的框架,它从 JavaScript 清单文件生成 CSS 类。Tailwind 有很棒的文档,一个活跃的社区,并且是压缩友好的(稍后会详细介绍)。
计算 CSS 而不是手动维护它的一个优点是它在设计系统中创造奇迹。我们可以充分利用 JavaScript 的能力,根据预先确定的规则逻辑地生成样式。这种方法比手动维护规则集更易于管理,也更省时。需要更多的间距工具?不需要一个一个手动编写。只需增加计数器。
const spacingUnit = 8
const variations = 120
const generatedSizes = {}
for (let i = 1; i <= variations; i++) {
const size = i * spacingUnit
generatedSizes[size] = `${size}px`
}
我们还获得了一个配置文件,可以在项目间共享。这非常有用,因为文档范围包括几个独立的项目(如交互式教程或小部件展示)。使用 JavaScript 配置文件比使用一堆分散的 CSS 文件更容易重用规则和挑选我们需要的内容。
受控文件大小
在线文档应该可以快速加载。在构建某个东西时,开发人员经常来回查阅文档以获取少量信息。那个参数叫什么来着?以及这个方法的返回类型?这些是他们需要快速回答的问题,而不需要走出他们的领域。
浏览在线文档应该是一种无缝的体验。在 Algolia,我们已经为速度建立了文档(静态生成的页面,基于 Algolia 的搜索),但有一个领域我们迄今为止忽略了:资产规模。
稳定规模
实用优先是保持你的 CSS 稳定小的好方法。因为我们只是重用原子类,而不是创建新的规则,我们不引入可能增加资产的新 CSS 代码。即使我们引入不同布局和新组件的页面,只要它遵循我们现有的 UI 系统,CSS 就不会增长。
更小的浏览器内存占用
实用优先的另一个好处是浏览器不需要做太多的工作来解析样式。实用程序优先的 CSS 强制只使用类(标签名不匹配)并保持低特异性(大多数时候,实用程序类是一个级别的深度)。它减少了(如果不是消除的话)样式覆盖,这减少了为给定 DOM 元素确定最终样式的开销。
自动清洗
在我们的例子中,我们使用 TailwindCSS 来生成原子类。这些是基于我们的品牌颜色,我们选择的网格大小,我们需要的变化数量等。您可以猜到,这可以生成许多类,其中大部分是我们不需要的。
出于这个原因,我们已经设置了 Purgecss 来自动删除任何我们在生产中不需要的类。这个工具允许我们在开发模式下访问可用类的完整目录,但是从产品构建中过滤掉所有不需要的部分。
HTML 膨胀怎么办?
保持 CSS 小很好,但是 HTML 呢?我们不就是把臃肿从 CSS 转移到 HTML 文件吗?这是我在提倡实用至上的 CSS 时经常听到的主要担忧。
重要的是要记住 CSS 和 HTML 是不同的。像 Gzip 和 Brotli 这样的压缩算法很好地处理了重复的类名,因为它们本身是基于专门设计来压缩重复字符串的算法。无论您使用几个还是多个类,HTML 文档的最终文件大小都没有什么区别。
内容友好的 CSS
原子类很棒,但是用户生成的内容呢?我们不能要求我们的技术作者,也不能要求其他团队的贡献者在他们写的内容中加入实用类。它既不用户友好,也不可维护,而且在代码审查期间还会严重损害内容的可读性。
对于这个特定的用例,我们需要在不产生新问题的情况下放弃实用优先,也不允许脱离我们已经部署好的系统。
防止作风泄密
技术作家和内容贡献者在 Markdown 中写作,然后编译成普通的 HTML。因此,我们需要有直接应用于 HTML 标签的样式,,而不会泄露到网站的其他区域。
由于 CSS 适用于全球,我们确定规则范围的唯一方法是使用特殊性作为命名所有 CSS 规则内容的方法。在我们的 Haml 模板中,我们在 Markdown 文件输出周围的容器中添加了一个特定的 CSS 类,并在 CSS 中使用该类来包含规则集,否则这些规则集将会应用得非常广泛。
下面是降价内容文件的样子:
## Some title
Some content
以及我们如何在 Haml 布局中渲染它:
.content
= yield
这些编译成以下 HTML 代码:
<div class="content">
<h2>Some title</h2>
<p>Some content</p>
</div>
然后,我们可以安全地设计内容的样式(这里是 Sass):
.content {
h2, h3, h4, h5, h6 {
// ...
}
}
这种技术效果很好,但是有一个缺点。由于它依赖于特殊性,每个规则集的得分都高于任何一级深度实用程序类。在上面的例子中,一个生成的规则集.content h2
的特异性得分为0,0,1,1
,而一个实用程序类.margin-0
的得分为0,0,1,0
。如果我们想用一个实用程序类来覆盖一个特定的h2
元素的边界,特殊性会妨碍我们。
Tailwind 通过允许你创建所有的工具类,让你避开这个问题!重要。然而,请记住,这是一个激进的选择,您需要以最大的谨慎来操作。
将来,我们可能会研究这部分的 CSS 模块,这样我们就可以直接命名类名,而不依赖于特殊性。走这条路将涉及到在 Haml/ERB 的环境下使其与 Markdown 一起工作,以及使他们与 TailwindCSS 一起玩得很好。
单一来源的真理
当手动编写作用域 CSS 规则时,很容易偏离实用程序类强加的框架,并复制代码。幸运的是,这正是最好的顺风特性派上用场的地方。
Tailwind 提供了一个@apply
指令,与 Sass 中的@extend
、mixins 或占位符相反,它将 CSS 声明从引用类复制到一个新的规则集中。如果你熟悉 Less , @apply
的工作方式类似于 Less mixins:它使用你可以直接应用的实际类,并将它们所有的声明复制到一个目标规则集中。
参加以下课程:
.text-nebula-blue {
color: #5468ff;
}
我们使用@apply
来重用它,而不是将其内容复制到新的规则集中:
.content {
a {
@apply text-nebula-blue;
}
}
这编译成:
.content a {
color: #5468ff;
}
每当我们需要编写自定义 CSS 时,我们通过@apply
重用实用程序类,而不是编写新的规则。它迫使我们不要脱离我们的设计系统,以不一致和奇异的风格结束。
效用——第一,首屈一指
在 Algolia 文档中,我们在实用优先方面取得了巨大的成功,将我们的 CSS 从超过 125 KB(并且持续增长)减少到不到 50 KB (9 KB GZipped,7kb Brotli compression),这表示大小减少了 60%!从用户的角度来看,这是以极低的开销实现闪电般快速加载的保证。
从项目的角度来看,我们新的 CSS 方法让我们在设计事物的方式上更加一致。它还让我们保持自己的风格与 Algolia 品牌指南和 UI 规则保持一致,这些规则是我们的产品设计师为我们制定的。
在 Algolia,我们认为文档本身是一种成熟的产品,而不仅仅是我们的 API、客户端和库的副产品。出于这个原因,我们努力确保我们不会忽视网站的任何方面。这个新的 CSS 架构符合我们的目标:持续改进开发者体验(DX) 和构建可扩展的、可持续的系统。
新的 CSS 架构并不是我们文档前端发生的唯一事情。我们的下一篇文章将深入探讨我们为记录即时搜索而构建的新的交互展示平台的制作。
重新设计我们的文档——第 5 部分——构建交互式即时搜索展示平台—
这是由七部分组成的系列博客的第五篇文章,描述了我们对文档架构和内容的最新变更。我们在这里关注 CSS 架构和改进我们处理资产的方式。
搜索界面就像一个拼图游戏。它由许多小部分组成,一旦组合在一起,就成了一个连贯的整体。当构建一个搜索界面时,你是在组装碎片和设计拼图。没有放之四海而皆准的解决方案,只有无数种可能性来满足独特的使用情形。
The pieces that compose a search interface
InstantSearch 是一个前端库家族,它提供构建块来帮助你构建搜索界面。它给了你无限的可能性来为你的用户构建你所想象的理想的搜索体验。在许多情况下,您需要的东西是现成的,但是您也可以定制现有的小部件或构建自己的小部件。
然而,当记录这样一个库时,你如何10xonDX——开发者体验?
记录可视化组件的挑战
书面文档对于 API 客户端或 REST APIs 这样的无渲染软件来说是一个奇迹。在这种情况下,有意义的内容、方便的例子和强大的搜索会大有帮助。
记录 UI 小部件是另一回事。当你在构建一个用户界面时,思维过程会彻底改变。您不再考虑您拥有的数据或执行任务所需的方法。相反,你在考虑你的搜索界面应该是什么样子,你的终端用户如何与之交互。也许你甚至已经准备好了一个模型,你正试图找到合适的部件来实现它。在这种情况下,书面文档是不够的。无论你对一个视觉组件描述得多好,没有什么比看到它的实际操作更好的了。
我们想改变即时搜索的传统文档模式。我们认为,与其让用户通过指南和长长的小部件列表来搜索他们需要的东西,不如让他们直接、直观地知道自己能做什么更有帮助。我们希望在一个真实的搜索界面中展示小部件的运行,并让它们从那里访问文档。
因此,我们构建了一个完全工作的、、、即时搜索小部件、的交互展示,并将其集成到文档中。
UI/UX 流程
设计橱窗是一项挑战。我们的产品设计师 Nicolas Meuzard 一开始就有复杂的规格。我们希望显示完整的库,显示每个小部件可能的变化,并重定向到它们各自的文档页面。然而,它也需要有一个内聚的感觉:我们希望展示看起来像一个实际的搜索界面。这一点很重要,这样用户可以展示自己,并迅速知道他们需要什么。
InstantSearch 是一个丰富的库,所以我们决定将 showcase 分成三种不同的体验:常规的完整搜索界面、自动完成小部件和地理搜索体验。
几经反复,Nicolas 提出了一个无缝集成到文档中的设计。它允许您在三个视图之间切换,并将每个小部件(或一组小部件)显示为虚线块。当您将鼠标悬停在其中任何一个上时,您会看到一个链接,将您重定向到它们的文档。
建筑橱窗
InstantSearch showcase 并不是我们为文档开发的第一个交互工具。在此之前,我们开发了一个动态的过滤器语法验证器和一个交互式教程。这两次,我们都认为将这些工具分开,放在它们自己的库中,并找到一种方法将它们集成到文档中,而不是将所有东西都放在文档库中,这是一个更好的主意。
对于展示,我们决定使用 Vue.js,就像我们对交互式教程所做的那样。我们在一个单独的 S3 桶上提供应用程序,并使用iframe
将其集成到 docs 网站。
实现本身非常简单。我们使用 Vue InstantSearch 来显示小部件,它为我们完成了大部分繁重的工作。然而,它也带来了一些有趣的挑战。
一个展柜适合所有人
网页即时搜索有四种风格:香草 JavaScript 、 React 、 Vue 和 Angular 。他们每个人都有自己的特点。比如 InstantSearch.js 和 React InstantSearch 自带地理搜索小部件,而 Vue 和 Angular InstantSearch 没有。因此,每当用户访问 vanilla JS 或 React 的 showcase 时,它应该指向地理搜索小部件文档。当访问 Vue 或 Angular 时,它应该会引导我们如何构建自己的地理搜索组件。
很明显,我们应该为所有的即时搜索风格建立并使用一个独特的展示平台。这更易于管理和维护。然而,我们也需要在不弄乱代码的情况下考虑这些特性。
我们有相对较少的不同口味,它们不会有太大的差异,所以我们决定不过度设计,走简单的道路。因为我们在文档中嵌入了带有iframe
的 showcase,所以我们还将当前的 InstantSearch 风格作为查询参数传递。因此,如果您从/doc/guides/building-search-ui/widgets/showcase/react/
访问 showcase,showcase 接收“react”作为当前风格,这允许它应用条件逻辑。
处理冲突的小部件
一些 InstantSearch 小部件也有类似的用途,所以我们需要找到一种方法将它们全部显示给用户,而不会弄乱 UI。为此,Nicolas 想出了一个切换器模式。我们将所有相似的小部件分组到同一个块中,显示所有标题,并让用户点击它们进行切换。
然而,有时,这些小部件有不兼容的行为。这意味着你不能同时在同一个 UI 中拥有它们。
我们通过使用动态组件解决了这个问题,这是一个 Vue.js 特性,允许你在运行时动态加载组件。我们一次只显示一个小部件,所以我们可以利用动态组件在小部件之间交换,方法是销毁前者并安装新的,而不是显示它并隐藏其他的。
猜测身高
使用iframe
的挑战之一是如何优雅地处理高度可变的内容。在我们的例子中,showcase 加载动态内容(搜索结果),因此当您执行搜索、加载更多点击、切换到另一个体验等时会改变高度。可惜从外面看,根本察觉不到高度有变化。
我们通过利用window.postMessage
方法绕过了这个问题,该方法让我们在文档和展示之间建立通信。Vue.js 提供了一个updated
生命周期钩子,每次 DOM 重新渲染时都会触发这个钩子。每当展柜改变时,我们使用这个挂钩来发射身体的新高度。该网站监听新消息,并在收到新高度时更新iframe
的高度。
10x DX
这个展示窗口是即时搜索小部件列表的直接推论,但是在视觉上。它有助于发现即时搜索,而不会被大量的选择所淹没。它还可以帮助用户提高工作效率,因为他们不必浏览小部件来找到他们想要的东西。有趣的是,Algolia 的几名解决方案工程师和销售代表现在在向潜在客户推销 InstantSearch 时使用这个展示平台🙂
当然,如果没有健全的流程,这一切都不会发生。这是我们下一篇文章所涉及的内容,敬请关注!
发布我们的官方 API 客户端规范和通用测试
原文:https://www.algolia.com/blog/engineering/release-api-client-specifications-common-test-suite/
Algolia 非常关心开源。我们维护开源库,如 我们的 web 和移动即时搜索库 以构建丰富的用户体验,并与 OpenCollective 社区合作 帮助资助开源项目 。
我们的一个团队负责维护我们的底层开源库,也称为 API 客户端,以及几个 web 框架集成。那些 API 客户端让我们的客户将他们的应用程序连接到 Algolia 服务( 搜索 , 分析 , 个性化 )。更准确地说,这意味着我们必须以 9 种不同的风格维护同一个 API 客户端:C#、Java、Kotlin、Scala、Go、PHP、Ruby、Python 和 JavaScript。
因此,每次需要添加新功能时,我们都必须以最佳方式同步,以便在客户的公共 API 上公开它。同样的事情也适用于 bug:一旦我们在我们的一个客户端上检测到一个潜在的问题,我们也会在所有的客户端中检查它的存在。最后,我们依靠测试来确保功能和性能方面。
今天,我们开源了一个新的 GitHub 库:algolia/algolia search-client-specs来跟踪所有与我们的 API 客户端的公共 API 相关的变化,它们的测试和它们的实现细节。这个存储库还包含我们的 API 客户端的全功能通用测试套件(也称为 CTS)。对于任何对为不受支持的语言实现 Algolia REST 端点的 API 客户端感兴趣的人来说——或者只是为了好玩——这个库是最好的切入点,还有针对 REST 端点的官方 Algolia 文档 。
因为这个存储库对我们的 API 客户端的当前预期状态有一个只读视图,所以问题需要通过support@algolia.com,我们的 话语社区论坛 或 堆栈溢出 直接报告给我们的团队。
消除障碍:仔细看看相关的,个性化的人工智能搜索的三个最大障碍
消费者期待持续、顺畅、动态和个性化的数字体验。但目前来看,99%的非亚马逊或网飞公司都在努力提供世界级的搜索服务。为什么?因为人类的搜索方式杂乱无章,不可预测。人们用不同的词来寻找同样的东西,这甚至没有考虑到我们所说的不同语言。基于偏好的品牌和生活方式,预期的搜索结果因人而异。预期结果也会随着季节和趋势的变化而变化。(想想与一年前相比,我们今天搜索“面具”时的预期。)此外,客户期望的结果并不总是与企业希望首先呈现的结果一致。最后,提供“基本文本搜索”的网站和提供“同类最佳搜索”的网站之间存在巨大差异同类最佳的搜索快速、相关、个性化且具有预测性/规范性——这种类型的搜索能够带来最佳的数字体验。
进入人工智能领域。企业可以应用人工智能来解决搜索相关的挑战,从而使品牌能够提供有意义的数字体验。当谈到将人工智能应用于搜索时,许多组织发现这项任务复杂而具有挑战性。技术领导者认为人工智能很难掌握;他们认为这是一种没有“标准化”的技术,有时会产生无法解释的结果。人工智能也是一项需要特定专业知识来实现的技术,需要大量的测试、迭代和微调。采用人工智能搜索的最大障碍是什么,我们如何开始解决这些障碍?
首先,让我们讨论一下我们所说的“人工智能搜索”是什么意思搜索本来就很复杂,用户行为不断变化,数据不断膨胀(但并不完美)。虽然人工智能可以帮助简化搜索过程,提高搜索结果的准确性,但人工智能不是一个神奇的“一刀切”的解决方案。但是我们可以用一步一步的方法来解决许多复杂的搜索问题。我们希望建立一个更智能的搜索引擎,并从用户行为中学习。人工智能应该允许公司部署由透明度、自然语言理解和个性化驱动的定制数字体验。最终,我们希望人们能够始终如一地在前三个搜索结果中找到他们想要的东西。理想情况下,当有人问他们的 Alexa 或 Google Home 助手一个问题时,我们希望他们得到单一的最佳答案。
那么,在公司和他们的人工智能搜索目标之间有什么障碍?
- 没有一种,标准的方式来实现 AI。这意味着有很多不同的技术和工具与人工智能相关,每一种都很难掌握。企业对 AI 的期望和 AI 实际能做的事情之间也存在期望不匹配。有时,一个问题或用例需要被分解成一系列更小、更具体的问题,现有的人工智能技术可以解决这些问题。例如,搜索有多个问题:数据丰富/清理问题、自然语言处理挑战、同义词差异、查询理解中断等。目前,没有一种人工智能算法能够一次性解决所有这些问题。没有人工智能标准,将问题映射到特定技术可能是一个挑战。采用人工智能需要大量的专业知识、测试和昂贵的资源。想想访问和使用数据库的 SQL 标准。我觉得一个 AI 相关的等同于 SQL 的标准还很遥远。目前,有一些提议的标准显示了希望,但没有一个易于使用并适用于多种人工智能问题/用例。
这种人工智能标准的缺乏会导致人工智能透明度的缺乏,并且没有任何人工智能算法在任何时候都是 100%正确的。换句话说,我们可能无法确切理解为什么 AI 会做出特定的决定或得出特定的结果。这在搜索中是有问题的,就好像我们不知道系统为什么会得到一个特定的结果,我们不能调优或改变配置。如果展示了错误的产品,那就意味着失去了商机。企业不仅需要理解搜索结果,还需要调整和验证特定查询与其特定品牌的相关性。理想情况下,非技术业务所有者将能够看到为什么他们的透明人工智能以这种方式对结果进行排序。同时,这些企业主将能够基于用户行为接受、拒绝和/或覆盖人工智能建议。 - 人工智能不是自动的“包治百病”,创建人工智能支持的搜索解决方案需要大量的测试、实验和发展。构建人工智能搜索解决方案的第一步是对你想要解决的问题有一个清晰的定义。一种解决方案可能适用于一个问题,但不适用于另一个问题——这需要您重新进行试验。例如,网飞(通过广泛的资源和大量的数据)开发了一种特定的算法,该算法针对一个特定的问题(推荐特定的电视节目)进行了优化。网飞可以在新客户面前不断优化这一算法。公司也可以购买现成的解决方案,其中包含现有的软件,这些软件包含针对特定问题的人工智能技术(例如,用于分析求职者简历的人力资源解决方案)。挑战在于决定你的人工智能搜索问题是否需要一个定制的、现成的或混合的方法(后面会有更多)。
- 人工智能驱动的搜索是一项不断变化的工作,随着客户行为的不断变化。当顾客搜索一个品牌的网站时,与其说是问答交易,不如说是一次购买之旅。根据上下文、情况和用户,一个特定的查询可能有不同的含义。通常情况下,客户花费越多的时间来寻找他们想要的产品表明相关性差,而更好的相关性应该立即产生完美的结果。当我们考虑发现时,我们看的不是同一个指标。我们更多地关注顾客与产品的互动,以及顾客是如何做出最终选择的。我们可以推荐一些我们认为顾客会喜欢的商品,对用户、地点和设备越个性化越好。然后,她可能会在最终购买之前点击两个项目。理想情况下,如果我们确定某个项目会触发所需的操作,我们会提出该项目。
人工智能需要什么来计算客户发现体验的相关答案(或潜在答案),以及进一步推荐补充产品或配件?许多信号和一个反馈回路。我们需要考虑顾客的行为和个人行动。这应该能够丰富数据(不断清理、增强和更新数据),让我们对客户有更全面的了解。反过来,这又维持了与客户的持续、实时反馈循环,从而推动了人工智能支持的搜索和查询理解。然而,这个拼图的每一块都需要不同的 AI 工具;没有一种技术可以在任何时候一次解决所有问题。
考虑到人工智能搜索的上述潜在障碍,公司如何开始解决这些问题?公司如何评估哪种类型的人工智能实施可能适合他们的业务?
第一步包括确定人工智能可以解决的一小组特定于业务的问题。从那里,我们可以决定是否购买现成的软件是最好的,我们是否应该构建自己的内部解决方案,或者我们是否应该采取“构建并购买”的方法。在这种情况下,我们只能构建解决方案中对业务来说独特的部分。在这里,基于 API 的解决方案越来越受欢迎,这对开发人员来说非常重要。API 满足了开发人员的需求,允许他们通过减少后端流程的数量来“购买以更快地构建”,并允许他们重新构建、试验和迭代。最终,我们应该有一个目标:提供数字体验,引导客户在他们需要的时间、地点和方式找到正确的信息。
使用自动完成功能复制 Algolia 文档搜索
原文:https://www.algolia.com/blog/ux/replicating-the-algolia-documentation-search-with-autocomplete/
他们说一个 API 和它的文档一样好,但是好的文档超越了内容质量。技术文档提供了与 API 交互的体验。对于许多开发者来说,这是你产品的大门。错过这次体验,他们可能会转向下一个类似的产品。
让医生脱颖而出没有单一的秘诀;你需要确定是什么让它与众不同,并创造性地解决它。然而,大多数用户期望的共同点是快速、相关、设计良好的搜索体验。在 Algolia,我们最近使用开源的自动完成库重新设计了我们的文档搜索。
The new Algolia documentation search
Autocomplete 是一个 JavaScript 库,用于构建自动完成搜索体验。多年来,它的 v0 已经成功地推动了产品搜索体验。经过一年的研究和努力,我们终于发布了 v1 稳定版,将自动完成搜索体验提升到了一个新的水平。
Autocomplete 已经运行 Algolia 文档搜索体验几个月了,我们已经收到了许多请求,希望教我们如何构建它。我们很高兴看到其他文档利用我们提出的模式,所以我们决定发布一个深入的指南,教你如何用 Autocomplete 构建类似的搜索体验。
T15T17 入门
首先,您需要创建一个新的 JavaScript 项目。理想的起点是一个最小的包设置,带有一个index.html
文档和一个index.js
入口点。你还需要巴贝尔来转换 JSX 模板。
你可以派生或下载这个code sandbox vanilla JavaScript starter并把它作为一个基础。
安装依赖
本教程使用@algolia/autocomplete-js
和 Preact 进行模板化。一旦建立了项目,您需要以下依赖项:
@algolia/autocomplete-js
打造搜索体验@algolia/autocomplete-theme-classic
使它看起来漂亮algoliasearch
从 Algolia 检索搜索结果preact
作为你的虚拟 DOM 实现
@algolia/autocomplete-js
包是自动完成的一个不可知的虚拟 DOM 实现。如果不想使用 Preact,可以在一个 React 或 Vue 项目中使用它。如果您根本不想使用 JSX,您仍然可以使用为createElement
和Fragment
提供的实现手工构建虚拟 DOM 节点。
在您的终端中运行以下命令,将它们安装到您的项目中:
yarn add @algolia/autocomplete-js @algolia/autocomplete-theme-classic algoliasearch preact
# or
npm install @algolia/autocomplete-js @algolia/autocomplete-theme-classic algoliasearch preact
初始化您的自动完成功能
首先,您需要创建一个新的 autocomplete 实例,并将其附加到 DOM。对于要显示的每组结果,Autocomplete 接受几个来源。在我们的例子中,我们将使用algoliasearch
API 客户端和提供的getAlgoliaResults
助手从一组 Algolia 点击开始。
在 HTML 中,添加一个带有id
的空容器。这就是自动完成将注入搜索体验的地方。
<div id="autocomplete"></div>
然后,在 JavaScript 代码中初始化您的 autocomplete,并将其附加到您的#autocomplete
容器。
import { autocomplete } from '@algolia/autocomplete-js';
autocomplete({
container: '#autocomplete',
getSources() {
return [];
},
});
我们有一个工作的自动完成实例!当然,它还没有返回任何东西,因为getSources
方法当前返回一个空数组。我们需要定义在哪里检索要显示的数据,并描述 Autocomplete 应该如何与它们交互。
定义数据源
源是一个 JavaScript 对象,它实现了一个给定接口。最起码,它需要一个唯一的sourceId
来识别数据源,并需要一个getItems
函数来返回数据。
源可以是同步的,也可以是异步的。在我们的例子中,我们可以初始化一个 Algolia 搜索客户端,并使用 getAlgoliaResults
助手检索条目。您可以根据需要进行任意数量的查询,并向它们传递任何 Algolia 搜索参数。
import algoliasearch from 'algoliasearch/lite';
import { autocomplete, getAlgoliaResults } from '@algolia/autocomplete-js';
const searchClient = algoliasearch(
'latency',
'6be0576ff61c053d5f9a3225e2a90f76'
);
autocomplete({
container: '#autocomplete',
getSources() {
return [
{
sourceId: 'hits',
getItems({ query }) {
return getAlgoliaResults({
searchClient,
queries: [
{
indexName: 'instant_search',
query,
params: {
hitsPerPage: 8,
},
},
],
});
},
},
];
},
});
最后,我们需要让 Autocomplete 知道如何呈现点击。来源允许您为每个项目定义模板。@algolia/autocomplete-js
包期望模板作为虚拟 DOM 节点,所以我们将使用 Preact 通过 JSX 提供它们。
/** @jsx h */
import { h } from 'preact';
import algoliasearch from 'algoliasearch/lite';
import { autocomplete, getAlgoliaResults } from '@algolia/autocomplete-js';
import '@algolia/autocomplete-theme-classic';
const searchClient = algoliasearch(
'latency',
'6be0576ff61c053d5f9a3225e2a90f76'
);
autocomplete({
container: '#autocomplete',
getSources() {
return [
{
// ...
templates: {
item({ item, components }) {
return (
<a className="aa-ItemLink" href={item.url}>
<div className="aa-ItemContent">
<div className="aa-ItemIcon">
<img
src={item.image}
alt={item.name}
width="40"
height="40"
/>
</div>
<div className="aa-ItemContentBody">
<div className="aa-ItemContentTitle">
<components.Highlight hit={item} attribute="name" />
</div>
</div>
</div>
</a>
);
},
},
},
];
},
});
确保你的项目已经安装了 Babel,这样 JSX 模板就可以传输到h()
调用中。
请注意,我们已经导入了@algolia/autocomplete-theme-classic
,这是一个外观时尚的 starter 主题,与 Autocomplete 及其插件完全兼容。我们还利用了 Autocomplete 的组件 API(参见提供的components
对象),它允许您声明组件,以便在您的体验中的任何地方重用。默认情况下,Autocomplete 提供与 Algolia 兼容的突出显示和截取组件。
这应该会给你一个有效的自动完成体验,可以在你输入的时候呈现高亮显示的搜索结果。这是一个好的开始,但是我们离在 Algolia 文档上的经验还很远。让我们这样做✨
在一个模态中搜索
大多数自动完成体验使用下拉列表在搜索输入下方显示结果。这是电子商务网站如亚马逊或通用搜索引擎如谷歌和 DuckDuckGo 的典型模式。在 Algolia 文档中,我们使用搜索模式来从更多的屏幕空间中获益。这创造了一种更具沉浸感的体验,可以在移动设备上全屏显示。
自动完成使切换到带有分离模式的模态搜索变得不那么痛苦。“分离”意味着将自动完成功能从页面中分离出来并显示在顶部。默认情况下,分离模式在较小的屏幕上触发,以显示全屏自动完成。
您可以通过向detachedMediaQuery
选项传递一个空字符串来启用所有屏幕尺寸的分离模式。
autocomplete({
// ...
detachedMediaQuery: '',
});
这应该会用文档中的搜索按钮替换您的搜索框。点击它,你将在一个模态中打开你的搜索体验🔥
键盘支持
没有键盘的支持,现代网络交互体验是不完整的。在搜索体验中,你需要方便地在输入查询和浏览结果之间切换,而不必伸手去拿鼠标。
自动完成实现了 WAI-ARIA 1.1 组合框设计模式,这意味着它具有开箱即用的键盘可访问性。您可以使用向上和向下箭头浏览结果,并点击Escape
关闭搜索模式。
当您找到正确的结果时,您希望通过一次击键导航到该结果。Autocomplete 提供了一个 Navigator API ,让您在点击Enter
时决定导航到哪里。您所需要做的就是在源代码中实现getItemUrl
函数,以提供导航到的 URL。
autocomplete({
// ...
getSources() {
return [
{
// ...
getItemUrl({ item }) {
return item.url;
},
},
];
},
});
当一个项目处于活动状态时点击Enter
,自动完成将使用这个函数和位置 API 导航到提供的 URL。
如果您在使用基于 JavaScript 的路由器进行内部导航的应用程序中实现您的搜索体验(例如, Gatsby Link API , Next.js Router ),您可以实现 Navigator API 的[navigate](https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/keyboard-navigation/#param-navigate)
函数来使用这个定制路由器。
你会注意到默认情况下没有选择任何搜索结果:你需要按一下Down
键来选择第一个项目。在我们的例子中,我们正在构建一个随输入的体验,每次击键都会触发一个搜索请求,我们使用Enter
键导航到结果,因此不需要手动触发搜索。
您可以通过将defaultActiveItemId
选项设置为0
来启用自动选择。这将预先选择第一个项目,并让您在结果中循环。
autocomplete({
// ...
defaultActiveItemId: 0,
});
混合不同类型的结果
你还记得谷歌的搜索结果是什么时候的样子吗?
Google search results back in 1998 | Source: Ionos.fr
快进 20 年后,整体布局没有太大变化,但谷歌彻底改变了显示结果的方式。搜索“macbook”,你会得到有机的文本结果、图片、故事、答案(“人们也会问”)、地理定位经销商、评论视频、相关搜索等等。这带来了多样性,并迎合了更多用户寻找不同的东西,即使他们键入相同的查询。
在 Algolia docs 上,我们将搜索结果与查询建议混合在一起。这消除了分页的需要,当用户对结果不满意时,可以快速改进他们的查询。 Autocomplete 允许您传递任意多的源,从而可以直接混合结果类型并定制它们的外观。
使用自动完成功能,有两种方法可以添加查询建议:
手动设置额外的信号源
这种技术是我们在 Algolia 文档中使用的。它允许我们完全控制查询建议的位置,并用它来代替分页。您所需要做的就是向由getSources
返回的数组中添加一个条目。
autocomplete({
// ...
getSources() {
return [
{
// ...
},
{
sourceId: 'suggestions',
getItems({ query }) {
return getAlgoliaResults({
searchClient,
queries: [
{
indexName: 'instantsearch_query_suggestions',
query,
params: {
hitsPerPage: 4,
},
},
],
});
},
},
];
},
});
使用模板,您可以定义每个项目的外观,并在列表前设置标题。
autocomplete({
// ...
getSources() {
return [
// ...
{
sourceId: 'suggestions',
// ...
templates: {
header({ items, Fragment }) {
if (items.length === 0) {
return null;
}
return (
<Fragment>
<span className="aa-SourceHeaderTitle">
Can't find what you're looking for?
</span>
<div className="aa-SourceHeaderLine" />
</Fragment>
);
},
item({ item, components }) {
return (
<div className="aa-QuerySuggestion">
<components.ReverseHighlight hit={item} attribute="query" />
</div>
);
},
},
},
];
},
});
自动完成源按定义的顺序显示,因此在这种情况下,它在结果列表的末尾最多添加四个查询建议。
与搜索结果不同,我们不想在选择建议时导航到另一个页面。相反,我们希望“提前输入”(或在手机上“提前点击”):用建议更新查询,并触发新的搜索。为此,您可以利用源上的onSelect
钩子来设置查询,打开面板,并刷新状态。
autocomplete({
// ...
getSources() {
return [
// ...
{
sourceId: 'suggestions',
// ...
onSelect({ item, setQuery, setIsOpen, refresh }) {
setQuery(`${item.query} `);
setIsOpen(true);
refresh();
},
},
];
},
});
一个有用的 UX 技巧是总是在查询后附加一个空格。这为那些想继续打字的用户节省了一次击键,对 Algolia 来说没有什么不同。
使用查询建议插件
你可以在亚马逊或谷歌等网站上找到的另一种搜索模式是在列表顶部提供建议,以帮助用户更有效地完成查询。这在手机上尤其有用,因为粗手指效应让打字变得更加麻烦。
Autocomplete 提供了一个官方的查询建议插件来将这样的建议添加到您的体验中,而不需要手动添加源。查看文档中的示例,了解如何将插件集成到您的体验中。
在预览面板中显示详细信息
与搜索结果页面不同,自动完成倾向于保持结果紧凑。这使您可以显示更多的信息,但会限制您可以显示的信息量。
在 Algolia docs 上,我们通过受 macOS Spotlight 体验启发的预览面板解决了这个问题。这让你在决定是否要导航到相关资源之前,发现更多关于给定搜索结果的信息。
A preview panel helps you display many results while exposing in-depth information about the active item
自动完成提供了几种机制,您可以利用这些机制来组合预览面板:
- 一个上下文 API 在自动完成生命周期中的任何地方存储和检索任意数据。
- 一个
render
函数,输出自动完成面板,打开供你自定义。 - 每个源都实现了一个
onActive
钩子,每当一个项目被激活时,这个钩子就会运行。
首先,您需要在源代码中实现onActive
方法。它允许您访问所有的自动完成设置器,包括一个让您持久化任意数据的setContext
函数。您可以使用它来存储活动项目,以便以后在预览面板中显示。
autocomplete({
// ...
getSources() {
return [
{
sourceId: 'hits',
// ...
onActive({ item, setContext }) {
setContext({ preview: item });
},
},
// ...
];
},
});
每当你浏览一个搜索结果,preview
的值就会改变。现在,您可以使用 autocomplete 的render
功能在结果列表旁边的面板中显示这些数据。
默认渲染实现如下:
import { render } from 'preact';
autocomplete({
// ...
render({ children }, root) {
render(children, root);
},
});
当需要重新呈现时,Autocomplete 将虚拟 DOM 节点的当前树传递给 Preact 的render
函数,该函数将其呈现到面板容器中。我们可以覆盖它来定制要呈现的内容。
自动完成的 render
功能允许您访问当前的state
,您可以在其上检索上下文。这使您可以构建预览面板并显示当前活动项目中的数据。
/** @jsx h */
import { h, render } from 'preact';
// ...
autocomplete({
// ...
render({ children, state, Fragment, components }, root) {
const { preview } = state.context;
render(
<Fragment>
<div className="aa-Grid">
<div className="aa-Results aa-Column">{children}</div>
<div className="aa-Preview aa-Column">
<div className="aa-PreviewImage">
<img src={preview.image} alt={preview.name} />
</div>
<div className="aa-PreviewTitle">
<components.Highlight hit={preview} attribute="name" />
</div>
<div className="aa-PreviewPrice">${preview.price}</div>
<div className="aa-PreviewDescription">
<components.Highlight hit={preview} attribute="description" />
</div>
</div>
</div>
</Fragment>,
root
);
},
});
您需要编写一些自定义 CSS 来调整 UI 并并排显示两列。你可以在已经完成的项目的 CodeSandbox 中找到一个例子。
这就对了。每次滚动浏览结果时,面板都会更新详细视图。这是一个绝佳的机会,可以发挥创意,公开相关信息,帮助用户决定他们是否选择了正确的搜索结果。根据你的用例,你可以展示其他编程语言的兄弟页面的链接(技术文档),最多的正面和负面评论(电子商务,媒体),可用的尺寸和颜色变化(零售)等。
The final Autocomplete implementation | Source code on CodeSandbox
使用 DocSearch 自动完成
如果您在现有的文档站点上有一个开源 API,您可能已经在使用我们的免费技术文档搜索解决方案 DocSearch 。DocSearch 带有一个前端 UI(用 Autocomplete 构建的),但是您可以将其换成一个自定义的 UI。
为此,您需要将应用程序 ID 和 API 键替换为您在现有 DocSearch 实现中使用的 ID 和 API 键。此外,确保与自动完成模板中的文档搜索记录的结构相匹配。您可以通过在您的网站上进行搜索并检查来自 Algolia 的网络响应来查看您当前的记录结构。
Inspecting the Algolia search response for a DocSearch implementation in the browser
接下来是什么
这让您体验了使用自动完成和最少的用户代码可以构建的高级搜索体验。我们已经在开发新的 API 和插件,让您走得更远,并为您的项目带来强大的随键入搜索功能。
以下是你在不久的将来可以期待的一瞥:
- 公开状态设置器和获取器,以编程方式控制分离模式
- 一个标签 API 在同一个界面中细化自动完成结果
- 一个组合 API 来转换源组
- 一个流 API 通过结果设计类似图形的导航场景
- 以及更多的改进👀
请继续关注我们的论坛上的未来版本,并向我们展示您使用自动完成功能构建的内容!
了解 Gymshark 如何为黑色星期五做准备,以提高业绩和销售额
原文:https://www.algolia.com/blog/product/retail-innovations-peak-season/
在这个关于“实时旺季敏捷性”的网络研讨会上,Algolia 的雷切尔·沃德采访了英国发展最快的健身时尚品牌 Gymshark 的软件产品负责人本·普西。他们讨论如何为黑色星期五高峰期间的高峰表现做准备,并通过零售创新赢得客户。
点击这里 观看网上研讨会[ 或继续阅读精彩内容
-
关于 Gymshark 2015 年的“伟大的网站崩溃”——有时候一个问题可以有一个伟大的结果。2015 年,Gymshark 才三岁,还是个小公司。它没有专门的技术团队,而是经营一家由第三方机构维护的自主商店。黑色星期五前的流量高峰完全淹没了网站。这次事故对 Gymshark 造成了收入损失和名誉受损。但是也有好的一面。
-
关于更好地反弹——那次经历是 Gymshark 将技术发展成为公司核心职能、转向 SaaS 解决方案并最终转向无头架构的催化剂。自从他们崩溃后,可靠性和可伸缩性成为 Gymshark 的主要关注点,通过合作伙伴 Shopify、Algolia 和 Contentful 的 API 优先解决方案实现。现在,如果某项服务由于某种原因无法应对,很容易关闭它,继续向客户提供核心体验。这种转变为 Gymshark 带来了巨大的好处。2020 年,他们的收入达到了 5 亿美元的里程碑,现在为大约 6400 万客户提供服务,每年的浏览量超过 10 亿次。世界各地的电子商务零售商可以从 Gymshark 的经历中学到很多。
-
满足顾客期望–如今的网上购物者与两年前疫情电子商务爆发前相比,有着截然不同的期望。为了赢得顾客的忠诚度和增加转化率,商家需要准备好以无缝、世界级的搜索和浏览体验来满足顾客。最近的一项研究表明,59%的客户在几次糟糕的经历后转向了竞争对手,17%的客户在一次糟糕的网站访问后离开了。像 Gymshark 这样的零售领导者正在大力投资惊人的体验,帮助客户找到合适的产品,引导购物者购买让他们再次光顾的产品,并在此过程中推动更高的终身价值。
-
关于节日销售的重要性——难怪顶级品牌在黑色星期五前后投入如此多的精力在商品销售和物流上。Gymshark 在假期前后的 14 天里创造了 20%的年收入,其中 40%是在黑色星期五的前 6 个小时!由于网站的访问量是平时的 200 倍,因此可靠性和可扩展性至关重要。节假日是赚钱的高峰期。尽管通货膨胀率不断上升,但国家零售基金会预计 2022 年假日季的销售额将破纪录。如此多的盈利潜力岌岌可危,零售商不能冒任何风险。
-
关于如何为黑色星期五的销售高峰做准备——Gymshark 学到了为假日高峰做准备的艰难方法。预先扩展你的站点和测试系统是必要的,以确保每一个客户的旅程都是令人惊奇的,尽管有额外的负载。保持与战略伙伴 的沟通渠道畅通。让你的伙伴和团队参与预测和负载测试,这样每个人都知道会发生什么。这几分之一秒的加载和渲染时间对于转换来说至关重要。了解为什么 Gymshark 一直在探索在季节性高峰期间支持核心客户体验的功能切换。
-
关于推荐的重要性–优质推荐 这些活动可以成就或打破你的假日销售,并有可能让你更上一层楼。当 Gymshark 意识到他们已经超越了他们推荐的ating 解决方案时,他们转向了 Algolia,以获得更高的相关性、可扩展性和大幅减少的管理负担。Gymshark 已经在使用 Algolia 进行搜索和浏览了,所以添加 Algolia 推荐并不是一个很大的技术飞跃。概念验证只需要几个小时就可以完成。在一个市场的试运行在几周内就交付了高质量的结果。要在任何地方上线,该团队只需多按几个开关。Gymshark 在短短六周内从零开始成为一个明星表演推荐人。
-
关于交付令人印象深刻的 KPI——对于 Gymshark 来说,为黑色星期五做准备,并与 Algolia 一起构建一个强大的搜索解决方案,获得了丰厚的回报:
- 该站点没有停机时间
- 尽管假日负荷增加,API 响应时间保持稳定
- 新用户订单率增长 150%
- 产品推荐点击量增加 30%
- 更多的产品被添加到购物车中
- 整体转化率更高
T31
2022 年的黑色星期五可能还有六个月,但精明的零售商知道它很快就会到来。不要在假期睡觉,错过了那些关键绩效指标。现在就开始为假日高峰做准备,与 Algolia 这样的战略合作伙伴一起满足客户的期望。
Algolia 的 API 优先搜索&发现平台使构建者能够为客户设计卓越的在线体验。极快的搜索速度和卓越的浏览能力给了购物者他们想要的东西。
今天就申请一个个性化演示 看看 2022 年的黑色星期五会是什么样子。
Ruby 客户端 v2 发布了!
原文:https://www.algolia.com/blog/engineering/ruby-client-v2-is-out/
Algoliasphere 的好消息:我们刚刚发布了 Ruby 客户端的一个新的主要版本。 你知道 Ruby 客户端是我们设计的第一个吗?1.1.3 版本差不多七年前就出了!退一步说,T4 的确值得拥有一些新鲜空气。这个新版本获得了全新的设计,为您带来了大量新功能,同时 100%符合通用 API 客户端规范。我们来深究一下。
Algolia search 变成 Algolia
你可能注意到的第一件事是,我们更改了宝石的名称。我们的 Ruby 客户端现在提供了几个截然不同的客户端,针对 Algolia 的不同特性: 搜索 当然,还有 分析见解 ,以及 推荐 。由于这一变化,gem 反映新的架构并将其简单地重命名为“algolia”是有意义的。
使用我们的整个 REST API 的全部潜力现在是小菜一碟,因为您只需实例化您选择的客户端并使用我们为您量身定制的端点。他们都依赖于我们的重试策略来为您提供最佳体验(稍后将详细介绍)
现代工装
我们利用改造的机会在 Ruby 社区中使用了最先进的工具。任务处理测试和林挺。林挺是用rubo COP完成的,测试用Minitest。我们选择 Minitest 而不是 Rspec 的原因很简单:它是唯一一个提供并行测试可能性的工具。我们希望确保我们的客户端与 JRuby 兼容,这样多线程就不会被忽略,Minitest 并行测试向我们保证一切都会顺利进行。此外,所有方法都使用 码 约定进行记录。
支持的最低 Ruby 版本是 2.2。这是一个仍然在我们的用户中广泛使用的版本,也是 Rails 早期版本 v5 中支持最少的 Ruby 版本。
完全独立重试策略
为了给你最好的 Algolis 体验,并为你提供一个强大的客户端,我们现在实施与我们所有其他客户端相同的重试策略。它是确保最大服务可用性的关键元素,因为它是作为单独的类实现的,所以它已经过彻底的单元测试,可以作为一个系统独立工作。这也意味着您可以在我们所有不同的客户端实例中受益,甚至在您决定不使用我们捆绑的 HTTP 客户端的情况下。因为是的,您可以自由地使用您喜欢的任何 HTTP 客户端!
DIY 客户端
这个客户端很容易定制。当我们构建 API 客户端时,最重要的是可靠性和开发者体验(DX)。我们希望您能够放心地使用我们的服务,而且是以您感觉最舒适的方式使用。在这种情况下,您可以覆盖我们的请求者,您可以覆盖我们的记录器,如果您选择继续使用我们提供的请求者, 【法拉第 ,您也可以覆盖您将与之一起使用的适配器。这就是我们选择 Faraday 作为默认 HTTP 库的原因。它不仅易于实现,而且广受欢迎并经常更新, 和 它满足了我们旨在为您提供的灵活性需求。我们附带的默认适配器是 Nett:Http:Persistent,但是您可以很容易地将其转换为您最喜欢的 Http 库(Excon、HTTPClient 或 httpx,仅举几个例子)。
请求选项
我们简化了处理可选参数的方式。现在,方法签名中只需要强制参数,其他的都可以在最后一个可选参数中作为散列传递。如果要传递头、超时、connect_timeout 或 compression_type,必须显式设置它们。剩下的可以照原样通过!它缩短了方法签名,也与我们的其他动态类型客户端保持一致,如 Python 或 PHP 。
单机配置
我们已经为配置添加了专门的类。您可以在这里为每个客户端设置超时、头和特定配置。这些配置过去是直接在客户机中设置的,但现在它们有了专用的类,使它们更容易调整,并分离了它所属的客户机各个方面的逻辑。例如,您可以覆盖搜索配置中的默认主机。
搜索客户端
搜索客户端类已清理完毕。除了单独处理配置之外,我们还删除了协议类:现在您可以直接在主类中读取被访问的端点,并更好地了解幕后发生了什么。最重要的是,它不再是单例实例:通过传递应用 ID 和 API 键来创建客户机。这个实例将在其请求者和连接池上运行,不会干扰同时运行的任何其他实例。
搜索索引
搜索索引类别大部分保持不变。正如我们之前提到的,主要的改进是通过将所有可选参数放在一个散列中来缩短方法的签名。因为这是一个非常受欢迎的特性,所以我们保留了 bang 方法,让您等待整个操作完成。您也可以像我们在其他客户端中所做的那样,在您的调用之后链接“wait()”方法。
T7TL;博士
我们摆脱了当前 Ruby 客户端的主要痛点,搜索客户端的单一实例,以及我们的 Ruby 客户端与我们的通用规范不一致的事实。我们现在有了一个新的基础,它符合 Algolia 标准、Ruby 标准,并遵循 CTS 进行额外的单元测试。我们希望您会像我们喜欢构建 v2 一样喜欢使用它!如果您想获得所有更改的详尽列表,请参考我们的 升级指南 。
感谢您的阅读!
Salesforce 商务云+ Algolia =无处不在的卓越客户体验
原文:https://www.algolia.com/blog/ecommerce/salesforce-commerce-cloud-algolia-great-customer-experiences/
最近,我们针对 Algolia 推出了新的 解决方案页面 和 Salesforce Commerce Cloud,我们听到了许多客户的兴奋之情,并收到了关于 Salesforce Commerce Cloud 和 Algolia 如何协同工作的问题。
如今,sales force Commerce Cloud提供强大的开箱即用搜索功能,使购物者能够准确找到他们想要的东西。此外,商务云还提供与 Algolia 等第三方解决方案的集成,为客户提供大量选项来定制商务云,以最大限度地满足他们的业务需求。
让我们仔细看看。
它始于 Salesforce 商业云原生搜索。
首先,了解商务云的原生搜索功能很重要。由人工智能和深度机器学习驱动的商业云搜索包括:
- 爱因斯坦搜索推荐: 实时为每个购物者提供个性化的提前输入建议。
- 爱因斯坦搜索词典: 用自动生成的同义词列表解析缺失的搜索词。
- 爱因斯坦预测排序: 自动为每个购物者定制分类页面和搜索结果。
- 爱因斯坦视觉搜索: 使购物者能够使用图像而不是文本来“抓取和搜索”产品。
除了基于机器学习的搜索,商业云还提供跟单员:
- 丰富的搜索和使用功能和灵活性,优化购物者的浏览、排序、过滤和分面搜索之旅
- 自动完成建议,包括产品、类别、品牌的拼写更正&内容
- 用于近实时更新的增量索引和粒度搜索索引管理,以控制可搜索数据
- 关于查询、术语、转换率等的搜索报告。以及用于监控和优化购物者搜索行为的 A/B 测试
- 多语言支持,包括支持 35 种以上语言的查询分析器
- 利用开放商业 API 和快速缓存实现优化性能和快速页面加载的搜索调优和复杂的定制功能
简而言之,商务云提供了一个直观、有效的电子商务搜索引擎,为在线购物者提供相关结果。
凭借上述强大的原生搜索功能,大多数商业云客户的所有需求都得到了满足,从而帮助消费者在其网站和移动网站上找到他们正在寻找的产品,并最终实现转化。
延伸电商搜索:Salesforce 商务云+ Algolia 的力量。
由于每个客户都有自己独特的需求,商务云还提供与 Algolia 等解决方案的集成,以确保客户能够根据自己的需求和喜好扩展商务云。
将 Algolia 视为一个互补的、基于 API 的解决方案,使开发人员和在线商家能够轻松地进一步扩展和定制他们的商务云网站的搜索和发现体验。与商业云的合作伙伴关系是为什么我们如此兴奋地欢迎 Salesforce Ventures 作为我们最近一轮融资的投资者。
“我们的客户需要直观、卓越的体验,而这正是鳄鱼享誉全球的原因。Algolia 和 Salesforce Commerce Cloud 的结合是在全球范围内跨 Lacoste 平台提供这种数字体验的关键部分,并帮助我们的全球销售额翻了一番。”
拉科斯特全球数字总监 jérémie Szpiro
因此,让我们来探索一下商务云和 Algolia 的结合能够满足各种规模企业的特殊需求的一些额外体验:
1。呈现多种搜索结果类型&发现。
Algolia 的商业云应用编程接口可以提供跨多个不同数据源的统一搜索体验。例如,一个商家希望允许用户发现相关产品,以及在商业云内提供的产品搜索结果中来自其编辑站点的相关内容。这激发了消费者对特定风格或趋势的更多发现。Algolia 的联合搜索功能可以在商业云网站上的产品搜索结果旁边拉入相关文章和媒体。
2。提供无缝的购后搜索体验。
除了产品搜索之外,零售商可能希望其消费者能够使用搜索栏来查找最近在线购买后的订单和运输信息,以及客户支持问题。Algolia 的 API 使零售商能够连接到商家的订单管理和支持系统,以显示这些信息。消费者可以通过商业云上的主搜索栏找到订单更新信息,因为 Algolia 可以推断出用户不是在搜索另一种产品,而是在寻找订单的更新。
3。让商务对话化。
一家零售商希望使用商业云创建一个移动购物网站,为其移动消费者提供语音搜索支持。借助 Algolia 的支持语音的搜索 API,零售商可以在由商务云支持的零售移动网站上轻松整合对话式商务的支持语音的搜索。
4。帮助开发人员轻松实现。
最后,Algolia 为开发人员提供预打包的前端 UI 库,以轻松扩展 Salesforce Commerce Cloud 上的现有搜索和发现体验,涵盖移动设备、PWA(渐进式 web 应用程序)、信息亭和语音优先的对话式 UI。
敬请关注客户实施 Algolia 与 Salesforce Commerce Cloud 的更多优秀案例。
更多信息,请前往www.algolia.com/solutions/salesforce-commercecloud/。
盐事件:2020 年 5 月 3 日回顾和更新
原文:https://www.algolia.com/blog/engineering/salt-incident-may-3rd-2020-retrospective-and-update/
| 总结&关键要点
- 2020 年 5 月 3 日,Algolia 的基础设施因 salt 配置管理漏洞 CVE-2020-11651 经历了一次攻击。通过这个漏洞,两种类型的恶意软件代码能够进入 Algolia 的配置管理器——一种旨在挖掘加密货币,另一种则充当后门服务器。
- 鉴于恶意软件的性质,虽然没有任何数据泄露,也没有收集、更改、销毁或损坏数据,但在 5 月 3 日,不到 2%的 Algolia 搜索服务客户经历了超过 5 分钟的服务中断,不到 1%的客户经历了超过 10 分钟的服务中断。
- 截至世界协调时 2020 年 5 月 3 日 17:33,Algolia 的 9000 多名客户的所有搜索服务都正常运行。
- 作为这次经历的结果,Algolia 审查并更新了其安全协议、措施和监控实践,以进一步保护和加强其服务。
- Algolia 赢得了客户的信任,其服务的安全性和性能至关重要。因此,它向其客户和社区提供以下事件的详细叙述,以及一个 常见问题解答 。
|
你可能听说过 salt 配置管理漏洞(CVE-2020-11651和【CVE-2020-11652),冲击了几家大型组织。该漏洞涉及 salt master 的通信协议,特别是其已验证的协议,该协议有一个重大缺陷,允许绕过健全性检查,并调用敏感的内部函数,这可能允许盗用通信密钥,甚至继续使用未经验证的命令。
2020 年 5 月 3 日晚上,我们确实遭到了利用这个 漏洞 的攻击。
在 Algolia,我们一直对问题保持坦诚和透明。我们正在进行这次公开的事后分析,目的是向我们的用户提供有关此次事件的完整和详细的信息,同时也是为了从长远来看改进我们自己。
苏醒事件
这一切都始于 5 月 3 日星期日,巴黎时间凌晨 3 点 12 分,我们一位核心工程师的电话突然响起。多个警报同时触发,因为 API 对许多客户不再可用。事件的规模之大足以证明唤醒我们的基础架构团队提供帮助是正确的,另外两名工程师很快在半夜加入进来帮助调查问题。
服务器持续发出警报,一个接一个地关闭,没有明确的原因,远程访问这些服务器也是不可能的。一开始怀疑是大规模网络中断,我们的提供商之一 OVH 迅速协助调查,排除了这种假设。同时,我们在审计日志时发现了可疑的命令。
罪魁祸首:配置管理
我们能够快速确定我们的配置管理器是攻击的受害者,向我们欧洲集群中的许多服务器传播恶意软件命令。我们的部分基础设施现在正在运行 而不仅仅是我们的代码 。
配置管理是基础设施的关键部分,尤其是在大型云中,这一点有时会被忽视。能够在数千台服务器上部署要安装的包、设置服务并维护它们是必须的。但这可能成为一个致命的弱点,因为它涉及到一个中央服务器,该服务器获得了访问大量服务器的特权。一个错误可能被放大到令人痛苦的程度。
什么受到了冲击
超过 500 台服务器受到影响,其中大多数暂时失去了索引服务,但其中一些也失去了搜索功能。由于我们设计架构的方式,这并没有对我们的客户产生重大影响,因为额外的服务器保持健康并接管了搜索流量。
在逐个恢复服务器时,我们主要关心的是准确评估攻击的确切规模。第一个问题总是:有数据被破坏了吗?分析恶意软件执行的有效载荷,我们得出结论,攻击的唯一目标是挖掘加密货币,而不是收集、更改、破坏或损坏数据。我们本可以不那么幸运,这是一个我们不会很快忘记的教训。
此外,我们的部分监控网络因检测到的故障而过载,但状态页面显示一切正常。这是混乱和误导。我们正在努力修复它,我们将回顾性地更新状态指示器,以反映我们检测到的问题。
以下是我们的一些用户在索引方面遭遇的停机时间,但有时也包括搜索服务:
- 超过 700 个集群中有 15 个(~2%)受到超过 5 分钟的搜索停机时间的影响。
- 6 个集群(不到 1%)受到超过 10 分钟的搜索停机时间的影响。
我们如何应对:重建基础设施
我们首先关闭了我们所有基础设施中涉及该事件的配置管理器,保留文件供以后进行取证分析。然后,我们与不同的提供商合作,开始逐一重启所有受影响的服务器,并调查它们的状态。我们发现注入了两个恶意软件——一个用于挖掘加密货币,另一个作为后门服务器。我们开始查杀所有恶意软件,将文件恢复到原始状态,然后建立一个计划,逐个重新安装所有受影响的服务器。
作为我们标准协议的一部分,公告会定期在【https://status.algolia.com/更新,我们会向联系我们支持团队的客户通报相关情况。
在第一个警报被触发七个小时后,我们在移除所有注入的恶意软件后重启了最后一台服务器,并开始在配置管理端工作。十几个人参与了恢复工作,不知疲倦地重建受损的服务设施。
我们是怎么来到这里的?
受影响的组件是一个较旧的工具,一直运行良好,但我们计划在接下来的两个季度中对其进行返工。我们现在已经制定了一个保护环境的临时修复措施,我们正在积极地工作,比计划更快地重新设计系统。
到目前为止我们做了什么:
- 我们已经通过更新和添加额外的 IP 过滤来保护受影响的 SaltStack 服务,只允许 我们的服务器 连接到它。
- 我们从头开始重新安装了 SaltStack 服务器。
- 我们在应用服务器和 SaltStack 服务器上轮换与 SaltStack 服务通信所需的安全密钥。
- 我们在我们所有的服务器上轮换秘密。
- 我们将控制平面服务的访问密钥限制在服务器的特定 IP 上,预计将从这些 IP 上访问和使用它们。
我们未来几天的计划:
- 我们将审查我们所有的控制平面服务,并添加一个额外的访问控制层,以确保单个控制故障不会导致服务暴露。
- 作为一项额外的安全措施,我们将重新安装基础架构中所有与 SaltStack 有联系的服务器,以确保所有服务器都不会出现任何意外变化。
- 我们将建立一个流程来监控和审查常见漏洞和暴露(CVE ),即使在假期和周末也是如此,以避免像五一假期之后是周末这样的组合,并缩短发现 CVE 和应用补丁之间的反应时间。
- 如果您应用的 SLA 受到影响,我们将根据适用的服务水平协议提供适当的服务积分。
我们服务的安全性和正常运行时间是我们的两个核心优先事项。因此,这次停机没有任何可接受的借口。您可以相信我们会从中吸取教训,并改善我们的设置和基础设施,使这种情况不会再次发生。
常见问题
-
此次攻击对客户及其用户的搜索体验有何影响?
- 不到 1%的客户经历过搜索体验下降或搜索中断。
-
我如何知道我的站点在这次攻击中是否受到影响?
- 如果你没有意识到任何问题,这意味着你很可能没有受到影响,所有的安全机制都工作正常。如果您想查看这段时间内您的应用程序的状态,您可以在仪表板、部分监控和选项卡状态中查看。
-
你提到部分基础设施不仅仅运行 Algolia 的代码?运行的另一个代码到底是什么,它做了什么?
- 代码试图获得尽可能多的 CPU 来挖掘加密货币,并阻止服务器重启。
-
Algolia 的服务器受攻击影响的百分比是多少?
-
如果重新启动最后一台服务器的整个过程需要 7 个小时,那么搜索停机时间为什么只有大约 10 分钟?
- 由于我们的架构,我们的应用集群中有很高的冗余度,在绝大多数情况下,整个集群都没有受到影响。我们设计了这种体系结构来承受数据中心停机,这种情况非常类似。一些服务器没有成功重启,团队在接下来的几个小时里一直在处理这些孤立的案例。
参考文献
【https://nvd.nist.gov/vuln/detail/CVE-2020-11651T21
https://nvd.nist.gov/vuln/detail/CVE-2020-11652
https://the hacker news . com/2020/05/salt stack-rce-exploit . html
Sanity + Algolia:向开源无头 CMS 添加搜索
原文:https://www.algolia.com/blog/product/sanity-algolia-add-search-to-an-open-source-headless-cms/
在本文中,我们将研究如何将 Sanity.io 与 Algolia 集成。Sanity.io 是一个内容平台,附带一个可以定制的开源 headless CMS,以及一个托管的实时数据存储,允许您读取和更新数据。Sanity.io 背后的理念是,您应该能够将内容视为数据,并将其带到您拥有的任何产品或应用程序中。
现在,CMS 通常没有搜索功能。自己在上面构建一个最简单的搜索功能都不容易,更不用说包含诸如允许输入错误和分面等重要功能的东西了。这就是我们的 Algolia 插件所做的事情:它在你的 CMS 上添加了一个灵活且功能丰富的搜索功能。
CMS<>Algolia 使用 webhooks
有许多方法可以将 CMS 与 Algolia 集成在一起。最有效的方法之一是利用 webhooks。您可以创建一个 API 作为 webhook 端点,并配置您的 CMS 在内容更改时触发 webhook。在您的 API 中,您可以在 Algolia 的索引中创建、更新或删除相应的记录。
因此,您需要创建一个 API 作为 webhook。如果你有一个网络服务器,你可以在那里添加一个 API。或者,如果您在 Netlify 或 Vercel 上托管了 Sanity Studio,您可以编写一个无服务器函数作为您的 API。
然而,这部分可能很麻烦。在 API 中,您需要检查触发 webhook 请求的原因:记录的创建、更新或删除。之后,您需要调用相应的方法将更改应用到 Algolia。这不是一大块代码,但是如果没有正确的数据模式,这可能会很耗时。这就是理智-algolia 的用武之地,它帮助我们处理双方的问题。
一种更好的方式:理智——阿洛利亚(附教程)
使用 sanity-algolia,您需要为 algolia 索引转换有效负载。
以下是方法。
安装依赖项:
npm install algoliasearch sanity-algolia
# or
yarn add algoliasearch sanity-algolia
创建 API:
import algoliasearch from 'algoliasearch';
import sanityClient from '@sanity/client';
import indexer, { flattenBlocks } from 'sanity-algolia';
const algolia = algoliasearch(...);
const sanity = sanityClient(...);
export default function handler(req, res) {
const sanityAlgolia = indexer(
{
post: {
index: algolia.initIndex('posts'),
},
},
document => {
switch (document._type) {
case 'post':
return {
title: document.title,
path: document.slug.current,
publishedAt: document.publishedAt,
excerpt: flattenBlocks(document.excerpt),
};
default:
throw new Error(`Unknown type: ${document.type}`);
}
}
);
return sanityAlgolia
.webhookSync(sanity, req.body)
.then(() => res.status(200).send('ok'));
}
假设这个 API 的端点部署在
https://my-example/api/update-algolia
访问您的健全仪表板来添加 webhook。
现在,每当您的 Sanity studio 中的内容发生变化,它就会触发这个 webhook,这将使用这些变化更新您的 Algolia 索引。
感谢库 sanity-algolia,如果您定义了要获取哪些属性以及如何转换它们,其余的工作会自动为您完成。
要了解更多信息,请访问此 GitHub repo 。
选择最佳模式提高 Google Bigtable 性能
原文:https://www.algolia.com/blog/engineering/scaling-algolia-personalization-engine/
我们的个性化功能依赖于 Google Bigtable,这是一个托管在 Google 云平台上的托管数据库。我们发现,在计算用户配置文件时,Bigtable 模式的变化可以带来 3 倍的性能提升。我们将带您深入了解我们如何扩展和改进 Bigtable 性能的调查,描述我们在此过程中收集的重要经验。
什么是 Google Bigtable?
Bigtable 是一个用于管理结构化数据的分布式存储系统。它被设计为水平扩展。自 2004 年以来,它一直在谷歌内部开发,并于 2015 年作为谷歌云平台的一部分公开发布。
Bigtable 将数据存储为由 row key
、 column key
和 timestamp
: 索引的排序图
(row:string, column:string, time:int64) -> []byte
它通过行键按字典顺序维护数据,这允许通过指定前缀来查询行的范围。列键由一个族键 和一个 限定符 组成。由于数据是按表和族键分割的,并一起存储在单独的 平板 (物理硬盘)中,因此对族键有一些限制:我们需要在创建表时指定族键和表名,建议将具有相同访问模式的元素存储在同一个族键下。此外,文档建议使用一些仅包含字母数字字符的家族密钥(最多 100 个)。另一方面,限定符的约束较少,可以用任意字符创建一行。
存储彼此相邻的相关行。
为 Google Bigtable 捕获并存储用户事件
回到用例。正如我们的文档所描述的,个性化依赖于用户事件,如页面浏览、点击和转换来建立用户档案。这些事件由我们的客户通过洞察 API 发送,并由类型(查看、点击、转换)、名称(如“主页”)和对象标识符定义。
考虑一个在线市场,用户在主页上点击了一部黑色的苹果 iPhone。我们收到以下事件,其中 user_token
是由 Algolia 的客户生成的唯一匿名用户标识符:
{
"app_id": "app",
"user_token": "24d64a80-8d1c-11e9-bc42-526af7764f64",
"object_ids": ["af3d4d14-8d1c-11e9-bc42-526af7764f64"],
"timestamp": "2019-05-28T00:04:34.000Z",
"event_type": "click",
"event_name": "homepage"
}
与产品互动的用户产生事件,我们根据这些事件建立用户档案。用户简档代表用户对类别、品牌等的密切关系和兴趣。具体地说,我们实现了一个用户配置文件,作为一个键值结构,由与分数相关联的过滤器组成。在我们下面的例子中,过滤器 color:Red
的分数为 12,这由用户与红色项目的隐式交互的数量来确定。
color:Red -> score: 12
brand:Apple -> score: 10
color:Black -> score: 8
brand:Sony -> score: 3
brand:Samsung -> score: 2
用户简档中的过滤器的分数是根据定义每个事件的重要性的策略(例如, 转换 、 查看 、 点击 )以及与事件相关联的每个过滤器的重要性来生成的。
**在查询时,给定用户的用户简档被用于通过匹配过滤器提升最相关的项目。这为我们的用户提供了无缝的个性化体验。
建立实时用户档案
速度至关重要,我们的目标是为用户提供实时的个性化体验。此外,当我们的客户更新他们的个性化策略时,我们希望尽快用新策略更新所有的用户配置文件。
这导致我们构建了两条独立的管道来计算和更新用户简档:
- 一个 流式管道 ,当我们接收到事件时,它计算用户简档
- 一个 批处理管道 ,它在策略更新之后重新计算所有用户简档
管道部署在谷歌云平台上托管的 Kubernetes 集群上。我们将客户发送的事件存储在 Bigtable 中,因为它能够处理大量数据的高读写吞吐量。作为多租户系统使用,Bigtable 的模式为隔离每个客户的数据提供了有力的保证。下图描述了两种个性化管道的高级架构。
缩放配料管道
随着越来越多的客户使用个性化搜索,我们需要在计算用户简档时处理不断增加的负载。具体来说,我们需要确保批处理管道能够扩展。例如,如果客户在 90 天的保留期内平均每天发送 1000 万个事件,那么当策略更新时,管道将必须检索和处理总共 9 亿个事件。
由于管道的性能主要取决于 Bigtable 的读取吞吐量,我们希望研究不同的表模式在 Bigtable 中存储事件的性能影响,并评估要检索的事件数量对管道处理持续时间的影响。
我们的 Bigtable 模式
为 Bigtable 设计模式包括确定行键的格式和行值的结构。
排键。行键设计特定于用例以及访问模式。正如我们上面解释的,我们需要访问我们的一个客户发送的所有事件或者他们的一个用户发送的所有事件。因此,读取比写入更重要,因为我们需要在每次构建用户的配置文件时检索用户的所有事件。为了对排序的键块执行有效的扫描,相关的行需要彼此靠近。因此,我们设计了以下模式,允许对客户(从其标识符、 app_id
)及其用户(从其标识符、 user_token
)进行顺序扫描:
app_id,user_token,YYYY-mm-DDTHH:MM:SS.SSSZ
排值。行值由一个列键(带有族键和限定符)和一个列值组成。一个行的值将存储一个由以下内容组成的事件:
- 事件类型( 转换 , 点击 , 查看 )
- 事件名称(用户自定义,如 首页 )
- 过滤器列表(格式为
filter_name,filter_operator,filter_value
)
窄行和宽行值。 构造行值模式有不同的方法。一种模式是将完整的数据结构存储在行的值中。这导致一个又高又窄的表,每行只有少量事件,每行只有一个姓和限定符。另一方面,可以利用同一行中的多个系列和限定词来分层构造值。这导致表又短又宽,每行都有大量事件。
窄值行模式。
宽值行模式。
狭隘图式
由于不同的事件类型是固定的,并且由字母字符组成,因此它们很适合作为家族关键字。因为是用户定义的,基数大,所以事件名不能作为族键使用;但是,它可以用作限定词。然后,过滤器计数的列表可以用作一个值,并以 JSON 格式进行编码,例如,当使用官方命令行工具 cbt 与 Bigtable 交互时,可以读取表中的行。
结果模式如下:
row: app_id,user_token,timestamp
family key: event_type
qualifier: event_name
value: [filter_counts]
这是我们目前用来存储事件的模式。
因此,以下两个事件存储在表中,如下所示(注意:我们缩短了时间戳):
[{
"app_id": "app",
"object_ids": ["black-apple-iphone"],
"user_token": "user1",
"timestamp": "2019-05-28",
"event_type": "click",
"event_name": "homepage"
},
{
"app_id": "app",
"object_ids": ["red-samsung-s11"],
"user_token": "user2",
"timestamp": "2019-05-29",
"event_type": "click",
"event_name": "search"
}]
广图式
使用上面定义的窄模式,我们需要检索与每个事件相关联的所有过滤器来计算用户简档。但是,我们根据策略中定义的过滤器计算用户配置文件,这是事件中包含的过滤器的子集。不得不从容器中的事件中丢弃一些过滤器会产生吞吐量和内存开销。
相反,宽模式使用族和限定符来创建宽行格式,并在服务器端过滤事件过滤器名称。由于过滤器是根据它们在策略中的名称来定义的,所以我们通过带有限定符的过滤器名称来索引行值。考虑到 family 键在格式和数量方面的限制,我们只能使用限定符按过滤器名称索引行值。因此,我们将元组 (event_type, event_name, filter_name)
编码为 CSV 格式的限定符。系列名称限制为 100 个,需要提前定义,因此不能是客户定义的值。相反,我们使用单个字母、 e
、 作为家族密钥,以便在通过网络传输整行时最小化其开销。请注意,族键可以具有版本控制语义,这对于将数据从一个族迁移到另一个族很有用。然后行值是一个数组的 (filter_operator, filter_value)
计数。然后,根据策略中的过滤器,使用交叉过滤器查询行的限定符。
这些考虑导致了以下宽模式的设计:
row: app_id,user_token,timestamp
family key: e
qualifier: CSV(event_type, event_name, filter_name)
value: [(filter_operator,filter_value)]
举个例子,如果我们取上面给出的两个事件,那么我们有下面的表格:
选择图式音阶表现
对于一些发送事件的应用程序,我们决定模拟真实世界的事件,以便比较两种模式的性能。我们生成了不同的应用程序配置文件,从几个用户发送数百万个日常事件到数百万个用户发送几个事件。我们在一个 staging Bigtable 实例中创建了两个表,这两个表具有上面详细描述的窄模式和宽模式。
在实现并测试了这两个模式的有效性之后,我们移除了与计算相关的开销,特别是对其他服务(包括 GCS 和 Stackdriver 日志)的读/写访问,以便只保留从 Bigtable 中“原始”读取事件和从事件中计算用户配置文件。为了运行测试,我们为每个应用程序概要文件和表模式连续构建了几次概要文件,因为并行运行多个测试可能会影响每个测试中观察到的性能。
测试结果如下图所示。随着事件数量的增加,对于所有模式,读取事件和计算用户配置文件所需的时间呈线性增长。正如我们在图上看到的那样,无论在什么场景下,传统模式的性能都是最差的,并且需要长达 16.6 小时(60,000 秒)来计算 1,000,000 个用户在 90 天内每天 100 个事件的配置文件。很明显,宽模式被证明对用户简档计算有巨大的影响,并允许不可忽略的计算增益。将我们的遗留模式迁移到更宽的模式是一个容易做出的决定。
我们决定将目前使用的窄模式迁移到最有效的宽模式。为此,我们执行了三步迁移:
- 我们创建了一个具有宽模式的表,并开始将事件分别保存到窄模式和宽模式这两个表中。
- 大约一周后,我们将从 90 天保留期到现在的所有事件回填到具有宽模式的表中。
- 我们将用户档案计算从窄表转移到宽模式表。
说明
模式更改对app_id
和user_token
作业都有积极影响,特别是在客户端,因为在检索与用户令牌相关的大量事件时,减少了单个 pod 中使用的带宽、CPU 和内存。然而,我们的解决方案附带了一些警告,我们在最终选择迁移到宽模式时已经确定并权衡了这些警告。
存储和计算。 虽然宽模式节省了 Bigtable 客户机上的资源,但它也增加了 Bigtable 服务器上的存储和计算开销。由于 Bigtable 对行值应用压缩,因此对于较大的行值,压缩会更有效。与遗留模式相比,使用宽模式存储数据会增加存储空间的使用,但这不是问题。此外,由于对行的过滤是在 Bigtable 服务器上应用的,因此与窄模式相比,它会导致额外的计算开销,窄模式仍然远远低于 80%的建议限制。
限定符数量。 宽模式之所以有效,是因为我们假设客户定义的策略不会涵盖过滤数据所需的所有可能方面,尽管我们应该对不同方面的最大数量设置一些限制。但是,当策略中使用了所有可能的方面时,读取性能与使用窄模式时一样好。
都是关于取舍
Bigtable 的使用和访问模式应该驱动模式设计。在我们的例子中,我们需要优化读访问,因为我们只写一次数据,需要通过单个user_token
作业或通过app_id
作业访问几次。有三个优化级别。
在读取和访问存储在 Bigtable 中的数据时, 行键 是最重要的。由于这些行是按行关键字按字典顺序排序的,因此需要存储相关的行,或者将被一起读取并且彼此靠近的行,以便对排序关键字块执行有效的扫描。在我们的多租户案例中,我们用应用程序标识符作为行键的前缀。这提高了需要顺序扫描应用程序以执行管理任务(如垃圾收集,而不仅仅是特定用户)的作业的性能。按应用程序对键进行分组可能会导致经常使用的应用程序出现热点,但它们的数据也可能会被拆分到多个计算节点上(因为与其他应用程序相比,它们会生成更多的数据)。或者,可以将大型应用程序移动到专用的表中,以便隔离它们并阻碍其余应用程序的性能。
行模式 解决了 Bigtable 服务器上的计算和存储开销与客户端的计算和带宽开销之间的权衡。尽管增加了服务器端的开销,但拥有较宽的行可以实现更好的过滤,而较窄的行会延迟客户端的过滤,因为需要检索整个单元格的值。
最后,由于行值存储为byte[]
,所以可以根据需要,通过使用快速 JSON 编组器、通用和复杂协议缓冲区或定制格式(如 Gob)来优化 行编码 。
随着 Algolia 的发展,我们将继续规划规模,以适应不断增长的客户数量。我们发现,在如何使用 Bigtable 处理和存储数十亿个事件方面的一个小小的改进,可以让我们扩展个性化,并迎接未来几个月的挑战,以改进该功能。**
用人工智能扩展市场搜索
原文:https://www.algolia.com/blog/ai/scaling-marketplace-search-with-ai/
很明显,对于在线业务,尤其是市场,由于必须管理大量数据,内容发现可能特别具有挑战性:数百万个库存单位(SKU)被分成数百个不同的类别;与产品描述和图像相关的万亿字节数据;成百上千的不同供应商发布内容;以及具有最低质量控制的用户生成的内容(例如,评论)。
这是机器学习真正可以大放异彩的领域之一,它可以改善甚至最大的 B2C 或 B2B 市场目录的内容发现。在这篇博客中,我将分享为什么我们如此看好 AI(人工智能)如何推动搜索和优化跨市场的发现。
网上商城搜索查询的复杂性
购物者通常清楚地知道自己想要什么,有时他们会寻找可能的解决方案。特别是在市场上,搜索栏上的 旅程从 开始。
研究 UX 电子商务的 贝玛研究所 确定了买家输入的各种类型的查询,包括:
- 特定搜索,如“iPhone”或 SKU 号码
- 功能相关搜索,如“无蜡香膏”
- 兼容性搜索,如“mpr 兼容过滤器 10,000 平方英尺”
- 症状相关搜索,如“帮助入睡的东西”
面对如此广泛的查询类型,搜索引擎很难解释它们,并给出最相关或最正确的选择。更复杂的是,语言常常是模糊的。“银行”可以指金融机构,也可以指河边。查询中单词的顺序也很重要。买家并不总是按照他们想要的顺序输入单词,使用拼写错误的单词,或者使用长尾短语来描述他们想要的东西。搜索“飞捕鱼”是非常不同的“捕鱼飞”。
A result for “fishing fly” (above) is different from a search for “fly fishing”
这个问题变得更加复杂,因为市场中的商品通常被放在一个或多个类别中,例如下图所示的安全背心。理想情况下,搜索引擎会从正确的类别中提供正确的产品,但为此,它们需要理解意图。
Search engines use data such as categories to improve results, and sometimes items are placed in multiple categories, which helps for browsing, but can be difficult for search.
搜索栏需要处理所有这些类型的查询,并立即返回结果。像自动完成这样的功能可以改进这个过程,但是自动完成的效果取决于它所使用的算法。
如何提高精确匹配和相似搜索
概括地说,搜索有三个阶段:理解查询、检索数据和对结果进行排序。
搜索引擎已经使用自然语言处理(NLP)引入了非常复杂的查询理解技术。在这个过程的后端,排名受到各种因素的影响,从营销和个性化,到点击,最近的转换和其他信号。然而,迄今为止最难的部分是检索。
在过去的二十年中,通过关键字搜索技术来管理检索,该技术执行查找以将关键字与它们在搜索索引中的位置相匹配。更复杂的信息检索技术 如 BM25 提高给定查询的相关性。然而,即使改进了查询匹配,网站所有者仍然需要添加规则、同义词、关键字和语言包来管理错误和避免可怕的无结果页面。
举一个搜索 USB-C 线缆的简单例子。查询可以作为“usbc”vs“USB-c”或“usbc”提交。搜索这些不同的变体可以返回许多结果、没有结果或不匹配的结果。这些问题有解决方法,但它们可能非常耗时且永无止境。
最近解决这些问题的一项创新是引入了 向量嵌入 ,并使用深度学习来更好地理解搜索者的意图。关键词(及其相关标记)相对于搜索来说是二进制的,特定的单词要么存在,要么不存在。与关键字相反,AI 搜索使用向量的数学来允许接近度的测量(例如,终端设备和 HVAC 在向量空间中非常接近),因此文本的关系不再是二元的,而是分布的。向量可以使用数百,有时数千个维度来确定意义。
尽管矢量搜索非常擅长根据相似性提供结果,但关键字搜索仍然为某些类型的查询提供了巨大的价值。当我们将这两种技术结合到一个查询结果中时,这种“混合搜索”提供了更多的相关性。基于关键字和人工智能评分的组合,结果从最相关到最不相关排序。然后,优化后的结果被发送到排序阶段,以便根据机器和用户定义的规则进行最终排序。然而,要大规模做到这一点,需要一种全新的数据处理方法。
人工智能检索模型
我忽略了其中最重要的一部分:优化市场规模的向量。规模和速度对于取得好成绩绝对至关重要。亚马逊发现,每 100 毫秒的延迟会让他们的销售额下降 1%,Akamai 发现了类似的结果,即 100 毫秒的延迟会影响高达 7%的转化率。( 来源 )
向量是必须由专业 GPU 或高端服务器处理的大浮点数。寻找向量之间相似性的一些最著名的方法包括 HNSW(分层可导航小世界)、IVF(倒排文件)和 PQ(乘积量化,一种减少向量维数的技术)。每种技术都旨在增强特定的性能属性,例如使用 PQ 减少内存,或者使用 HNSW 和 IVF 快速而准确地缩短搜索时间。为了获得给定用例的最佳性能,通常的做法是将多个组件组合起来创建一个“复合”索引。
虽然这些技术非常好,但是它们的实现和运行成本非常高,而且对索引的任何更改都很脆弱。我们采取了不同的方法。我们使用 神经哈希 将矢量压缩或二进制化为其正常大小的 1/10。新的二进制向量的计算速度比非优化向量快 500 倍,这使得它们与简单的关键字搜索一样快,有时甚至更快。它可以在商用硬件和 CPU 上运行,因此市场可以立即向客户提供结果,而不会收取意外费用。
在市场规模方面,这种方法的优势尤为明显。电子商务企业和市场经常用新产品、顾客评论、库存变化、变化的搜索趋势等来每天甚至每小时更新他们的搜索索引。数以千计,有时数以百万计的变化发生。使用我们的方法,结果可以近乎实时地自动调整和重新优化。
结合关键字的神经散列通过优化所有查询提供了两全其美,从 头部查询到长尾 。由于预算紧张,利润微薄,以及全球争相寻找机器学习工程师和建立数据科学团队,大多数企业都负担不起在内部建立这种类型的混合人工智能检索。我们将我们的解决方案设计为一个可组合的、API 优先的解决方案,可以为任何企业提供开箱即用的出色结果。 在这里报名 了解更多。
为成绩排名
检索相关结果后,搜索引擎需要对它们进行排名。Learning-to-rank(LTR)是一种机器学习的类型,提高排名,辅助精准。它包括监督学习、非监督学习和强化学习。也有类似半监督学习的变体。这些解决方案中的每一个都提供了人工智能排名功能,以提供比更简单的统计方法更好的结果。
点击、转化、签约、评分等正向强化。,可以用来自动提高排名。在 Algolia,我们的 动态重新排名 (DRR)功能主要使用点击,因为有明显更多的可用数据(更快地获得更高的置信度),但如果有足够的数据,我们也使用后来的事件。可以通过个性化、销售和其他策划的结果进一步细化结果。虽然客户可以依赖自动化,但他们仍然可以控制如何显示或重新排列结果。
我们强烈建议组织连接尽可能多的业务数据,以便自动优化搜索结果。事实上,真正的 AI 搜索也在不断地从点击流数据中学习。人工智能支持的检索和排名之间有一个聪明的相互作用。
- 更好的初始相关性推动了与访问者的更多互动
- 更高的点击率、转换率和其他积极信号提高了排名
- 这被反馈到检索引擎以提高相关性
商场零售商的下一步行动
亚马逊、易贝和市场提供商花费了数十年时间和数千名专业工程师来构建可扩展的人工智能搜索。借助我们的混合人工智能解决方案 Algolia NeuralSearch 搜索和发现,现在任何人都可以在几分钟内完成。更好的结果可以改善用户体验、整体转化率、客户终身价值、细分市场增长和其他 KPI。
Algolia NeuralSearch 搜索和发现即将推出! 立即注册 率先评估 Algolia neural search for your market place。
scout Extended:Algolia 在 Laravel 的全部力量
原文:https://www.algolia.com/blog/engineering/scout-extended-the-full-power-of-algolia-in-laravel/
我们很高兴地宣布 Scout Extended 的发布——官方的 Algolia Laravel 集成。Scout Extended 建立在最新发布的 Laravel Scout 之上,让您可以利用 Scout 的所有强大功能,同时利用完整的 Algolia 搜索体验。
当 Laravel Scout 首次发布时,它提供了对 Algolia 搜索的即时访问。对许多人来说,这意味着简单地获得快速和允许输入错误的现成搜索。然而,Algolia 不仅仅是速度和打字错误的容忍度。和速度一样,还有相关性——让最佳匹配记录总是出现在你的结果的顶部。为了实现这一点,您需要设置一些基础。Scout Extended 让你可以通过 Laravel Artisan 命令直接访问这些和其他设置。
更容易配置 Algolia 只是我们在 Laravel Scout 上增加的扩展之一。另一个同样重要的特性是对聚合器的支持:现在你可以集中搜索,为你的整个网站创建一个单一的入口点。其他改进包括完全重建索引,无需用户停机,扩展搜索生成器,获得状态概述,以及许多其他功能。让我们进入一些细节。
如果你更喜欢观看而不是阅读,这是我最近在 Scout Extended 上做的一个演讲。
聚合器—一个索引中的多个模型
聚合器是一种在多个模型中实现站点范围搜索的干净方式。换句话说,它允许您在一个索引中拥有多个模型。
要创建新的聚合器,使用scout:make-aggregator
Artisan 命令。该命令将在app/Search
目录中创建新的聚合器类:
PHP artisan scout:make-aggregator 新闻
在生成您的聚合器之后,您应该填充该类的$models
属性,它将用于标识应该被聚合的模型:
聚合器是一个标准的searchable
类,通常,您可以使用search
方法或raw
方法在聚合器上开始搜索:
要了解更多关于 Scout Extended 中聚合器的信息,请查看 Scout Extended 文档。
零停机时间重新导入—轻松部署
有了 Scout Extended,在生产中导入数据变得轻而易举。要在重新导入数据时保持现有搜索体验可用,请使用scout:reimport
Artisan 命令:
php 工匠侦察兵:重新导入
该 Artisan 命令将输出以下内容:
为了确保在重建期间对索引执行的搜索不会被中断,Scout Extended 在将临时索引移动到生产索引之前,使用临时索引来导入所有记录。我们掩护你。
从 Laravel 内部配置 Algolia
您将从scout:optimize
Artisan 命令开始,根据来自searchable
类的信息优化搜索体验:
php artisan scout:优化
这可能就足够了。scout:optimize
会尽力生成您的searchable
等级索引的设置,但您可能需要在config/scout-articles.php
中编辑这些设置。例如,两个最重要的正确配置是可搜索属性和自定义排名:
一旦您验证了设置文件,您需要做的就是使用scout:sync
Artisan 命令与 Algolia 同步设置:
php 工匠童军:同步
您也可以使用 Algolia 仪表盘编辑设置。然而,确保你在本地运行scout:sync
Artisan 命令时应用这些设置。
一个改进的搜索生成器
Scout Extended 将 Laravel Scout 的搜索生成器推向了一个新的高度,增加了新的方法并改进了现有的方法。这里有一些例子。
where
方法可以用来比较一个字段的值和另一个值。使用 Scout Extended,该方法共享 Laravel 查询构建器的相同 API,允许您通过比较或数字范围过滤结果:
支持的运算符有:<, <=, =, !=, >=, >
。
whereBetween
方法验证一个字段的值在两个值之间:
你可以用whereIn
、with
、count
和aroundLatLng
做同样的事情。前往Scout Extended Documentation了解更多这方面的信息。
状态概述
Scout Extended 为您的应用程序索引提供了一个漂亮的概览,允许您轻松地监控记录的数量以及其他关键指标。
使用scout:status
Artisan 命令获得应用索引的概览:
php 工匠童子军:状态
该 Artisan 命令将输出一个包含以下内容的表格:
还有更多!
Scout Extended 是 100%开源的,所以你可以自由地挖掘源代码,看看它到底是如何工作的。挖吧!访问 Scout 扩展文档。
看到需要改进的地方?只需在 GitHub 上给我们发送一个 pull 请求。
谢谢,我们希望你喜欢这个新版本!
了解什么是 API 密钥,如何使用它,以及它如何提供安全性
我们从标准定义开始:
T3【API key】API key 是用来标识和认证请求 API(应用编程接口)服务的应用或用户的字符串。
在本文中,我们为好奇的人们(技术或非技术)分解了这个定义,他们想知道 API 密匙是什么和做什么的内幕,以及它是如何工作的。
API 密匙是进入内部的秘密代码
识别和认证
API 密钥是为其他应用程序提供服务的任何应用程序的标准安全机制。
虽然它们不是唯一的方法(API 可以使用 JWT,我们在这里写道: API 密钥 vs JWT auth ) , API 密钥是保护 API 最常用的方法。
谷歌地图 API 就是一个需要 API 密钥的 API 服务(“端点”)的例子。如果您给 Google 的 API 一个物理地址(比如说“纽约州纽约市主街 1001 号”),API 将返回最有可能的位置的经纬度(40.73612474992504,-73.447321075)。但是,如果没有有效的 API 密钥,Google 不会回答您的请求。你需要特别许可。API 密钥让谷歌知道你是谁,你是否有权访问他们的地图服务。这称为身份验证(与授权相反,我们将在本文后面讨论授权。)
顺便说一下,为了理解这个机制是如何工作的,当我们写下 “我们给 Google 的 API 一个地址” ,或者 “我们给 Google 发送一个 API 密钥”, 我们指的是向 Google 服务器发送信息(通过类似 Post 和 Get 的 HTTP 请求方法 发出请求)并接收信息返回(得到响应)
总之:
如果开发者想要使用谷歌几乎详尽的世界地址列表来创建一个地图应用程序,他们需要首先与谷歌签约,并获得一个 API 密钥,以便有权使用他们的谷歌地图 API 服务。
不是所有的 API 都需要或者使用 API 键
一些 API 不需要 API 键。比如你用来看视频的 Youtube URL 其实就是一个不需要 API key 的 API 请求。所有人(不仅仅是开发者)都可以在世界任何地方、任何设备上免费使用它。也就是说, Youtube 的 API还提供其他需要 API 密钥的服务,例如提供(私人或通常付费的)频道播放列表、评论历史、使用统计和数百个其他 Youtube 拥有的数据的信息。
易用性:API 优先思维
任何 API 的一个核心问题是它的易用性。正如我们将在下面的安全上下文中重复的: 易用性对于 API 的使用是至关重要的。所有 API 优先的公司都希望在使用他们的 API 产品时将所有的摩擦最小化。 这包括使访问他们的 API 变得容易和安全,这正是 API 密匙被设计来提供的。T50
API 键——它们是如何工作的
如上所述,API 密钥使服务器能够识别试图访问其服务的任何开发者或应用程序(请求者 或用户)。一个 API 键还定义了一组 访问权限 。访问权限授权请求者采取特定的操作,并禁止其采取其他操作。
让我们进入细节。
你的 API 键是一个唯一的标识符,通常是一长串字符
您的 API 密钥是由数字和字母组合而成的 唯一标识符 。有些还包含非字母数字字符。唯一标识符本身并不代表什么;它唯一的意义就是它的独特性。 它类似于密码或秘密代码。
API 密匙通常包含 64 个以上的字符,由创建 通用唯一标识符 (通常称为GUIDs)的系统随机发生器生成。
接入:认证或失败
把 API 键想象成通过 API 访问应用程序的数据和功能的一种方式。每个 API 请求者向服务器发送一个唯一的标识符,服务器使用该标识符来确定( 认证 )请求服务的个人或应用程序是否有权这样做。
如果服务器不能验证 API 调用(请求)的请求者,它会发回一个失败响应。这是创建 API 密匙背后的基本思想:如果您使用的是服务器无法识别的密匙,那么您将无法使用该服务。
然而,如果服务器识别 API 密钥并认证密钥的持有者,则该用户有权使用该服务。
下一步是服务器向 授权 请求者做一件或多件事情。
授权
授权过程决定了请求者的 权限 和 范围 。授权定义了经过身份验证的请求者使用 API 的确切方式。它涉及到定义你的 权限 (可以访问哪些功能和数据)和 范围 (有多少数据,可以使用 API 多久等等)。
权利
权利是关于你能做什么。如果请求者的 API 键包含搜索数据的权限,那么请求者可以 读取 数据来执行搜索。如果请求者有权 写 数据,那么请求者可以执行部分或全部写操作。写访问通常会有更多的细节。例如,请求者可能有权 更新 一个索引但无权 删除 记录。
也可以组合权限。例如,请求者可能既有读写能力,或者只是只读。通常,请求者有几个 API 来执行不同的操作。例如:
- 只读用于搜索
- 浏览和索引(添加、更新、删除)的读&写权限
- 管理员权限 ,包含一切,包括创建其他 API
管理权限
每个 API 系统都有一个全局 API 键,它不仅允许读&写操作,还允许完全访问 API 可以做的任何事情。例如,管理 API 允许应用程序和用户采取元操作,如添加、删除或修改用户、标识符、权限和范围。
鉴于管理 API 密匙的强大功能,您会希望这个 API 密匙是完全安全的——也就是说,对公众是隐藏和锁定的。这同样适用于任何写级别的 API 键。根据使用情况,只读键可能更灵活。阅读商业敏感数据显然比在网站上搜索产品和电影需要更高的安全性。
范围
一旦请求者有权做某事,API 就可以在该权限内限制或扩展请求者的能力。例如,如果请求者拥有更新索引的一般权限,API 键可以限制请求者只能访问某些索引。或者,API 键可以限定只读访问的范围,只允许请求者访问少量记录。
通过过滤掉某些 IP 地址,您可以使用 scope 来进一步提高安全性。您还可以设置一个有效时间,也许是每天一个请求,或者在 30 天内每天少量的请求。
最后,API 键可以提供基于过滤器的限制。例如,API 键可以允许用户只更新“衣服”或“食物”项目。或者它可以限制只读请求者执行预定义的搜索或过滤。
关于限制性 API 使用的最后一点,一个很好的例子是授予只读访问权限,但使用忽略敏感数据的过滤器对其进行限制。这增加了额外的安全性,允许请求者查看仅为公共查看而设计的数据。
但是安全性需要更多的讨论。
获取 API 密钥
就安全性而言,一个 API 密钥只能到此为止。本质上,如果一个密钥被盗或泄露,就不再安全了。
一个被盗或泄露的 API 密钥
有人可以通过许多方式获得 API 密钥。黑客可以拦截请求,窃取密钥,然后将请求更改为更具破坏性的内容。或者,更常见的情况是,开发人员可能会通过将 API 密钥发送到互联网上而意外泄露该密钥,这样任何人都可以很容易地找到它。或者不小心推到了 Git 回购。或者写在餐巾纸上,放在餐厅的桌子上。
安全保障
一些安全措施依赖于额外的安全检查。其中一些方法需要请求者做额外的工作,这降低了 API 的受欢迎程度。值得记住的是 API 101:
易用性对 API 的使用至关重要,所以你要尽量减少所有的摩擦。
这里有一些安全保障措施,要求 没有额外的开销 或 API 用户的负担:
- 创建速率限制,控制 API 被调用的次数
- 创建其他限制或应用程序限制以最大限度地减少攻击
- 使用攻击检测方法发出意外行为、推荐人或已知攻击行为的信号
- 拒绝不合常规或损害隐私或数据的请求
- 如上所述,移除对非敏感数据的访问
- 定期手动创建或自动生成新的 API 密钥
技术说明:许多安全措施可以作为 API 请求中的参数添加到标题中。
以下是最流行的 API 安全技术,它们要求开发者做的不仅仅是提供一个 API 密钥:
- 使用一种特殊的 API 密钥,称为安全 API 密钥。
- 登录并使用用户 id 和密码。
- 使用认证令牌(例如,JWT 令牌)进行认证和授权。
- 加密。为此,用户必须拥有与 API 服务器相同的加密软件。加密软件将 API 密钥转换为不可读的数据,只有 API 服务器能够理解这些数据。
安全 API 密钥:用临时 API 密钥提供基于服务器的安全性
一个 安全的 API 密钥 包含了对标准 API 密钥的额外安全保护:(A)它是短暂的(即时创建的和临时的);因此,不能在仪表板上看到以任何方式对其进行修改或管理。更重要的是,(b)它包含用户的 id——因此,只有一个用户可以使用这个密钥。
通常情况下,API 密匙都是生成一次,对于 任何 用户,都是终身不变的。然而,永久键有两个缺点:
- 一旦有人偷了钥匙,他们将能够使用它,直到盗窃被发现,钥匙被取走
- 如果您需要 10,000 个用户拥有唯一的密钥,您将需要创建并维护所有的用户。虽然您可以自动生成新的 API 键,但您几乎总是需要手动更改代码。
大多数生产级应用程序需要更安全、更易于管理的东西,而不需要任何额外的工作。
工作原理:安全 API 密钥通过将会话和/或用户 id 信息作为密钥生成的一部分来利用这些信息。本质上,密钥是通过将用户标识符与密钥的范围(例如,超时限制、安全过滤器)相结合而动态生成的。一旦生成了密钥,请求者必须总是发送生成的 API 密钥 和 其用户 id 和范围。然后,API 服务器将使用用户 id 和范围重新生成密钥,然后将其与用户发送的密钥进行比较。如果它们不同,那么这显然是一个黑客。
这种双重检查逻辑只是迈向更好安全性的一步。下一步是要求 API 用户登录。
登录–使用用户 ID、密码、JWT 令牌、OAuth 和 OpenID 创建 API 密钥
我们在这里提到的最后一种安全方法需要 API 用户登录。在这种情况下,如果登录成功,API 服务器发出一个唯一的、不可读的 令牌 ,API 用户在保持登录时必须使用该令牌。此外,令牌包括用户凭证,使得除用户之外的任何人都难以发送令牌。
因此,我们在两个重要方面改进了临时安全 API 密钥方法:
- JWT 需要登录。
- JWT 生成一个令牌,其值包含用户登录凭证的加密版本。这些用户凭证使得 API 服务器能够在每个 连续的 API 请求中使用 对用户进行认证。
了解更多关于 JWT 令牌 以及它与 API 密钥的不同之处。
设计和实现最佳 API——跟踪使用情况
我们已经讨论了 API 密匙的用途,它看起来像什么,它如何操作,以及使用 API 密匙能做什么和不能做什么。我们还讨论了一些关于安全性的细节。我们将结束另一个方面:跟踪 API 的使用和改进 API。
API 依靠用户体验来改进其设计和功能。一个想要在竞争日益激烈的 API 市场中提供绝对最好的 API 的公司,必须知道它的客户如何使用他们的 API。通过记录每个请求——哪些请求、请求的数量、每个请求的成功和失败,API 提供者将报告、调试和分析添加到 API 的设计和实现中。
搜索和发现如何适应电子商务趋势
原文:https://www.algolia.com/blog/ecommerce/search-and-discovery-and-e-commerce-trends/
电子商务的前景是不断变化的。今天,公司需要利用他们所掌握的所有工具来走在变革的前面。在本文中,我们将讨论搜索如何使用户能够无缝地探索和发现内容,为电子商务网站提供一条通向更多参与客户、增加转化率和改善用户体验的直接途径。
为什么要关注电子商务趋势
保持领先对于电子商务业务的发展至关重要。在当今竞争激烈的电子商务环境中,收购比以往任何时候都更加困难。转换成本很低,消费者有许多购买选择。此外,各大平台正在分走越来越多的蛋糕。事实上, 将近一半的 消费者将他们的第一个产品搜索转向亚马逊。
消费者对 UX 也有很高的期望,想要立即得到东西。例如,谷歌发现 53%的移动用户 离开一个网站需要超过三秒钟的加载时间。然而,期望并不仅仅是针对页面负载。像亚马逊和网飞这样的平台已经训练用户发现新的内容和转换应该只需要点击几下。
如果你的网站没有达到甚至超过用户的期望,你可能会失去重要的业务。
网购趋势改变电子商务
在过去的十年里,网上购物发生了迅速的变化。下面是几个关键的方法:
- 购物者拥有先进的产品知识 。 研究显示 至少有 82%的消费者在访问商家或购买产品前会使用在线评论。值得注意的是,普通消费者在信任一家企业之前会阅读 10 条评论。研究发现,如果评论是“优秀”,顾客会在网站 上多花 31%的钱
- 电子商务无处不在。今天,电子商务已经超越了网站的传统界限。像 Instagram 和脸书这样的社交媒体平台已经建立了本地购物工具,个人助理让消费者只需使用他们的声音就可以进行购买。这种增长预计将继续,虚拟助理市场预计在未来五年内每年至少复合增长 40.4%。
- 购物者想要新的、创新的搜索和吸引方式 。在购物体验中包含视觉内容的品牌的转化率和每用户收入分别提高了 111%和 180%。更进一步, 62%的 Gen-Z 和千禧一代 消费者在购物时希望拥有视觉搜索能力,增强现实预计到 2022 年将为 贡献 122 亿美元 的电子商务支出。
- 顾客想要一个了解他们喜好的品牌 。 51%的消费者 表示,如果内容个性化,他们更有可能购买某个品牌的产品。随着人工智能和语音助手继续为用户提供越来越多的定制购物体验,这种情况只会继续增长。
有助于搜索和发现的 5 种方式
可以利用搜索和发现来保持品牌竞争力并满足客户需求。这里有五个策略可以帮助你做到这一点
1。用巨大的 UX 吸引用户
搜索需要快速 和 相关,以保持客户参与。通过自动完成或自动建议、打字错误容限、过滤器和方面等有用的功能提高搜索相关性。
此外,在用户输入时显示搜索结果并利用联合搜索界面(可以显示来自不同微型网站和数据库的结果)也可以简化搜索体验。最后,将您的在线资产中的内容(如评论和购买指南)与您的产品整合到一个统一的体验中,以激励您的购物者并建立信任。
这些功能可以协同工作,引导用户找到他们还不知道自己需要的东西,迫使他们继续关注网站,推动销售和转化
2。创造个性化的客户体验
当购物者在 优化的电子商务网站 上搜索时,他们通过行动和行为分享他们的意图和兴趣。您可以利用他们的数据向用户提供上下文相关的内容,以提高参与度和转化率。
例如,使用历史点进和交易数据来确定用户可能再次搜索的类别,然后通过基于该信息自动推荐或过滤结果来加速探索过程。此外, 个性化因素 让用户感到受欢迎,提供脱颖而出的体验。
3。利用分析更好地了解客户需求
除了使用搜索数据为个人用户提供个性化体验外,此 数据还可用于分析客户趋势 以通知业务改进。例如,常见的关键字搜索可以告诉你用户正在寻找的产品,这可以帮助你确定产品线的变化或调整。这可以让你比实体店更有优势,因为实体店的这种分析不太精确。
4。在每个平台上提供简单的体验
用户应该能够轻松地与您的平台进行交互,而不考虑界面——web、手机、数字助理、社交媒体等等。使用前端与后端分离的无头架构有助于确保系统能够在不同平台之间正确地互操作,而不会产生大量的定制开发开销。
5。继续迭代和改进网站搜索和发现工具
随着用户品味和心理的变化,优化您的搜索和发现工具是一个持续的迭代过程。你应该一直收集数据和 A/B 测试 改进,看看它如何影响关键绩效指标,如参与度、跳出率和转换率。这应该在前端变化(如设计改进)和后端变化(如排名算法调整)上都进行。
让搜索和发现为你的电子商务网站提供动力
为了满足现代在线消费者的需求并让他们参与进来,您需要一个搜索即服务合作伙伴,能够提供用户期望的搜索和发现工具。阅读我们的电子书 【超越盒子的搜索】 ,了解你的电子商务网站如何利用搜索来提供创新的用户体验并提高你的转化率。
为什么发现对今天的电子商务搜索引擎至关重要
原文:https://www.algolia.com/blog/ecommerce/search-and-discovery-for-e-commerce-search-engines/
很少有电子商务搜索引擎真正做好自己的工作:帮助客户轻松找到他们想要的东西。这里的关键词是“容易”。整体产品搜索体验中的挫折导致了不可接受的流失和流失水平:根据 Forrester 的数据,高达 68%。
同样精确的百分比——68%—适用于被发现提供差的搜索结果排序选项的网站数量,并且整整 72%的网站完全没有达到的网站搜索预期。
“你只有一份工作!”想起来了。
显然,我们需要更好的电子商务搜索引擎。但是补救措施不一定要让电子商务搜索引擎更像搜索引擎。这是为了让他们更像——这个词从 2015 年左右开始,我们看到到处都在出现——体验。
这就是发现的来源。
搜索 vs .搜索与发现:有什么区别?
当客户确切地知道他们在找什么(例如,一个“四英尺高的黑色书架”)并且电子商务搜索引擎找到它,或者至少试图找到它时,电子商务搜索就发生了。
在电子商务刚刚起步的时候,这种关系还不错。在任何给定的电子商务网站上都没有太多可供选择的商品,网站总体上提供的主要是交易体验:要么你想要的产品在那里,要么没有。但随着数据量和网上可用产品的数量呈指数级增长,电子商务搜索对公司来说变得越来越困难,对用户来说导航也越来越令人沮丧。
以上面的搜索词“四尺高的黑色书柜”为例。在全球最大的电子商务家具零售商之一的主页搜索栏左上角输入这些特定的词, Crate & Barrel,你会得到两条有些矛盾的信息。一个是根本没有搜索结果,另一个是实际上有 440 个搜索结果。
唉,这些结果是类似于一个四英尺高的黑色书柜,但实际上根本不是这样。第一排是你期望看到你的物品的地方,有几个非常高的棕色书架和一个矮的白色儿童书架。
此外,当你点击左上方的“类型”过滤器时,出现的并不是你所希望和期待的:按高度过滤的选项。相反,第一个选项是令人困惑的“书柜”,其他选项是与书柜几乎无关的项目,如娱乐中心。
在这一点上,寻找四英尺高的黑色书架的客户很可能会选择更快、更直观的电子商务搜索体验。
与搜索者不感兴趣也不需要的半相关、半相关项目的铺天盖地的迷宫不同,出色的搜索和发现体验不仅会为确切的搜索词提供精确的结果,还会弹出一个高度上下文相关的推荐和过滤器的简化界面,针对特定搜索者的年龄、地理位置、正在使用的设备、以前对网站的访问等等进行个性化。这将使搜索者感到被认识和理解,并使他们不仅容易找到黑色书架,而且容易找到他们以前可能没有意识到他们需要的其他东西。
电子商务搜索和发现的工具
搜索和发现是如何做到这一点的?
通过一套工具和技术,共同提供完全上下文相关的、愉快的电子商务搜索体验,使搜索变得富有冒险性和教育性,而不是费力和事务性的。
让我们开始吧。
利用搜索栏
搜索栏本身可以成为发现的窗口。您很可能遇到过这样的情况:当您键入一个查询时,会出现一个下拉框,提供更具体或更流行的查询建议。
这种自动完成体验——也称为预测搜索、提前键入、自动建议或边键入边搜索——在用户在搜索栏中键入时给他们搜索建议,使用上下文来预测他们可能在寻找什么。自动完成功能可以将销售额和转化率提高 24 %( T4)。
导航
出色的电子商务搜索和发现包括强大而直观的浏览体验,无需搜索栏也能轻松工作。想想网飞,那里的整个体验都是基于发现的。
在电子商务领域,这可能类似于 Artsper 的体验,arts per 是一个艺术买卖网站,通过点击顶部导航类别之一,如“绘画”,将提供浏览页面。“发现”类别提供了真实的发现体验,可以引导用户购买他们以前可能没有考虑过的意想不到的有趣商品。
过滤和刻面
我们大多数人都熟悉搜索过滤器,它使我们能够将搜索结果缩小到适用于我们所寻找的类别。例如,我们可以通过选择品牌或类别来缩小耳机的搜索范围。
但是,当我们专门搜索一款蓝牙耳机时,我们的体验是,如果所提供的过滤器缩小到仅适用于蓝牙耳机,效果会好得多。
这就是方面的作用:它们确保只有匹配结果集的过滤器才是可用的。除了带来更流畅、更快速的发现体验之外,facets 还防止了可怕的“无结果”页面,如果相同的过滤器出现在您的“耳机”和“蓝牙耳机”搜索中,就会出现这种情况。
过滤器和刻面经常互换使用;关于这两者之间细微差别的解释,请看尼尔森-诺曼集团的这篇文章。
提供统一的搜索和发现体验
你应该允许你的用户既是搜索者又是浏览者。
搜索者追求找到他们正在寻找的东西(例如,某一品牌、颜色和尺寸的一条牛仔裤)。另一方面,浏览者有得到某些东西的潜在意图,但是可能不确切地确定是什么(例如,可能包括一条牛仔裤的商务休闲服装)。
您的电子商务网站搜索应该使用户能够从搜索或导航开始,然后通过利用其他策略进一步细化他们的结果,例如在用户执行搜索后提供方面,或者使过滤器和方面可搜索。
这是一个使用类别页面搜索框来增强过滤/分面体验的例子。
https://www.algolia.com/doc/guides/solutions/
商业排名和商品销售
除了向用户提供基于纯文本匹配的最相关的结果,你的电子商务业务还有一个很好的机会向他们提供他们最有可能采取行动的内容或产品。例如,您可以跟踪产品的转换率,并显示具有最高转换率的第一个结果,或者根据产品的受欢迎程度、新颖程度或可用性自定义排名。有了这种根据你的业务指标修改搜索结果的能力——我们称之为“业务排名”——你还可以测试你的客户想要哪些产品,并根据实验结果进一步完善排名。
这就是营销的用武之地。使用您的搜索和发现工具来反映促销活动、商品关键字(如“t 恤”)、商品类别页面、锁定特定商品或隐藏商品。
建议
推荐可以给搜索者一组匹配的结果、品牌和类别,让他们轻松地深入到他们想要的东西。理想情况下,这些推荐包含关键的用户数据,比如他们过去的搜索历史或人口统计数据。这也是电子商务企业提供赞助结果、高利润项目等的机会。
亚马逊在这方面做得很好(尽管有人可能会说他们的推荐算法有时会做得更好):
https://www . algolia . com/doc/guides/solutions/gallery/related-items/
地理搜索
地理搜索,也称为基于位置的搜索或本地搜索,是另一个强大的电子商务搜索和发现工具,它通过让客户知道您的哪些产品在附近并且可用来改善搜索体验。
电子商务搜索和发现的力量
以统一、流畅的方式使用搜索和发现将为您的客户提供清晰、直观的搜索体验,这将缩短他们的购物车路径,让他们对您的网站感到满意,并乐意再次购买。
想想这个:电子商务现在无处不在。像 Instagram 和脸书这样的社交媒体平台拥有本地购物工具,个人助理允许消费者使用他们的语音进行购买。用户在你的数字财产上找到他们正在寻找的和他们可能想要的越强大和越容易——即使他们可能还不知道他们想要它——将使你的电子商务搜索引擎成为商业驱动的巨头。
移动搜索自动完成的三个最佳实践
原文:https://www.algolia.com/blog/ecommerce/search-autocomplete-on-mobile/
使用搜索建议是一种已经存在多年的常见模式,在回顾了数千个实现之后,我们想与您分享一些最佳实践。以下是你需要知道的。
自动完成还是自动建议?几个名字,相同的模式
无论你称之为自动完成还是自动建议,一种用于显示查询建议或搜索预测的模式,很可能你说的是同一种搜索体验。这种模式已经存在多年了,你可能每天都在谷歌或亚马逊等网站上使用它:
Example of an autocomplete that provides search suggestions as you type
这个概念非常简单:搜索引擎会给出一些预测,以便在您键入时自动完成您的查询。搜索建议在移动设备和电子商务市场上尤其强大。显示实际结果而不是完成用户查询的即时搜索体验是其他用例中正确模式的一个很好的例子。
Example of a rich autocomplete that goes beyond search suggestions
一种移动上的省力模式
你需要为手机设计一些限制:有限的屏幕空间,和“胖手指”效应(触摸界面更容易让用户出错!).
这些限制说明了为什么搜索建议是比在手机上直接显示搜索结果更好的选择。使用自动完成功能可以最大限度地减少需要输入的字符数量,从而减少潜在的打字错误(尽管你的搜索技术应该处理它们)。在一个屏幕上显示 3-5 个建议也更容易,尤其是因为你可以期待键盘被打开。显示结果往往需要更多的空间(图片+平均 2-3 个属性)。
建议也有助于扩展查询。例如,你可能不会自己输入“iphone 车载磁性”,但让它建议可能会帮助用户找到准确的词来描述他们想要的东西,从而使它更精确,并导致更相关的结果。它还指导你的用户并设定他们的期望:如果一个建议存在,那意味着它背后有实际的结果(否则,为什么它会被建议?).
出于所有这些原因,建议可能有助于您的用户更快地找到正确的内容。然而,一个先决条件是获得正确的实现。
实现——做得好
速度:随打随体验
显示建议应该非常快。几项研究已经证明,在用户感觉受到控制的体验和让他们感觉像在等待机器回答的体验之间,存在 100 毫秒的阈值。
建议应该从第一个字符开始。这并不是说用户会期望只有一个字母的完美建议,但是他们会马上看到自动补全功能可以提供帮助。等待几个角色出现可能会(令人不快地)让他们吃惊,他们可能会完全忽略它们。
凸显差异
突出显示在搜索中至关重要,因为它帮助用户理解为什么结果符合他们的要求,并允许他们快速决定首先选择哪个结果。如果不突出显示,用户选择糟糕结果的几率会更高,这会导致对你的产品的失望体验。
常见的做法是突出显示与用户输入相匹配的部分;然而,当提供搜索建议时,情况正好相反:突出显示被建议的部分是很重要的。这种方法在视觉上帮助用户区分不同的建议,因为它突出了不同之处。
On the left, Ali Express. On the right, a better implementation by eBay – even though the contrast could be improved.
预敲模式
你注意过建议旁边的这个图标吗?
好好看看你手机上安装的应用程序,你会发现它无处不在。
Many apps are using the tap-ahead pattern. From left to right: eBay, Youtube and Google Maps.
你知道这不仅是一个图标,而且是用于一个特定的行动吗?如果没有,不要担心——我们自己的研究表明,我们小组中 80%的人不知道有这个东西存在——但是那些大量使用它的人知道。
Amazon on iOS: a perfect implementation of the tap-ahead pattern
当点击图标时,建议将取代搜索框中的初始查询,用户可以继续输入。这是减少输入量的一个好方法,同时有非常精确的查询。在这个例子中,我只输入了“I ”,四次点击就找到了我需要的东西。
良好的实施需要:
1.使用指向搜索框的箭头图标
2.点击,用建议填充搜索框
3.保持相同的视图,同时根据新的查询即时更新其他建议
非常简单,但即使是亚马逊也很难保持其平台之间的一致性(这里,第 3 点失败了):
如果你想了解更多关于提前轻拍模式的信息,我能找到的最早的提及是在 2011 年的一篇轰动杂志文章。
建筑相关建议
只有相关的建议才有帮助。我们已经提到了每个建议应该如何导致实际结果。这些建议大多是通过分析用户在你的应用上搜索的内容(热门或趋势查询)而构建的。
但是,要注意:千万不要盲目相信用户生成的内容。法国家装工具和用品零售商 Castorama 在 2016 年经历了惨痛的教训。他们的一些在线访问者意识到,连续多次键入同一个查询就足以让它开始出现在每个人的自动完成功能中。只花了几分钟,网站就被不合适的建议淹没了,我不会在本文中分享这些建议。Castorama 不得不关闭他们的网站数周,错过了许多销售机会。
超越建议
搜索建议只是搜索世界中一种有趣的模式。你可以做更多的事情来创造一个好的搜索体验。
Pinterest is doing a fabulous job of mixing suggestions with top results for People and Boards
将建议和即时搜索结合起来是值得尝试的,而且不仅仅是在手机上。
在 Algolia,我们喜欢从技术和 UX 的角度推动搜索的极限。最近,我们一直在探索下面的模式,它同时显示结果和建议。
我们还没有证明或否定它,但我们正在努力。请随意亲自尝试一下演示,并请在下面的评论中或通过 Twitter 向我们发送反馈
搜索过滤器:一个伟大的 UX 的 5 个最佳实践
原文:https://www.algolia.com/blog/ux/search-filter-ux-best-practices/
浏览一个有很多产品或内容可供选择的大型网站有两种不同的方式:如果简单,由于过滤器和方面,这是一种有益的体验,可以帮助用户联系广泛的内容。如果它很复杂、麻烦或令人困惑,那么这是一种痛苦的体验,会导致用户将目光投向别处。
电子商务和媒体领域的领导者,如亚马逊和网飞,意识到了他们网站上卓越的搜索和导航体验的力量。他们投入巨资,让庞大的目录易于(甚至令人愉快地)导航,让用户一路接触到有价值的新产品和内容。用户现在希望在他们访问的每个网站上都有快速、相关、可靠的搜索体验。
创建一个包含过滤器和方面的优秀搜索 UX 有助于保持你的用户满意,提高你的整体品牌形象,并推动你的网站 KPI。
为什么滤镜 UI 和 UX 很重要?
允许用户快速优化结果页面对于业务 KPI 和用户满意度都很重要:
为商家
拥有一个反应灵敏的过滤界面能让所有用户——无论是主动搜索者还是被动浏览者——快速有效地提炼他们的兴趣。它还允许更多的被动用户有效地浏览和找到他们可能不知道的内容和产品。这导致转换率和平均订单价值的增加。
为最终用户
一套好的 滤镜和刻面 也能确保改善用户体验。通过帮助用户轻松地深入到他们的需求,它消除了仅仅为了找到特定内容而进行大量搜索查询的需要。这提高了品牌忠诚度和客户保留率。
相关链接–
- 从 Algolia 灵感库中其他人如何建造他们的 UX 中获得灵感。
- 深入挖掘 Algolia 文档中的过滤、分面和排序结果。
- 了解来自 Algolia 的所有预建 UI 组件。
5 过滤 UI 最佳实践
这里有五个最佳实践,你可以实施它们来为你的用户和你的企业提供最好的服务:
1。选择正确的过滤器和小平面
一套全面的过滤器和方面将帮助用户更快地找到产品和内容。然而,太多不相关的选项会让他们困惑。您应该花时间仔细选择类别和值。你应该制作你的过滤器:
- 与你的业务板块和用户相关。选择正确的过滤器和方面需要了解和研究你的用户、用例以及整个行业。
- 遵循常见的设计模式。 选择应该有不同的粒度级别,但应该直观和有区别,以便所有不同类型的客户都能理解它们,并知道他们选择选项时会遇到什么情况。
- 为您的用户组织的。 过滤器值应按照流行度和/或重要性排序,以增加客户发现它们有用的可能性。
- 范围不同 。虽然一些方面将适用于不同的类别,但其他方面将更加具体。例如,在一个 电子商务商店 上,所有产品都有价格,但衣服没有作者,书籍也没有瓦数。
https://www . algolia . com/doc/guides/solutions/gallery/recommended-filters/
2。显示结果的数量
当显示未选择的搜索方面时,您应该显示每个选项的搜索结果计数,如果它们要应用于当前搜索查询的话。此外,这些计数应该在每次应用方面或过滤器时动态更新。例如,如果用户搜索“鞋子”,并且有“尺寸”和“颜色”方面,那么每个尺寸和颜色值应该显示有多少鞋子符合这些特定条件。然后,如果用户选择了蓝色的鞋子,尺码计数应该更新以显示每种尺码有多少双蓝色的鞋子。
通过在每次搜索更新时更新计数,您可以有效地向用户暗示哪条搜索路径是最短的。例如,如果客户正在寻找 10 码的蓝色鞋子,而系统有 100 双 10 码的鞋子,但只有 10 双蓝色鞋子,那么她通常可以通过首先单击后一个方面,然后简单地滚动到产品来找到她正在寻找的产品。通过让你的用户以更少的步骤更快地找到产品,他们更有可能停留在页面上并最终转化。
3。允许同时过滤和分类
对于大多数活跃用户来说,过滤器和方面可能足以让他们向下钻取以准确找到他们正在寻找的内容。然而,更多的被动用户或新用户可能想要探索更大的内容集合。排序是这一过程的重要组成部分,因此用户可以根据对他们最重要的因素对内容进行排序,并增加他们找到相关结果的机会。
例如,一位顾客可能想买 10 码的鞋子,但还不知道她要找的颜色或品牌。如果她对价格合理的鞋子更感兴趣,她可能会按照价格上升的顺序对产品进行排序,这样价格较低的鞋子会先出现。如果她随后发现她想要基于结果调整过滤器或方面,她应该能够进一步细化搜索并保持相同的排序,以便她可以继续她的探索过程。
4。轻松拆卸过滤器
使用过滤器和刻面向下钻取应该是一个简单而直观的过程。然而,这样做的代价是用户可能会意外地选择一个不正确的值,或者他们可能会发现自己对所做的选择不再感兴趣。因此,用户必须能够从搜索中删除过滤器和方面,而不必刷新页面和/或重新开始搜索过程。同样,我们希望让用户体验尽可能无缝和快速,以增加他们找到相关产品并转化的机会。
5。针对移动和桌面应用优化过滤器
在构建过滤界面时,你应该确保考虑到所有的用户,不管他们在哪里。一个 移动优先的方法 通常是最有意义的,因为它允许你充分利用有限的屏幕空间。要做到这一点,你首先要考虑移动用户的心理和浏览行为。例如,移动用户经常看着屏幕的右上角来寻找导航工具,如过滤器、搜索按钮和菜单。把这些东西放在用户期望的地方会让你的网站更容易使用。
为了确保您的滤波器设计与使用案例和器件相匹配,还需要考虑其他因素:
列表-浏览模式和过滤-编辑模式
为了在移动设备上处理复杂的过滤工具,您还应该考虑使用两种视图模式:列表浏览模式,它允许用户浏览和探索,以及过滤编辑模式,这是一种包含所有过滤器和方面的独立视图。这种视图模式的分离可以防止界面内容过多,这样即使较小的移动设备也可以轻松显示所有内容。
滤镜上的局部与全屏
根据你的过滤工具的复杂程度,你可以考虑在搜索结果上方留下一些上下文,以便用户在没有立即找到他们想要的东西时可以快速检查过滤器。你是否这样做很大程度上取决于你是否期望用户知道他们确切的搜索参数。例如,Airbnb 等旅游应用程序使用全屏过滤模式,因为人们通常会搜索特定的地点和日期,而亚马逊等电子商务网站使用部分屏幕模式,以便用户可以更容易地探索不同的类别。
水平滤波器条与左手滤波器
根据过滤器的数量和复杂程度,您可以选择在页面顶部使用水平过滤器栏,或者在页面左侧使用垂直面板。这两种类型的过滤器接口都是可扩展的,特别是对于移动设备。
水平过滤栏允许用户轻松查看他们选择的内容。然而,当用户选择了多个过滤器或方面时,这通常需要隐藏选项。对于需要探索的工作流来说,这可能会使用户体验更加麻烦。
垂直过滤条可以容纳更多的内容,尤其是在较大的设备上,如台式机。这对于包括多个不同过滤器和方面值的更多实验的搜索可能是有用的。然而,由于较小的设备通常水平空间有限,这可能会使移动界面更加拥挤。
更高级的实现可能会根据屏幕和设备的大小,选择在水平和垂直滤镜工具之间动态切换。一种常见的方法是为桌面和大型平板电脑提供垂直过滤工具,然后为屏幕较小的其他设备提供水平过滤栏。无论您选择哪种流程,重要的是这些工具在所有设备和屏幕上都易于使用。
使用精心设计的滤镜改善用户体验
虽然从最终用户的角度来看,构建良好的过滤器和 facet UI 的最终结果似乎很简单,但需要考虑许多因素,并且没有一种通用的构建方法。
您需要一个搜索服务提供者来轻松测试、配置和监控过滤器和 facet 接口,以便用户获得最佳的探索体验。 阅读我们的电子书 来看看过滤是如何构建一个伟大的移动搜索体验的不可或缺的一部分
相关链接–
- 从 Algolia 灵感库中其他人如何建造他们的 UX 中获得灵感。
- 深入研究 Algolia 文档中的过滤、分面和排序结果。
- 了解来自 Algolia 的所有预建 UI 组件。
如何优化搜索索引以获得最佳性能
每个搜索界面都依赖于一个快速的 后端数据索引过程 ,尽可能及时地更新搜索结果。但是搜索索引只是硬币的一面。另一面是高质量相关搜索引擎的实时速度。
对于所有搜索引擎来说,的搜索请求优先级最高,其次是索引 (非常)接近。这有几个原因,但最重要的是一个商业论点:每个搜索都是潜在的游戏规则改变者,是一条转化之路。任何缓慢或丢失的搜索请求,或不相关的结果,都是潜在的财务或业务损失。
为了达到最大的速度和相关性,搜索引擎必须:
- 搜索请求优先于索引请求
- 构建索引,使查询以最佳相关性实时(毫秒)执行
因此,更新一个索引需要一点额外的时间。但是,如果你学会遵循一些索引的最佳实践,你会扯平的。
“一切都很好,”全栈和后端开发人员说。“我明白搜索的优先级。但是我想知道更多关于我的数据。我如何将我的数据上传到您的服务器上?它能处理我的用例吗?它接受任何类型的数据吗?它简单、安全、快速吗?”
在最近一篇关于索引 的 文章中,我们探讨了各种高级用例,并关注于两个搜索索引要素:快速更新和广泛适用性。现在是时候深入研究代码,解释一些速度提升算法和索引最佳实践,确保您在任何搜索用例 中获得最高的索引速度。
这里主要关注两个方面:
- 我们指数的广泛适用性
- 我们的索引 API 的高性能更新您的数据
我们搜索索引的广泛适用性
为了理解索引本身,我们需要将它从搜索中分离出来,并概述最流行的索引场景:
索引搜索
一个 结构良好的索引 为一个快速且功能齐全的面向客户的搜索界面提供了基础,具有很强的相关性。事实上,索引对于搜索相关性是如此重要,以至于它需要像前端一样精心设计和实现。
索引创建公司范围内的多用途可搜索数据层
多个指标 可以形成所有后台数据的单一接触点。当以某种方式组合在一起时,您的索引可以创建一个公司范围的可搜索数据层,该数据层位于您的后台和所有内部(员工)或外部(客户、合作伙伴)使用的前端之间。
索引作为“媒人”——协同索引用例
“媒人”场景是 X 公司建立一个 Algolia 指数,并向外部数据提供商提供。在这个场景中,公司 X 构建了一个协作网站,例如一个 市场 或流平台,在那里它显示多个供应商、合作伙伴和贡献者的产品/媒体。为了实现这一点,X 公司将其 Algolia 索引公开给这些外部数据提供者,允许他们在理解格式后发送数据。
前两种场景的主要区别如下:
- 单个搜索界面需要至少一个索引,在构建时应考虑到该界面。
- 在 全公司 数据层场景中,就不一样了:你需要概括你的指标的结构。组成这个多用途数据层的数据需要结构化,以便(a)允许来自差异很大的后台应用程序的多种数据输入,以及(b)服务于多种用例及界面,无论是面向用户的还是系统到系统的。
索引性能怎么样?
如果不是在所有情况下都有效,我们的索引就不可能有广泛的适用性,也无法在竞争激烈的数字商业环境中生存。虽然我们提供开箱即用的高索引速度,但这取决于实施最佳索引实践。这就是这篇文章的内容。
简单说说我们所说的“开箱即用的高性能”是什么意思。我们的索引采用了以下技术:
- 使用高级索引技术的搜索引擎
- 高性能 裸机服务器 针对性能进行配置
- 全球可用的基于集群的云基础架构,具有低延迟和服务器冗余(即无服务器停机)
- 一个 API 用重试的方法来保证(合同上) 99.99%的可用性
快速索引性能的最佳实践(带代码片段)
最重要的索引实践是运行一个 批处理算法 ,该算法在一次索引操作中定期、及时地更新多个记录。对于所有的用例都是如此。
为什么我们推荐批处理?因为每个索引请求都有很小的性能代价。索引请求包括对整个索引进行小的“重新索引”,这可能需要 1 秒钟,如果索引非常大,可能需要更长时间。因此,发送数百个索引请求(一次一条记录)会创建一个索引队列,从而降低整个索引过程的速度。为了减轻这种情况,通过发送较少的请求来限制服务器上的索引请求数量是很重要的。
考虑到所有这些,这里有 3 个最重要的索引最佳实践(数据更新的标准费用):
- 分批更新,而不是一次发送一条记录的更新
- 增量更新代替完全(重新)索引
- 部分索引(仅更新已更改的属性)
1–批量索引而不是一次更新一条记录
一个常见的错误是一次发送一条记录。如果您的后端数据不断变化,那么在每次发生变化时都发送是错误的。如上所述,当您创建一个等待处理的 100 个索引请求的队列时,就会出现瓶颈。
相反,作为最佳做法,使用 批量标引 。您将每个更改发送到一个临时缓存,然后定期将该缓存发送到 Algolia,例如,对于较大的索引,每 5 分钟或 30 分钟发送一次。批处理速度不要超过 1 分钟,因为这样会造成瓶颈。
这个程式码范例会建立新的索引。它使用 Algolia 的 Python API 的 save_objects
方法批量保存 10000 个记录块。
#python
import json
from algoliasearch import algoliasearch
client = algoliasearch.Client('YourApplicationID', 'YourAdminAPIKey')
algolia_index = client.init_index('bubble_gum')
with open('bubble_gum.json') as f:
records = json.load(f)
chunk_size = 10000
for i in range(0, len(records), chunk_size):
algolia_index.save_objects(records[i:i + chunk_size])
看看我们的 API 如何自动化批处理过程 。
2–增量更新代替完全索引
根据前面的建议,您不希望在一个批处理中发送太多的记录。为了减小索引请求的大小,您应该执行增量更新,其中您只更新新记录 。
此代码增加了一个新的泡泡糖系列。
#python
algolia_index.save_objects([
{"objectID": "myID1", "item": "Classic Bubble Gum", "price": "3.99"},
{"objectID": "myID2", "item": "Raspberry Bubble Gum", "price": "3.99"},
{"objectID": "myID3", "item": "Cherry Bubble Gum", "price": "3.99"},
{"objectID": "myID4", "item": "Blueberry Bubble Gum", "price": "3.99"},
{"objectID": "myID5", "item": "Mulberry Bubble Gum", "price": "3.99"},
{"objectID": "myID6", "item": "Lemon Bubble Gum", "price": "3.99"}
])
注意:最好每晚或至少每周对所有记录进行一次完整的重新索引。
查看我们完整的增量更新解决方案。
3–部分索引(仅更新更改的属性)
为了进一步降低索引流量,您需要只发送已经改变的 属性 ,而不是整个记录。为此,您将使用一个 partial indexing
策略。
这个代码只改变一些泡泡糖的价格,没有其他属性。
#python
algolia_index.save_objects([
{'objectID': 'myID1', 'price': 4.99},
{'objectID': 'myID3', 'price': 4.99},
{'objectID': 'myID6', 'price': 2.99}
])
查看我们完整的部分索引解决方案。
下一个读数
我们关于索引的第一篇文章展示了标准和高级索引用例的高级概述。本文向您介绍了索引最佳实践和标准索引过程的实现细节。我们的下一篇文章将讨论如何在高级用例中优化索引。
我们剩余的文章将为我们讨论的一些高级索引用例提供前端&后端代码,从实时定价开始。