全部产品
云市场

常见问题

更新时间:2018-11-08 17:45:57

系统

Q: 什么是阿里开放云搜索(alibaba opensearch)?

阿里开放云搜索(Alibaba OpenSearch)是为您量身定制打造的针对结构化数据的云端 搜索服务。您可以通过我们提供的平台非常容易的拥有高质量,易扩展,可定制的搜索服务而不用关心搜索的各种技术细节。您所需要做的只是做好相关配置并上传数据,然后就可以 通过API获得搜索结果了。我们同时还提供了典型语言的SDK,具体支持的语言的SDK请参看管理界面中的下载中心。

Q: 阿里开放云搜索能给我带来什么样的好处?

阿里开放云搜索是在云端的搜索服务 ,具有高扩展性,可以随着您的数据规模自动扩展所需的硬件资源,您不需要任何硬件投入就可以拥有搜索服务。搜索功能也不会给您的现有服务器带来任何压力。快速,高质量的搜索结果可以更好的满足您的用户的信息需求,从而提高您的产品的用户粘性,提高您的产品的流量和人气。最终为您带来可观的经济价值。

Q: 我可以发送多少次搜索请求?

目前没有限制,具体请根据实际使用情况在控制台进行手动配置,超大QPS提交申请后需要人工审核。该申请请尽量提前,如果QPS过大,系统内部会自动进行调整,可能需要几天的操作时间。

Q:搜索请求的latency有多大?

实际访问受查询query复杂程度、匹配的doc数影响很大,具体请根据实际情况自行测试数据。

Q:阿里开放云搜索如何收费?

具体请查看价格总览,目前计费模型改版后分为旧的存储+qps的计费方式以及新的LCU计费方式。(注:如果使用的是旧的计费方式,那么监控中的LCU消耗与计费无关,可以仅当成一个参考数据作搜素性能的参考。)

流程

Q: 什么叫应用,如何来创建?

应用是具有相同应用结构的可搜索的文档集合,您可以为应用定义数据表、字段类型、配置搜索属性,上传数据并获取搜索结果。您可以通过管理界面或者Web API来创建,管理,删除应用。

Q: 定义应用结构时候的“索引到”的用处是什么?

query子句查询关键字的时候,必须要指定要查询的索引,即定义应用结构的索引到字段。索引字段包含一个或多个源字段。定义了索引字段,引擎构建的时候会建立查询词到文档的倒排链表,查询时可以通过查询词快速定位到文档,大大提高查询性能。

如论坛场景上有两个搜索需求:1,综合搜索(标题、内容、作者);2,标题搜索。源字段为title、body、author,那么可以将title、body、author索引到default字段上 ,再将title索引到 title_search字段上,这样query=default:’keyword’可以实现需求1, query=title_searc:’keyword’可以实现需求2。

Q: 什么是模版?

模版是我们为了进一步减少您的工作而针对互联网上典型的数据制作的包括应用结构, 排序方法等在内的应用容器。目前我们提供的模版可以在创建应用的时候看到详细信息。将来我们会根据情况添加更多更丰富的模版供您选择。

Q: 选择模版后可以修改模版的应用结构么?

可以,具体参见应用管理-》应用详情-》应用结构,右上角有“修改应用结构”按钮。注意:修改后需要索引重建(应用管理-》数据同步-》手动索引重建)才能将配置以及老数据生效。

Q: 如何上传数据到应用?

如果您是RDS、ODPS的用户,您可以通过控制台上配置相关实例信息的方式来做自动同步,其他用户可以通过上传数据API或者管理界面中的上传功能来上传数据。

Q:我可以上传多少文档?

应用上传文档数没有上限,可以自行在控制台上配置文档容量配额,具体操作过程请查看应用管理-》配额及计费部分。同QPS峰值一样,对于大容量的申请需要人工审核。该项配额会影响计费信息,请按照实际需要配置。

Q: 如何删除应用?

您可以在管理工具中点击索引的名字后在索引详情页里点击“删除应用”,然后在系统提示中按确认后完成删除的工作。

Q: 如何删除应用中的文档?

在上传的数据中通过sdk设置delete操作就可以实现对于指定文档的删除。另外在控制台——搜索测试界面中也提供了对于具体文档的删除功能。

Q: 如何清空应用?

如果您需要保留应用名,您需要逐个删除应用中的文档来清空索引。如果您不需要保留应用名,您可以创建一个新应用并拷贝相关配置到应用来实现清空的目的。后续我们会提供独立的数据清空功能。目前高级版支持定时清理任务,保留7-180天的文档。

数据导入

Q: 阿里开放云搜索是否可以用在阿里云的数据库服务上(RDS)?

可以。只需在应用数据源配置好RDS的实例信息,即可实现RDS操作自动同步到OpenSearch系统(配置完毕后需要执行数据导入并索引重建,以便将当前全量导入到系统中)。

Q:OpenSearch现在支持哪些阿里云产品直接对接?

目前支持ODPS、RDS,后续也会有其他的产品陆续接入,敬请期待。

Q:API/SDK上传文档格式是怎样的?

目前我们支持JSON格式。请参考模版页面中提供的样例文件或者API文档数据处理部分说明。

Q:add和update命令有什么区别?

add或update时上传的文档,如果没有给定一些字段的值。add会用默认值覆盖,update不处理。

搜索

Q: 阿里开放云搜索都提供哪些搜索功能?

阿里开放云搜索提供针对文本,数字等基本类型的搜索,并提供查询、过滤、排序、统计、聚合等功能,典型数据模版,自定义索引结构,自定义搜索结果排序、自定义查询分析(同义词、纠错等)以及下拉提示。

Q: 如何获取全部文档?

不支持。搜索引擎的重点是尽可能短的时间内将最优的结果返回,所以未提供查看全部文档的功能。opensearch有最大的返回结果数的限制(具体查看系统限制),即使翻页也只能在返回结果数viewtotal中进行。

Q:Array类型为什么在查询结果里面是string,而不是数组?

Array类型搜索结果是通过\t分隔的。

Q:opensearch能否自行指定分词方式和词库?

分词只要在两个地方使用,一个是build索引时,一个是查询时。目前的词库都是全系统公共的配置,不支持用户自定义词库。但目前opensearch系统支持多种分词方式,包括了自定义分词,具体请参考文档“用户指南”中的“字段类型和分词类型”。

Q:文档中有“吃饭了”,我搜索“吃饭了吗”怎么搜不出来?

原因是目前opensearch分词后的term需要全部命中才能返回文档,上面的query=default:’吃饭了吗’相当于query=default:’吃饭’ AND default:’了’ AND default:’吗’,而文档中没有“吗”这个term,所以文档不会被召回。

这种情况下可以配置下查询分析的“词权重”功能,会对不重要的词做RANK操作,解决长尾query的召回问题。如上述的query会被自动改写为:query=default:’吃饭’ RANK default:’了’ RANK default:’吗’,这样上面的文档就会被召回,且排序上会排到“吃饭”文档的前面。

Q:我搜索”mx”和”player”,文档中有”mxplayer”,为什么没有召回?

对于英文最小分词粒度到单词级别,上述文档中的”mxplayer”会被分成一个词,所以搜索”mx”、”player”及”mx player”都无法召回带有”mxplayer”的文档。

Q:opensearch支持小语种搜索吗?

目前系统只支持中英文的语义分词,其他以空格分隔的语种(葡语、俄语等)也可以支持基本的单词匹配,但不支持语义(词组),而不以空格分隔的语种(日语、韩语等)则无法支持。

Q:搜索结果上如何分离相同会员的产品,每家会员只出1条最相关的,然后显示总条目?

可以结合Aggregate子句和Distinct子句。distinct子句可以做到相同分类结果打散,aggregate子句可以对相同分类结果做统计。

应用迁移/新高级版

Q:为什么我的控制台同一个应用名下面出现了两个应用?会收两个应用的费用吗?

2018年4月我们进行了短信/站内信/邮件通知,后续老高级版会下线,因此建议迁移到新高级版。如果您的控制台出现两个应用并且不是您自己操作的,那么可以判断为是opensearch给您主动迁移的,迁移过程不收取额外费用,两个版本也仅会收取一个应用的费用。

Q:为什么要升级到新高级版?

新高级版的数据处理速度比老高级版快,全量以及实时效率都有提升。老高级版会逐步下线,因此需要迁移到新高级版使用。

Q:怎么升级到新高级版?

确认想要迁移的应用,点进“管理”——“基本信息”,点击右上角“应用迁移”按钮,一键迁移。同组迁移需要您指定跟老版本同样的应用名,点击确认后即开始迁移。

Q:新高级版为什么会有两个版本?还有一个版本会被删除吗?

新高级版以及标准版是多版本切换的,使用“定时索引重建”“手动索引重建”或者“修改应用结构”都会生成一个新版本,一个应用实例会在控制台存在新旧两个版本。

当产生一个新版本时:

  • 点击“切换到线上”按钮,将线上服务切换到新版本后,老版本(未在线版本)默认保留8小时,超过8小时后未在线版本被删除;线上服务已切换到新版本后,又点击“切换到线上”将线上搜索版本回滚切换回老版本时,新版本(未在线版本)也仅默认保留8小时。
  • 版本删除后,不可恢复。

计费模型改版

Q:为什么我的应用不能“变更规格”?

目前老高级版的应用(目前有下拉提示功能的应用即为老高级版)不支持变更规格,因此老高级版应用需要谨慎变更计费模型。而其他版本均可变更规格。

Q:怎么从老的计费方式变更为新的计费方式呢?

进入控制台应用列表页,应用名称一列中,点击具体需要变更计费方式的应用名,进入“属性信息”的界面,右上角点击“扩容”即可。(注意:只有一个版本时才能够扩容。)

Q:现在怎么看配额及计费信息?原来的界面进去看不到存储以及qps配额了。

已经支持计费模型改版的应用区域,目前配额的信息的查看,麻烦从应用名称一列中,点击应用名,然后可以查看“属性信息”中的“计量信息”。具体的存储使用量、qps等等信息可以点击右上角“监控与报警”查看。并且设置一键报警。

API及SDK

Q:用sdk推数据的地址是哪啊?目前OpenSearch为多区域部署,每个区域都有独立的API入口,具体请查看应用详情中的API入口。

Q:通过sdk上传数据返回ok了,但为什么页面上看到有错误?要怎么获取错误消息?

SDK返回status为OK,只是表示系统接收到了数据。但是在后续数据处理过程中发生的错误,将会在控制台应用的错误日志展现出来。如果出现数据上传成功但是搜索不到,请先查看错误日志中的信息,修改后重新导入。目前暂时没有支持获取错误日志信息的接口。

如果问题还未能解决,麻烦提交工单反馈。