转载 Lucene 的 Scoring 评分机制
Lucene 评分体系/机制(lucene scoring)是 Lucene 出名的一核心部分。它对用户来说隐藏了很多复杂的细节,致使用户可以简单地使用 lucene。但个人觉得:如果要根据自己的应用调节评分(或结构排序),十分有必须深入了解 lucene 的评分机制。Lucene scoring 组合使用了 信 息检索的向量空间模型 和 布尔模型 。首先来看下 lucene 的评分公
2010-03-28 22:20:00 1901
原创 Nutch的命令详解
Nutch采用了一种命令的方式进行工作,其命令可以是对局域网方式的单一命令也可以是对整个Web进行爬取的分步命令。主要的命令如下:1. CrawlCrawl是“org.apache.nutch.crawl.Crawl”的别称,它是一个完整的爬取和索引过程命令。使用方法:Shell代码$ bin/nutch crawl [-dir d] [-threads n] [-depth i] [-t
2010-03-28 12:40:00 1375
原创 使用Solr快速实现Django的全文搜索[转]
使用Solr快速实现Django的全文搜索。http://fzuslideblog.appspot.com/2010/03/25/django_solr_search.html原文地址Django本身并没有提供全文搜索的功能,而自己给Django添加全文搜索的功能选择也有很多,可以用Sphinx,Lucene,Xapian等等来做。这里我们选用基于Lucene的全文搜索服务器Solr来快
2010-03-27 13:22:00 5060
转载 solr中集成中文分词 mmseg4j
mmseg4j 第一个版本就可以方便地与 solr 集成,在 google code 上面有简单的说明,第一版的发布博客也有简单的使用说明:中文分词 mmseg4j。为了更清楚说明在 solr 中使用 mmseg4j 中文分词,还是写篇博客吧。目前有两个版本的 mmseg4j,1.7 版比较耗内存(一个词库目录就要 50M 左右),所以在默认jvm内存大小会抛出 OutOfMemor
2010-03-26 16:11:00 2447 1
原创 Lucene的多线程访问原则和同步,锁机制
本文介绍lucene多线程环境下的使用原则和commit.lock与write.lock实现的锁机制。设计之初就是服务于多线程环境,大多数情况下索引会被不至一个线程访问。索引时一个关键资源。在对这样的资源进行访问时,不可避免地会出现同步访问的问题。因此需要有很好的策略来处理这些并发访问,以保证资源的合理使用。对索引的非法访问可能导致索引数据异常,进而毁坏重要的数据,导致整个系统的失败。
2010-03-24 19:41:00 1982
转载 python 字符串使用总结
1.python 字符串通常有单引号(’…’)、双引号(”…”)、三引号(”"”…”"”)或(”’…”’)包围,三引 号包含的字符串可由多行组成,一般可表示大段的叙述性字符串。在使用时基本没有差别,但双引号和三引号(”"”…”"”)中可以包含单引号,三引号 (”’…”’)可以包含双引号,而不需要转义。 2.用(/)对特殊字符转义,如(/)、(’)、(”)。 3.常用字符串函数
2010-03-24 15:29:00 1018
转载 科研常用的几个搜索引擎
1,http://scholar.google.com/这个不多讲了.2,http://qns.cc/后起之秀,科研人员的良好助手,上此网站的90%是从事科研的学生与老师。 其词典搜索集成了目前市面上最好的在线英汉写作及科研词典,用此搜索引擎写作英文论文相当方便;其文献搜索集成了目前最优秀的数据库。 一键切换搜索,非常方便,不用开很多窗口而打断思路;其实用工具中的小游戏也是相当有趣,非
2010-03-23 14:53:00 1620
转载 Django QuerySet API 帮助文档
This document is for Djangos development version, which can be significantly different from previous releases. Get old docs here: 1.1, 1.0QuerySet API referenceThis document describes the det
2010-03-21 13:30:00 6625
原创 Django+python+BeautifulSoup组合的垂直搜索爬虫
使用python+BeautifulSoup完成爬虫抓取特定数据的工作,并使用Django搭建一个管理平台,用来协调抓取工作。因为自己很喜欢Django admin后台,所以这次用这个后台对抓取到的链接进行管理,使我的爬虫可以应对各种后期的需求。比如分时段抓取,定期的对已经抓取的地址重新抓取。数据库是用python自带的sqlite3,所以很方便。 这几天正好在做一个电影推荐系统,需要
2010-03-14 15:23:00 9870 8
转载 基于 Apache Mahout 构建社会化推荐引擎
Web 2.0 的一个核心思想就是“群体智慧”,即基于大众行为,为每个用户提供个性化的推荐。这使得如何让用户能更快速更准确的获得所需要的信息,成为了 Web 应用成败的关键。Apache Mahout 是 ASF(Apache Software Foundation)的一个较新的开源项目,提供机器学习领域的一些经典算法的高效实现。本文主要讲述如何基于 Apache Mahout 来构建社会化
2010-03-14 14:31:00 1280
转载 关于推荐引擎的5个问题
2009年一月,在阿姆斯特丹举行了一个名为Recked的活动,活动由Wakoopa和Strands主办,旨在讨论工程师们感兴趣的推荐系统。在活动介绍的内容中,提出了一些公司对于建造有效的推荐系统必须解决的几个问题。1.缺少数据或许推荐系统面临的最大问题,是需要大量的数 据,以便能形成有效的推荐。现在能给出最好的推荐的公司正是那些拥有大量数据的公司:google,amazon,Netflix
2010-03-14 14:11:00 1248
原创 中文分词技术比较:单字切分 vs 中文分词
全文信息检索系统中,创建倒排索引时应当使用什么分词方式一直是众说纷纭,毫无定论。 具我所知,已有某某 paper “研究指出”采用二元切分的方式构建索引是“最好的”;也看到过园子里的一位兄弟认为单字切分最准确(sorry,忘记具体出处);当然,将某个基于词典或者共现频率的中文分词组件包装一下加入自己的项目中也是非常流行的做法。 既然存在这么多的看法与做法,难免会让人生出一较高下或者明辨真伪的决
2010-03-14 13:52:00 5924 2
原创 推荐系统:Slope One 算法
Slope One 算法是由 Daniel Lemire 教授在 2005 年提出的一个 Item-Based 推荐算法。 Slope One 算法试图同时满足这样的的 5 个目标: 1. 易于实现和维护:普通工程师可以轻松解释所有的聚合数据,并且算法易于实现和测试。 2. 运行时可更新的:新增一个评分项,应该对预测结果即时产生影响。 3. 高效率的查询响应:快速的执行查询,可
2010-03-14 12:51:00 7831 4
转载 推荐系统:协同过滤 之 Item-based Collaborative Filtering
说起 Item-based collaborative filtering,还有一段有意思的争论,是关于它的起源的。 GroupLens 研究小组的 Sarwar 教授等人,于2001年5月在香港召开的第 10 届 WWW 大会上,发表了题为《Item-based Collaborative Filtering Recommendation Algorithms》 的 paper[1]。现在看来
2010-03-14 12:49:00 1971
转载 深入Django 缓存框架
动态网站的基本功能就在于, 没错, 它是动态的. 用户每次请求一个页面时, Web 服务器都要进行全面的计算 -- 从数据库查询到渲染业务逻辑 -- 直到生成最终展示的页面. 从服务器负载的角度来看,这远比仅仅从文件系统读取一个文件展示要占用的系统资源多得多.对绝大多数网站应用程序来说, 这点负载不是大问题.绝大部分网站应用不是 washingtonpost.com 或 slashdot.
2010-03-13 20:41:00 1741
翻译 python 的time模板翻译及说明
python 的内嵌time模板翻译及说明一、简介time模块提供各种操作时间的函数说明:一般有两种表示时间的方式:第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一的第二种以数组的形式表示即(struct_time),共有九个元素,分别表示,同一个时间戳的struct_time会因为时区不同而不同year (four digits, e.g. 1998
2010-03-10 12:19:00 1654
原创 python中datetime的比较方法使用
python中的datetime module是专门处理时间相关内容的模块,功能很强大,但是反而显得比较复杂。一下代码是用来求从mysql中取到的timestamp和当前时间比较,求时间差的方法import datetimelasttime=a.get_last_timestamp(sid=40)[-1]["last_time"] #取到timestampdelta = dat
2010-03-09 22:16:00 18687
转载 Python正则表达式的常用匹配用法
下面列出Python正则表达式的几种匹配用法:1.测试正则表达式是否匹配字符串的全部或部分regex=ur"" #正则表达式if re.search(regex, subject): do_something()else: do_anotherthing()2.测试正则表达式是否匹配整个字符串regex=ur"/Z" #正则表达式
2010-03-06 20:19:00 1215
原创 Django需要注意的10个要点
1,不要将项目名称包含在引用代码里 比如你创建了一个名为"project"的项目,包含一个名为"app"的应用,那么如下代码是不好的: Python代码 from project.app.models import Author 缺点在于:应用和项目变成了紧耦合,无法将应用轻易变得可重用。如果将来要换一个项目名称,那你可有得受了。
2010-03-06 15:15:00 3692 1
转载 在django中使用logging模块
logging是Python 2.3起自带的标准模块,可以用来从运行状态的程序中记录日志。logging模块的功能非常强大,可以非常灵活的向各种预定或者自定的目标输出日志。而利用标准的logging模块,Django程序就可以轻松实现运行环境下的日志输出,这对于开发以及部署环境下程序运行具体情况的监控和调试都是不可或缺的,所以我在这里总结一下自己的一些经验。Django程序使用logg
2010-03-06 12:43:00 9408
翻译 django的分页机制
Django 1.0 中分页机制和先前已经大不相同。它提供了一些类协助你把数据分页。 对应的文件为 django/core/paginator.py举例¶类Paginator,带两个构造参数,一个就是数据的集合,另一个表示每页放几个数据。>>> from django.core.paginator import Paginator>>> objects = [john
2010-03-05 14:38:00 2062
原创 在Django数据库中添加具有初始值的字段
需求:想在模型Critic中添加字段reply_count,并给予初始值0 方法:先在models.py中修改模型添加reply_count = models.IntegerField(回复数) 然后,我们运行命令manage.py sqlall books 来查看create table语句 语句的具体内容取决与你所使用的数据库, 大概是这个样子 CR
2010-03-04 13:27:00 2455
原创 Django笔记-Models总结
models例子如下,本文主要针对该例子来描述from django.db import models# Create your models here.class Publisher(models.Model): name = models.CharField(max_length = 30) address = models.CharField(max_length=50) city
2010-03-03 22:30:00 2124
转载 以Python Imaging Library 进行影像资料处理PIL
1 影像与图形资料的处理 讨论图形(影像) 本身的处理,而讨论的内容将会集中在Python Imaging Library (PIL) 这一套程式库上。PIL 是Python 下最有名的影像处理套件,由许多不同的模组所组成,并且提供了许多的处理功能,允许我们在简单的Python 程式里进行影像的处理。 使用像PIL 许样的程式库套件可以帮助我们把精力集中在影像处理
2010-03-02 20:22:00 4141
转载 总结Django中的用户权限模块
总结Django中的用户权限模块文章 User authentication in Djangohttp://www.djangoproject.com/documentation/authentication/该模块由用户(Users)权限(Permissions)组(Groups)消息(Messages)这些从字面上也都很好的理解,但是我对消息(Messages)还不是很理解……
2010-03-02 15:14:00 2326 1
原创 django 过滤器日期格式化
now显示当前日期, 根据给定的字符串决定输出格式.使用和 PHP 的 date() 函数一样的格式码 (http://php.net/date) 并做了一些扩展 date根据给定的格式(与 now 标签相同)格式化一个日期. 可用的格式字符串: 格式字符描述输出示例aa.m. 或
2010-03-01 19:38:00 4070 1
原创 Django 静态文件处理 三部曲
Django 在页面引用 静态文件由于在页面中要使用CSS,JS及图片文件这就用到了静态文件处理的问题 第一步在项目目录下的settings文件里加一项:STATIC_PATH=C:/Users/soul/djcodetest/media里面的值静态文件所在目录 第二步在项目目录下的urls文件里加二行:from myclass import setting
2010-03-01 14:24:00 2502
转载 Django 1.0 中文文档-----查询方法参考
查询API参考 这篇文档详细描述了QuerySet API,是以现有的模型资料和数据库查询知道为基础,所以你在这之前需要阅读和理解这些文档。在这篇参考中,我们用现有的weblog例子。 当QuerySets被求值 在内部,QuerySet被构造,过滤,裁切,分发,没有实际接触数据库直到被求值的时候。你可以通过下面方法对QuerySet 求值 跌送.
2010-03-01 11:54:00 1221