【阿里云产品公测】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多种语 ...
随机推荐
- Java断言assert
public class Welcome{ public static void main(String[] args){ assert false; System.out.println(" ...
- c++中指针类型在c#中怎么对应?
int[] a=new int[5]; //取a[3]的地址 IntPtr addr=System.Runtime.InteropServices.Marshal.UnsafeAddrOfPinned ...
- UI:页面传值、单例模式传值、属性传值、NSUserDefaults 数据持久化
<单页面传值> 页面传值,从前向后传值,使用属性,在后一个页面定义属性,在前一个页面,用点语法,获得值,在适当的时候传值 页面传值,从后向前面传值,使用协议和代理,在后一个页面指定协议,定 ...
- 【转】【公司调查】车来了APP
http://blog.sina.com.cn/s/blog_83b10acc0102vk7k.html [APP简介] "车来了"是武汉元光科技有限公司开发的一款查询公交车实 ...
- Windows Server 2012远程刷新客户端组策略,IE代理设置
Windows Server 2012远程刷新客户端组策略: 1.PowerShell命令对单台计算机进行刷新: Invoke-GPUpdate -RandomDelayInMinutes 0 -Co ...
- 一次JQuery性能优化实战
同事写了段JQuey的代码,在某些机器上,会出现IE假死的性能问题. 我测试了一下代码花费的时间,在我的机器上,会花费600多毫秒,但在某些机器上会花费6秒多(10倍的增长),这样就导致了IE的假死. ...
- C#操作Excel(1)Excel对象模型
Excel对象模型 (.Net Perspective) 本文主要针对在Visual Studio中使用C# 开发关于Excel的应用程序 本文的PDF下载地址:C#操作Excel2007.pdf ...
- 使用foreach碰到的问题
foreach($list as $k=>$v ){ ........... } 和下面: foreach($list as &$v){ ........ } 其实两者的结果是一样的,但 ...
- MySQL CAST与CONVERT 函数的用法
MySQL CAST与CONVERT 函数的用法 产生另一个类型的值 MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值. 两者具体的语法如下:1 CAS ...
- [MEAN+ Webstrom] First API -- 2.Debug Node.js RESTful application
Using WebStrom can easily debug the Node applcation. For example, we have an Node+Express applicatio ...