write down,forget

Ninject使用简单介绍

<Category: .NET>

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

本文来自: Ninject使用简单介绍

ElasticSearch中字段排序

<Category: 搜索>

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

本文来自: ElasticSearch中字段排序

ElasticSearch的Gateway及存储原理

<Category: 分布式, 搜索>

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

本文来自: ElasticSearch的Gateway及存储原理

elasticsearch state recovery configs

<Category: 搜索>

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。

本文来自: elasticsearch state recovery configs

elasticsearch0.12版本发布了

<Category: 小道消息, 搜索>
From:http://github.com/elasticsearch/elasticsearch/wiki/Release-notes
BreakChanges
  • thrift definition params is conflict with c#’s keyword, rename to parameters. (#392)
  • Geo Overhaul (work with multiple locations). (#414)
  • Bulk API: Rename index to _indextype to _type and id to _id. (#421)

新功能及改进:

1.添加_fields来直接访问已经保存的字段,之前只能通过_source来访问,使用方式如下:

_fields['my_field_name'].value or_fields['my_field_name'].values.

2. 支持Mapper动态模板(Dynamic Template),,支持正则、通配符等区配模式,有点solr动态schema的意义,但是更强大,详情

3.新的River插件,Wikipedia River: A river to index wikipedia,默认下载最后一个wiki的dump文件进行索引(好几个G哦),详情

4.Script新插件,lang:JavaScript 、Groovy 、Python,Script插件的在这里: 使用说明

5.使用Base64 encoding来生成uuid

6.Query DSL增加Numeric Range Filter

7.集群使用local gateway模式,当部分shard节点不可用造成state未成功recovery时,不会屏蔽元数据的操作(如删除索引)

8.Support http auth in couchdb river plugin

还有一些功能改进和bug修复,0.12不错哦,赶紧下载吧,下载地址。升级提示:插件不能直接用压缩包了,需要解压到目录下。

本文来自: elasticsearch0.12版本发布了

ElasticSearch WebConsole及ElasticSearch.NET客户端

<Category: .NET, Lucene, 搜索>

用Fiddler来查看ElasticSearch的服务器状态太让人抓狂了,抽空弄个console面板,可以很方便的设置服务器地址和更新时间,暂时只显示了一部分有用的信息。

screenshot

github的地址:http://github.com/medcl/ElasticSearch-WebConsole

封装的一个.NET客户端地址,提供了连接池和thrift支持(暂时不支持Framed模式)200w记录时索引操作1-2ms、800w记录50ms,github地址:

http://github.com/medcl/ElasticSearch.Net

本文来自: ElasticSearch WebConsole及ElasticSearch.NET客户端

thrift入门

<Category: Linux>

thrift入门与elasticsearch的thrift接口代码生成
下载
http://incubator.apache.org/thrift/download/
最新:http://www.thrift-rpc.org/?p=thrift.git;a=shortlog;h=refs/misc/instant

阅读这篇文章的其余部分

本文来自: thrift入门

[译]搜索引擎与时间机器

<Category: 翻译>
原文:http://www.elasticsearch.com/blog/2010/02/16/searchengine_time_machine.html

构建一个高可用的产品需要一些创新的想法,当我们谈论一个高可用的产品的时候,我们一般会从两个方面去衡量,一个是部分集群的故障处理(其中包括如何做到加新节点自动扩展),还一个就是整个集群都出故障都down掉情况的处理(怎样保证整个系统可以重新跑起来,恢复到down掉之前的状态,并且还不能丢失数据)。
接下来将要说说一个分布式系统(尤其是在云计算环境里)是如何解决上面提到的那两个问题的以及ElasticSearch是怎么做的。

本文来自: [译]搜索引擎与时间机器

quick intro to elasticsearch

<Category: 搜索, 资源分享>

本文来自: quick intro to elasticsearch

ElasticSearch at berlinbuzzwords 2010

<Category: 搜索>

you can’t miss this,
http://www.slideshare.net/elasticsearch/elasticsearch-at-berlinbuzzwords-2010#
现场视频:http://berlinbuzzwords.blip.tv/file/3812491/需要遁地

本文来自: ElasticSearch at berlinbuzzwords 2010