Mysql full-text index query with SqlAlchemy

2017-11-24 作者:

结论:

  1. mysql fulltext index基本可用(试了natural language mode和boolean mode),尤其在表结构比较简单的前提下
  2. sqlalchemy自带的match关键字只能match单列的fulltext索引,多列的我们用如下办法自制 – 仅用于查询的话,完全够用
  3. 最重要的一点:数据量大时,一个query尽量只使用where match against,与其他的where some_column = ‘hello’要分开写(做成subquery)。如果写在一起,极有可能只有fulltext索引生效,而其他列的简单查询所对应的index不生效。

注册自己的Match子句

所有条件一起用于查询(前面1个filter不能触发已有index)

先做普通字段查询,join后再做fulltext检索(subquery和query各自使用自己的index)

参考自:https://stackoverflow.com/questions/14971619/proper-use-of-mysql-full-text-search-with-sqlalchemy

完整阅读本篇»

Medieval music that I like

2017-10-03 作者:

不知为何,总爱在写些什么时听这首曲子。

作者说这不算medieval music,不过一直爱听的民乐也都算新民乐,早年间的“女子十二乐坊”,抑或“远去的中国”系列 – 所以genre是否纯正or单一,不是问题吧。

作者BrunuhVille如是说:

“This is not Medieval Music”

Hence the word “Fantasy” in the tittle.
I don’t compose Traditional Medieval or Celtic music. It’s a mixture of Neo-Classical and New Age with a Medieval atmosphere and instruments.


mp3 version for my buddies who cannot route to somewhere out there.

完整阅读本篇»

对PayPal的“路转路”

2017-07-22 作者:

首先PayPal是什么?

支付宝早年的抄袭对象,没记错的话,当年在中国叫“贝宝”;随着ebay(易趣)败给马爹,算是消失在国人视野。2015年夏,PayPal脱离ebay独立上市,市值500+亿,本博文编写之日,市值709亿。

比较一下的话,随便找篇文章,说是“今年(17年)5月份,蚂蚁金服号称市值750亿,支付宝大概占500亿”。

然后,“粉转黑”好理解,“路转路”是什么意思?

这就得提到俺的海淘经历。

PayPal算是主流支付平台吧,以前挂的是一张带VISA通道的工行双币学生卡,因为不能调额,觉得还蛮安全。

近日该卡到期,电话得知卡面没了,银行不再续发,只得作罢。

于是申了一张招行全币(听说其实只有美金),终生免年费,唯一Master通道,木有银联通道也是挺装的。但好在花美金,用人民币还款,不收1.5%币种转换费。

收到卡后第一时间挂上PayPal付一单试试 ~ 刚好赶上Flask大神Miguel Grinberg众筹写新教程,得嘞,咱看了人家书没给钱,后来又看了Flask at scale视频,出25 USD表示一下支持还是可以滴!

当然中间有个小插曲,kickstarter网站只支持直接填信用卡信息,不能PayPal – 这个风险还是太大,毕竟2014年这货被hack过,据说丢了用户信息,没丢信用卡信息 – 你敢信我不敢信。果断给作者blog写评论,简单粗暴的老美要钱从不手软,给了PayPal账户。

这个故事就算开始了。

付25 USD,收到PayPal收据。

实际PayPal先转了CNY,收走了177.14人民币,完全没留意。

让我们看一下汇率。

招行怎么入的帐?先是177.14 CNY,转换26.15 USD。

好吧至少还款前招行没坑我,那1.15 USD算被PayPal坑走了,至此才发现不对,但问题出在哪儿呢?

另外一笔15 USD入账变成15.74 USD也是类似的状况。

囧了,美元消费,美元入账,怎么两笔都多收了呢?幸亏订单不贵,否则不是亏惨了?

先打招行信用卡中心。

完整阅读本篇»

垃圾邮件的“进步” | Advance of Spam Mail

2017-07-07 作者:

#A seems-quite-tech-oriented spam mail, as precise strike, from fake addr geofferygreener@gmail.com, but really sent by geoffreygreener946@gmail.com.

收到这么一封邮件,大概瞟了一眼,随手删了

然后不依不饶又给我回了一封,引起了我兴趣

我心说“可以啊,够用心啊”,BOA高管这么瞧得起小弟。。。

不仅告诉我是Linkedin找到我,还是精准打击,不是脚本群发呀

更为关键的一点,这个email地址可信度很高,域名是原装gmail,名字后没有杂七杂八。

如果不是benefit both families而是both business的话,没准哥就着了道呢?

好吧,看看详情 – 

完整阅读本篇»

Python Thread Pool传参只一个怎么破?

2017-06-09 作者:

作为批量化操作的method,map比apply要方便简洁一些,至少不用for循环一堆东西
【注1】apply现已不用,因为实际使用基本等价于单进程操作
【注2】至于map之于map_async,及apply之于apply_async,是另外一个话题,可以参考这里
回到之前的话题,apply传参 – 可以清晰的看到,apply可以随意带args,多少个都没关系


而map传参 – 函数f只允许带一个参数,就是iterable里可以迭代的list


那么我们如何保留map这样的代码简洁性,同时也可以传多个参数呢?
这就用到了partial,把函数的定参放在partial内去传,变参依然iterable – 至少不需要把定参做成全局变量直接传给insert_and_process函数了
【注】对python2而言,partial只在2.7版本后支持 – 关于partial的说明在这里


有的同学可能要问 –
Q: 那如果两个(或多个)参数都是变参呢?
A: 开动一下脑筋吧 – 一起打进iterable里可好?
Q: 如果变参B与A不具备同样的iterable特性呢?
A: 擦的咧 – 那还map个毛啊。。。

完整阅读本篇»

CentOS 6.x安装新版RabbitMQ

2017-04-06 作者:

看了大半天的文章,尝试各种build(erlang,RabbitMQ),不是build不通,就是依赖不对,或者启动服务失败

完全用CentOS 6.x的默认吧,erlang是R14,RMQ版本是3.1.5,未免太老了

如何是好呢?

其实RabbitMQ官网提供了免依赖的erlang安装包,位于http://www.rabbitmq.com/releases/erlang/


我是用马云家的CentOS镜像yum update到最新做的

安装完成后
使用6.x最常用的service rabbitmq-server start即可启动服务

然后就可以使用userNew登入

http://公网IP:15672/

对MQ进行管理了

同时官网的hello world代码做简单更改,就可以在本地使用公网端MQ进行通信


打完收工

完整阅读本篇»