ElasticSearch0.14 New Features

开发中的ElasticSearch又带来了一些新的features和改进,非常不错,下面简单的介绍下我比较关注的。 1.字段不需要显式的保存了,如果字段没有设置为保存,ES默认会从_source文档抽取对应的字段,大大节省存储空间哦,并且一般直接使用field的值的情况也是少见的,不过如果_sources也没有保存,则没有办法了。#562 2.Parent / Child 的支持,这个得好好说说,通过定义两索引为父子关系,实现两索引的关联和联合查询,可以实现类似于数据库的join操作,避免因为一点点小的修改而造成的整个索引的重建。#553 未完待续… 实战咯

foobar2000&新浪微博插件:foobar2000 Now Playing

简单介绍下,这个是播放器foobar2000的一个插件,功能是将你正在听的歌曲发送到新浪微博。 foobar版本:1.1.1 (其他版本未试) 下载地址: http://bit.ly/foobar2k 这个component的起因纯属对饭否插件的怀恋(在学校的时候用饭否的插件记录了N多听歌的记录),还一个原因是因为之前用的饭否的插件居然有了广告(讨厌的链接),这个是让我很难容忍的,本来就短短的一句微博消息,居然加这么长的广告,叫我情何以堪啊,于是,哥自己倒腾一个得了。 注:饭否的api和新浪的api几乎一样,改改代码就可以用了。 源代码地址:https://github.com/medcl/foo_now_playing(包含所有依赖) 哈哈,我太open了。 小提示:在preferences里面设置你的账户密码即可(为什么不用oauth做验证?懒得搞,shit) foobar2000完整打包:http://github.com/downloads/medcl/foo_now_playing/foobar2000_all_pack.zip 只插件dll:http://github.com/downloads/medcl/foo_now_playing/foo_now_playing_v0.2.zip 所有版本下载地址:https://github.com/medcl/foo_now_playing/downloads 更新日志: 2010.12.26 版本0.2,修改前缀为我正在听,去掉##,不产生话题 下载地址:foo_now_playing_v0.2.zip  

centos终端中文

Ninject单例及属性注入示例

输出:

MessagePack,又一跨语言RPC框架

Features: 紧凑的数据格式,传输量更小,序列化、反序列化速度更快,兼容ThriftIDL定义,提供连接池,异步请求,并行管线,动态类型,延迟返回,事件驱动的I/O架构等。 目前支持好几种语言,java、python等,唯独没有c#,真是不给力。 网址:http://msgpack.org/

Ninject使用简单介绍

Ninject是一个轻量级的IOC框架,它的Kernel、Module的方式比较特别,个人比较喜欢这种方式,Github地址:https://github.com/ninject/ninject,上面还有很多插件,如ninject.extensions.xml 下面简单说一下如何在Ninject下结合xml配置来实现动态注入:

ElasticSearch中字段排序

新的接口已经不再使用reverse了,取而代之的asc和desc,多个字段用逗号分开,记录一下。

ElasticSearch的Gateway及存储原理

ES里有一个叫做gateway的东西,今天抽空理一下,前面翻译ES的一篇博文叫做“搜索引擎与时间机器”,既然里面谈到了时间机器,就免不了需要穿越时空的的门咯,I guess,也许gateway这名字就是这么来的,其实在ES里面,gateway的主要职责是用来对数据进行长持久化(持久化了之后加上版本信息,不就可以自由的往还于过去未来之间了吗?),另外,整个集群重启之后可以通过gateway重新恢复数据。

elasticsearch state recovery configs

Issues 404,值得备注一下。 0.12以前,有一个关于state recovery配置,我一直很迷惑,如下: gateway.recover_after_nodes  //设置集群处于多少节点内将会执行cluster recovery gateway.recover_after_time //设置达到上面参数配置的节点数间隔多久开始执行recovery 0.12新增参数expected_nodes来设置集群期待的节点数,完整的配置如下:

上面的配置是说,整个集群期待的节点是2个,当有一个节点启动之后,它会等待5分钟来再进行集群的state recovery,但是如果集群中上线的节点数达到期望的节点数:2,那么就会立即执行state recovery。