【阿里云产品公测】Opensearch使用体验和评测
作者:阿里云用户outofmemory
昨天晚上收到了阿里云发的邮件,Open search可以申请公测了,于是迫不及待申请了测试,审核人员很高效,过了不到俩小时给批下来了。
很开心,于是趁今天是周末,得把“outofmemory.cn”的全文检索,用open search实现一下。 汗! 之前用python实现的全文检索不是很稳定。
早上开工,先按照公测通过邮件的说明,新建了搜索应用,并做了激活。新建的搜索应用名称是“search4oom”, 意思是为outofmemory新建的搜索应用。
新建应用分为五个步骤:
1.第一个步骤需要填写下应用的名称和备注
2.第二个步骤需要设置搜索数据表的字段,需要设置字段的数据类型,是否是主键,是否支持多值(这个应该和solr的多值是一回事,意思是一个字段的值可以指定为一个数组),以及外表连接和多表join支持。 数据类型的下拉框中有TEXT,INT,FLOAT三种,数据类型有点少了,起码应该加上datetime,和string类型,对于一些时间敏感的应用可以方便的使用日期限定搜索,对于不需要参与索引的字符串字段应该设置为string类型。另外阿里云默认提供了咨询类,小说类,应用类和社区类搜索数据结构定义的模板,这个值得称赞,一般的应用都可以通过这四种模板稍作修改来支持。
3.第三步配置数据源,对于搜索应用同步索引离不开数据源,这一步很重要。 阿里云提供的数据源接入方式有两种一种是自动的,自动方式只支持阿里云自己的OSS和ODPS,由于我没用这两个产品,所以也就没有办法做自动导入索引数据了。 另外一种数据同步方式是“稍后手动上传”,这种方式可以手动传数据,可以通过sdk传数据。手动传数据只是一种测试手段,真实应用必须通过程序的sdk来做,目前支持的sdk有三种分别是java,php和.net。 前两种sdk文档已经写完了,.Net的尚没有文档。 选择“稍后手动上传”进入下一步
4.第四步是确认明细,会将前几步设置的应用信息,数据结构列出来确认一下
5.确认后就可以创建应用了
应用的创建过程很顺利,下一步需要手动来建索引了,因为我的网站是python开发的,而目前尚没有支持python的sdk,所以只有先看看帮助了,在帮助 中发现,阿里云提供了http的restful API,于是决定用python实现一个简单的sdk。 先看文档的授权说明部分,授权类似于OAuth2的授权,需要为请求生成一个token,token的生成算法用了mac-sha1。需要先在阿里云的开放搜索管理平台申请一个AccessKey, 申请很简单,按说明来就行,这里不赘述了。
下面进入python sdk的开发阶段,首先要实现的就是授权token的生成,由于我本人对java还比较熟悉所以下载了java的sdk,想先看下java sdk中的实现,下载了java的sdk jar包,然后在elicpse中新建了项目,并引用了此jar包,jar包中包含了完整的程序代码和注释,可以方便的查看授权的实现,值得称赞。 但是jar包中封装了junit,apache-commons等依赖jar包,显然是把sdk需要的jar包打到一个包里了,这样对于新手的好处是使用方便,但是把别人的包也打进来的做法不是很优雅,如果再提供一个简单版本,可以在maven中引用会更好一些,毕竟大家通常项目开发都是要用maven的。 经过一番探索,发现授权token生成的代码在com.opensearch.javasdk.CloudsearchClient类中的getAliyunSign方法中,按照此代码和官方授权部分的说明文档经过一番周折可以正常生成授权token了。
另外在管理后台还有设置搜索字段权重的功能,这一点很不错,我们可以根据需要设置不同字段的权重,但是这部分的没有找到相关的文档,有一些东西不是很理解,没有办法设置权重的表达式。
总体来讲,阿里云的开放搜索还是很值得期待的。 但是估计还有一些细节的东西需要调优。 另外对稳定性,和程序健壮性方面可能还需要进一步改善,在调试程序过程中发现几次“程序出现内部错误”的消息。
感谢阿里云提供的试用机会。
原文地址:http://bbs.aliyun.com/read/179261.html
参加活动:http://promotion.aliyun.com/act/aliyun/freebeta/
【阿里云产品公测】Opensearch使用体验和评测的更多相关文章
- 【阿里云产品公测】高大上的搜索服务OpenSearch,你值得拥有!
[阿里云产品公测]高大上的搜索服务OpenSearch,你值得拥有! 作者:阿里云用户trcher 一.前言: 在OpenSearch没出来之前,就一直想给网站做个搜索功能,虽然网站本身自带搜索功 ...
- 【阿里云产品公测】云引擎ACE初体验
作者:阿里云用户蓝色之鹰 :RYYjmG5; 来投票支持我把=i2]qj\ 序号2. [阿里云产品公测]云引擎ACE初体验:作者:蓝色之鹰 e(OKE7 序号10.[阿里云产品公测]结构化数据服 ...
- 【阿里云产品公测】消息队列服务MQS java SDK 机器人应用初体验
[阿里云产品公测]消息队列服务MQS java SDK 机器人应用初体验 作者:阿里云用户啊里新人 初体验 之 测评环境 由于MQS支持外网访问,因此我在本地做了一些简单测试(可能有些业余),之后 ...
- 【阿里云产品公测】大数据下精确快速搜索OpenSearch
[阿里云产品公测]大数据下精确快速搜索OpenSearch 作者:阿里云用户小柒2012 相信做过一两个项目的人都会遇到上级要求做一个类似百度或者谷歌的站内搜索功能.传统的sql查询只能使用like ...
- 【阿里云产品公测】结构化数据服务OTS之JavaSDK初体验
[阿里云产品公测]结构化数据服务OTS之JavaSDK初体验 作者:阿里云用户蓝色之鹰 一.OTS简单介绍 OTS 是构建在阿里云飞天分布式系统之上的NoSQL数据库服务,提供海量结构化数据的存储和实 ...
- 【阿里云产品公测】以开发者角度看ACE服务『ACE应用构建指南』
作者:阿里云用户mr_wid ,z)NKt# @I6A9do 如果感觉该评测对您有所帮助, 欢迎投票给本文: UO<claV RsfTUb)< 投票标题: 28.[阿里云 ...
- 【阿里云产品公测】阿里云ACE部署通用完整教程及评测
[阿里云产品公测]阿里云ACE部署通用完整教程及评测 作者:阿里云用户bailimei ACE应该是目前在公测的服务中应用最广泛的一项服务.在公测云引擎ACE前曾使用过新浪SAE,而ACE给我的最初印 ...
- 【阿里云产品公测】利用PTS服务优化网站数据库读写性能
[阿里云产品公测]利用PTS服务优化网站数据库读写性能 作者:阿里云用户千鸟 写这个帖子主要也是因为在用PTS测试网站的时候,手动访问网站进入报错页面,主要原因是数据库连接对象存在问题,导致并发多的时 ...
- 【阿里云产品公测】离线归档OAS,再也不用担心备份空间了
[阿里云产品公测]离线归档OAS,再也不用担心备份空间了 作者:阿里云用户莫须有3i 1 起步 1.1 初识OAS 啥是OAS,请看官方说明: 引用: 开放归档服务(Open Archive Se ...
- 【阿里云产品公测】云引擎ACE新手实战基于Wordpress
[阿里云产品公测]云引擎ACE新手实战基于Wordpress 作者:阿里云用户imnpc ACE(Aliyun Cloud Engine) 是一款弹性.分布式的应用托管环境,支持Java.php多种语 ...
随机推荐
- labview图形和图表的类型
http://zone.ni.com/reference/zhs-XX/help/371361L-0118/lvconcepts/types_of_graphs_and_charts/ LabVIEW ...
- win2008 64位 + oracle11G 64位 IIS7.5 配置WEBSERVICE
第一个错误: 安装过程依旧是那样简单,但在配好IIS站点,准备连接数据库的时候出错了,以下是错误提示:System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更 ...
- RPG JS:免费开源的跨平台RPG游戏引擎
RPG JS是一个2D RPG游戏制作引擎,目前版本基于Ease|JS游戏引擎,基于Canvas Engine的新版本即将发布. RPG JS是免费且开源的. RPG JS有着完善的文档支持. RPG ...
- UVa 11536 Smallest Sub-Array (水题, 滑动窗口)
题意:给定 n 个由0~m-1的整数组成的序列,输入 k ,问你找出连续的最短序列,使得这个序列含有1-k的所有整数. 析:这个题,很简单么,只要从头开始扫一遍就OK,时间复杂度为O(n). 代码如下 ...
- hibernate的配置文件
- 一条结合where、group、orderby的linq语法
DataTable dt = (from x in dsResult.Tables[0].AsEnumerable() where DataTrans.CBoolean(x["IsCheck ...
- oracle查看字符集后修改oracle服务端和客户端字符集的步骤
1.oracle server端字符集查询代码如下:select userenv ('language') from dual; server字符集修改: 将数据库启动到RESTRICTED模式下做 ...
- JS瀑布流布局模式(2)
这个例子与上一篇类似,唯一的区别是排序的方式有差别.上一篇是在高度最小的列里插入内容,这个案例是按顺序放置内容. 两种方法各有优缺点.第一种需要在图片内容加载完成的情况下有效,各个列的图高度差异不大. ...
- Theatre Square
http://codeforces.com/problemset/problem/1/A Theatre Square time limit per test 2 seconds memory lim ...
- LFS7.4编译笔记(2)
上一篇我们已经搭建好了临时系统,这一篇我们就开始正式构建我们的最终LFS系统. 首先切换到root,准备虚拟内核文件系统并挂载: su - export LFS=/mnt/lfs mkdir -pv ...