摘要:
kiss.data的简单记录==[github地址](https://github.com/sdming/Kiss.Data) kiss.data是golang的数据库访问类库[kdb](https://github.com/sdming/kdb)的c#版本, 最初是先有c#版本的,后来根据golang的设计重构了。 刚写完主干部分,还在测试中。 特性==* 支持主流数据库 * 支持常见ORM操作 * 智能数据转换 * ... 基本类型==`DbContent`类封装对db的一些基本操作。 `IDataObjectAdapter`接口对象字段访问的接口, 包含四个方... 阅读全文
摘要:
mapping==Mapping是指定义如何将document映射到搜索引擎的过程,比如一个字段是否可以查询以及如何分词等,一个索引可以存储含有不同"mapping types"的documents,ES允许每个mapping type关联多个mapping定义。显式声明的mapping是定义在index/type级别, 默认不需要显式的定义mapping, 当新的type或者field引入时,ES会自动创建并且注册有合理的默认值的mapping(毫无性能压力), 只有要覆盖默认值时才必须要提供mapping定义。 mapping typesMapping types是将索 阅读全文
摘要:
analysis基本概念===全文搜索引擎会用某种算法对要建索引的文档进行分析, 从文档中提取出若干Token(词元), 这些算法称为Tokenizer(分词器), 这些Token会被进一步处理, 比如转成小写等, 这些处理算法被称为Token Filter(词元处理器), 被处理后的结果被称为Term(词), 文档中包含了几个这样的Term被称为Frequency(词频)。 引擎会建立Term和原文档的Inverted Index(倒排索引), 这样就能根据Term很快到找到源文档了。 文本被Tokenizer处理前可能要做一些预处理, 比如去掉里面的HTML标记, 这些处理的算法被称... 阅读全文
摘要:
modules==模块cluster==[原文](http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-cluster.html) 基本概念===cluster: 集群,一个集群通常由很多节点(node)组成 node: 节点,比如集群中的每台机器可以看做一个node shard: 分片,ES是分布式搜索引擎,会把数据拆分成很多个shard,一个索引默认有5个shard replica: 副本,ES是high availability的, 为了数据安全会把同一份数据存放在多个节点,默... 阅读全文
摘要:
使用logstash+elasticsearch+kibana快速搭建日志平台 阅读全文
摘要:
SessionGo的net/http本身不带session的机制,需要开发人员自行实现,gwk实现了内存中的session存储机制,如果需要将session存在其他地方比如redis或者memcache需要实现gwk的session.Driver接口。session.Driversession.Driver的接口如下type Driver interface { // 初始化 Init(options string) error // Driver的名字 Name() string // 添加key,如果重复返回false,error Add(session... 阅读全文
摘要:
事件gwk支持事件系统,但并没有硬编码有哪些事件,而是采用了比较松散的定义方式。订阅事件有两种方式: 调用On函数或者OnFunc函数func On(moudle, name string, handler Subscriber) func OnFunc(moudle, name string, handler func(*EventContext))参数moudle是指订阅哪一个模块触发的事件,参数name是指订阅事件的名字,参数handler是处理事件的对象实例,是Subscriber类型的对象,Subscriber接口定义如下:type Subscriber interface { .. 阅读全文
摘要:
上一篇忘了ChanResultChanResult可以用来模拟BigPipe,定义如下type ChanResult struct { Wait sync.WaitGroup Chan chan string ContentType string Start []byte End []byte Timeout time.Duration}ChanResult会先输出Start,然后读取Chan中的字符串输出到客户端,最后输出End。还忘了Controller的事件。如果Controller的每个... 阅读全文
摘要:
HttpResult凡是实现了HttpResult接口的对象,都可以作为gwk返回Web客户端的内容。HttpResult接口定义非常简单,只有一个方法:type HttpResult interface { Execute(ctx *HttpContext) error}func Execute(ctx *HttpContext) error 方法定义了应该怎么样将数据返回客户端,*HttpContext 是当前http请求的上下文对象,后文会详细介绍。gwk内置了支持几种常用的HttpResult。ContentResulttype ContentResult struct { ... 阅读全文
摘要:
今天看到Golang排名到前30名了,看来关注的人越来越多了,接下来几天详细介绍Golang一个web开发框架GWK。现在博客园支持markdown格式发布文章么?后台的编辑器不太好用嘛。GWK简介gwk(GO Web Server Kit)是GO语言的Web Server开发框架,简单易用,扩展性好,而且兼容Go App Engine。安装gwk只支持GO 1.1+版本,安装GO 1.1后,运行下面的命令即可。go get github.com/sdming/wkgwk依赖kiss和mcache两个package,如果没有自动安装成功的话,可以单独运行下面的命令安装:go get githu 阅读全文