升级并小修正micolog相关文章功能
搞这个玩意的主要原因是我通常都是用live writer写文章到micolog上面,而live writer是配置的word press的2.2+接口,怎么也没搞明白文章的tag是怎么添加上去的。word press 2.3才开始提供的tag功能,看来不升级micolog的rpc处理是不行了。
而micolog中的相关文章与支持搜索引擎的meta keyword功能,就是根据tag来做的,没有这个东东真是痛苦,rpc那边又一时半会没时间搞,就先顺手在category上面搞个山寨的吧
修改model.py文件中Entry的relatepost函数为下面这个样子:
[code lang='python' style='vs']
@property
def relateposts(self, num = 10):
if self._relatepost:
return self._relatepost
else:
result = []
self._relatepost = []
find_from_tags = 0
if self.tags:
result = Entry.all().filter('tags IN', self.tags).order('-date').fetch(num)
find_from_tags = len(result)
if find_from_tags < num and self.categorie_keys:
result = result + Entry.all().filter('categorie_keys IN ', self.categories).order('-date').fetch(num - find_from_tags)
for entry in result:
if entry.post_id != self.post_id:
self._relatepost.append(entry)
return self._relatepost
[/code]
里面那个for循环来去掉文章自己的方式更山寨了,不过这个是因为google的限制搞的,如果配置上filter为post_id !=就会出现拒绝服务的情况,要求order必须使用post_id,这就是我标题“小修正”的原因了,如果没有这个小修正,micolog 0.5版将会导致相关文章都是post_id为较小的那几篇。
修改indel.yaml文件,增加如下内容
[code lang='yaml' style='vs']
- kind: Entry
properties:
- name: tags
- name: date
direction: desc
- kind: Entry
properties:
- name: categorie_keys
- name: date
direction: desc
[/code]
上传到服务器后,记得要等待dashboard中的索引状态为serving,要不然会报没有索引的错误
---------------------------------------------------------------
本站作品根据创作共同协议进行授权, 转载时请务必以超链接形式标明文章原始出处
原文地址:http://www.mirecle.com/2009/09/09/upgrade-and-features-a-small-amendment-to-article-micolog.html
---------------------------------------------------------------
您可能会喜欢: