让程序崩溃后生成Core Dump

在Linux下,程序崩溃是很头疼的事情(其实Windows更是如此)。

我们可以生成core dump文件,并用gdb重现崩溃时的场景。

ulimit设置core dump开关和大小
ulimit -c unlimited
测试代码:
#include <stdio.h>

int main(int argc, char* argv[])
{
    char * p = NULL;

    *p = 123;

    return 0;[......]

继续阅读

Search Engines: Information Retrieval in Practice – 第4章

Topic:Processing Text...

本章主题:文本处理

1、本章的主题:文本变换(Text Transformation)和文本处理(Text Processing)

2、将单词(Words)转化为可建索引的词项(Terms)的形式。

3、最懒的方法是:什么都不处理,这样,所有词都可以且只能被精确匹配。这样,诸如大小写、词形变换等导致的单词,就无法被检索出来。

4、分词(Tokenization):将段落转化为Words的过程。

5、归一化(St[......]

继续阅读

Xapian压缩数据库

压缩数据库可以减小数据库体积,提高检索性能。
xapian-compact - Compact a database, or merge and compact several

Usage: xapian-compact [OPTIONS] SOURCE_DATABASE... DESTINATION_DATABASE

Options:
-b, --blocksize Set the blocksize in bytes (e.g. 4096) or K (e.g. 4K[......]

继续阅读

Search Engines: Information Retrieval in Practice – 第3章

本章介绍了关于搜索原信息获取的问题,数据源除了Web、Feed之外,还有邮件、文档等各种可能的内网资源。

1、web的采集系统称为web crawler。两个最大的挑战:
(1)Web规模巨大,消耗巨大带宽、存储、CPU资源
(2) 不可控情况,很多网页会阻止你采集(加访问权限),有的Form表单无法采集,会产生数百万的组合结果(这种情况下,最好放弃form表单的采集)。

2、web上的每一个资源通过URL(Uniform resource locator)表示。分为scheme[......]

继续阅读