“学习微生素”
3 月 20 号开始注册这个公众号,然后接口开发 应用基于: ruby 2.1 rails 4.0.4 postgresql redis redis-search sidekiq unicorn ratchet
程序开发相当简单,wap 版站点用 ratchet 也很容易搭建 UI,时间都花在数据收集上,数据从豆瓣获取,通过sidekiq
使用队列去爬了一个星期,大概 300 万图书数据(还没有爬完)
搜索使用了 redis-search
相当方便,使用简单,只是建索引的时间有些长:
Indexed 3067047 rows | Time spend: 16273.795951065s
目前账户还在开发中,仅为一个演示版本,微网站中有些连接点击无效
我们的场景是一个公众号对应完全不同的业务,所以不会在一个 web 程序来接入多个公众号,也不会有太多的公众号
第一个感觉反而弄得复杂了点,里提到的一些功能如自定义菜单的实现
不知道不什么要弄到 DB 里,菜单最多也就 15 个,这样设计反而变重了,菜单的变更一般都牵扯到业务的变化,代码肯定要动,这种功能直接写一个 rake 任务,方便部署
对于一些图文消息的回复,简单内容可以直接使用 gem 里面提供的方法,但有时候用 xml builder
可以做更细粒度的控制满足复杂点的需求
可能是我们还没需要你们那么大的业务需求吧
我觉得微信接口虽然设计得并不是很人性化,但相对来说还是相当简单的
个人愚见
@ruby_sky
config.public_account_class
这个不存在,我看了生成的配置文件,应该改为了config.token_model =
然后执行
rails g weixin_rails_middleware:migration
报错
Could not find generator weixin_rails_middleware:migration.
应该现在要自己在 model 里添加两个字段,而且是不是改成了这个
config.token_column = "weixin_token"
config.token_string = "token string"
#9 楼 @stephen 那是旧版本的配置,现在更新到 1.2.1(https://github.com/lanrion/weixin_rails_middleware/tree/v1.2.1)的版本,新版本的配置更简约更少。你重新 new 一个 project,按照 Getting-Start https://github.com/lanrion/weixin_rails_middleware/wiki/Getting-Start,是没有问题的。
gem "weixin_rails_middleware", "~> 1.2.1"
或者你也可以查看例子:
@huacnlee redis-search 只能检索一个字段吧,有没有考虑支持多个字段?
还有 redis-search 好像太依赖分词了,没有分到的词是搜索不到的,用 keys *query*
貌似又会有性能问题,确实不好搞。
而且代码里面用的是 class_eval
,不知道能不能将 class_eval
里面的代码独立成一个 module
,然后 include
进去。
今天看了下 elasticsearch-rails 的代码,redis-search 可以用 elasticsearch/rails/tasks/import
一样的方法去建立索引,这样就不需要在 initializer 里面先引用 model
了。
搭车问个问题,elasticsearch 怎么建立指定字段的索引?