﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-搜索引擎-文章分类-搜索引擎</title><link>http://www.cnitblog.com/damon/category/6300.html</link><description>Java, Web, Searching Engine
</description><language>zh-cn</language><lastBuildDate>Tue, 27 Sep 2011 14:15:07 GMT</lastBuildDate><pubDate>Tue, 27 Sep 2011 14:15:07 GMT</pubDate><ttl>60</ttl><item><title>OpenSource: AI</title><link>http://www.cnitblog.com/damon/articles/37701.html</link><dc:creator>专心练剑</dc:creator><author>专心练剑</author><pubDate>Fri, 14 Dec 2007 07:58:00 GMT</pubDate><guid>http://www.cnitblog.com/damon/articles/37701.html</guid><wfw:comment>http://www.cnitblog.com/damon/comments/37701.html</wfw:comment><comments>http://www.cnitblog.com/damon/articles/37701.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/damon/comments/commentRss/37701.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/damon/services/trackbacks/37701.html</trackback:ping><description><![CDATA[<h2><a href="http://sourceforge.net/projects/yale">RapidMiner (YALE) -- Java Data Mining</a></h2>
(aka YALE) data mining, machine learning, knowledge discovery, business intelligence in Java. 400+ operators: data mining incl. Weka,learning,preprocessing,validation,visualization. GUI,API,XML,analysis,knowledge discovery,databases,business intelligence
<br><br><br>
<h2><a href="http://sourceforge.net/projects/joone">Java Object Oriented Neural Engine</a></h2>
Joone is a neural net framework written in Java. It's composed by a core engine, a GUI editor and a distributed training environment and can be extended by writing new modules to implement new algorithms or architectures starting from base components
<br><br>
<h2><a href="http://sourceforge.net/projects/sesame">Sesame</a></h2>
Sesame is a Java framework for storing, querying and inferencing for RDF. It can be deployed as a web server or used as a Java library. Features include several query languages (SeRQL and SPARQL), inferencing support, and RAM, disk, or RDBMS storage.
<br><br>
<h2><a href="http://sourceforge.net/projects/jgap">JGAP</a></h2>
JGAP is a Genetic Algorithms and Genetic Programming package written in Java. It is designed to require minimum effort to use, but is also designed to be highly modular. JGAP features grid functionality and a lot of examples. Many unit tests included.
<br><br>
<h2><a href="http://sourceforge.net/projects/mandarax">Mandarax</a></h2>
Mandarax is a pure Java implementation of a rule engine. It supports mutiples types of facts and rules based on reflection, databases, EJB etc, supporting XML standards (RuleML 0.8). It provides a J2EE compliant inference engine using backward chaining.
<br><br>
<h2><a href="http://sourceforge.net/projects/owlapi">OWL API</a></h2>
A Java interface and implementation for the W3C Web Ontology Language (OWL), used to represent Semantic Web ontologies. The API is focused towards OWL Lite, OWL DL and OWL 1.1 and offers an interface to inference engines and validation functionality.
<br><br>
<h2><a href="http://sourceforge.net/projects/bnj">Bayesian Network tools in Java (BNJ)</a></h2>
Bayesian Network tools in Java (BNJ) is an open-source suite of software tools for research and development using graphical models of probability. It is published by the Kansas State University Laboratory for Knowledge Discovery in Databases (KDD). &nbsp;
<br><br>
<h2><a href="http://sourceforge.net/projects/j-a-g-a">JAGA - Java API for Genetic Algorithms</a></h2>
Java API for implementing any kind of Genetic Algorithm and Genetic Programming applications quickly and easily. Contains a wide range of ready-to-use GA and GP algorithms and operators to be plugged-in or extended. Includes Tutorials and Examples.
<br><br>
<h2><a href="http://sourceforge.net/projects/rebecca-aiml">RebeccaAIML, Enterprise AIML platform</a></h2>
RebeccaAIML is an enterprise cross platform open source AIML development platform. RebeccaAIML supports C++, Java,C#, and Python as well as many other programming languages and AIML development out of the box with Eclipse.
<br><br>
<h2><a href="http://sourceforge.net/projects/nn-utility">Neural Network Utility</a></h2>
nn-utility is a neural network library for C++ and Java. Its aim is to simplify the tedious programming of neural networks, while allowing programmers to have maximum flexibility in terms of defining functions and network topology.
<br><br>
<h2><a href="http://sourceforge.net/projects/algernon-j">Algernon-J</a></h2>
Algernon is a rule-based reasoning engine written in Java. It allows forward and backward chaining across Protege knowledge bases. In addition to traversing the KB, rules can call Java functions and LISP functions (from an embedded LISP interpreter)
<br>
<br>
<h2><a  href="http://sourceforge.net/projects/jason">jason</a></h2>
Jason is a fully-fledged interpreter for an extended version of AgentSpeak, a BDI agent-oriented logic programming language, and is implemented in Java. Using SACI or JADE, a multi-agent system can be distributed over a network effortlessly.
<br><br>
<h2><a  href="http://sourceforge.net/projects/nlpfarm">nlpFarm</a></h2>
The nlpFarm is a Natural Language Processing (NLP) resource where early research prototypes (Java) can evolve into robust and useful open source. Our farmstead collaborates under the OpenNLP initiative, in order to make NLP software publically available.
<br><br>
<h2><a  href="http://sourceforge.net/projects/robotrader">robotrader</a></h2>
Simulation platform for automated stock exchange trading. It delivers statistics to analyse performance on historic data and allows comparison between trading strategies, that can be coded in Java.
<br><br><br><br><br><br><br><br><br>  <img src ="http://www.cnitblog.com/damon/aggbug/37701.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/damon/" target="_blank">专心练剑</a> 2007-12-14 15:58 <a href="http://www.cnitblog.com/damon/articles/37701.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>分类算法概述</title><link>http://www.cnitblog.com/damon/articles/36263.html</link><dc:creator>专心练剑</dc:creator><author>专心练剑</author><pubDate>Wed, 14 Nov 2007 04:38:00 GMT</pubDate><guid>http://www.cnitblog.com/damon/articles/36263.html</guid><wfw:comment>http://www.cnitblog.com/damon/comments/36263.html</wfw:comment><comments>http://www.cnitblog.com/damon/articles/36263.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/damon/comments/commentRss/36263.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/damon/services/trackbacks/36263.html</trackback:ping><description><![CDATA[摘 要：分类是数据挖掘、机器学习和模式识别中一个重要的研究领域。通过对当前数据挖掘中具有代表性的优秀分类算法进行分析和比较，总结出了各种算法的特性，为使用者选择算法或研究者改进算法提供了依据。<br><br>1 概述<br><br>分类是一种重要的数据挖掘技术。分类的目的是根据数据集的特点构造一个分类函数或分类模型（也常常称作分类器），该模型能把未知类别的样本映射到给定类别中的某一个。分类和回归都可以用于预测。和回归方法不同的是，分类的输出是离散的类别值，而回归的输出是连续或有序值。本文只讨论分类。<br><br>构造模型的过程一般分为训练和测试两个阶段。在构造模型之前，要求将数据集随机地分为训练数据集和测试数据集。在训练阶段，使用训练数据集，通过分析由属性描述的数据库元组来构造模型，假定每个元组属于一个预定义的类，由一个称作类标号属性的属性来确定。训练数据集中的单个元组也称作训练样本，一个具体样本的形式可为：（u1,u2,&#8230;&#8230;un;c）；其中ui表示属性值，c表示类别。由于提供了每个训练样本的类标号，该阶段也称为有指导的学习，通常，模型用分类规则、判定树或数学公式的形式提供。在测试阶段，使用测试数据集来评估模型的分类准确率，如果认为模型的准确率可以接受，就可以用该模型对其它数据元组进行分类。一般来说，测试阶段的代价远远低于训练阶段。<br><br>为了提高分类的准确性、有效性和可伸缩性，在进行分类之前，通常要对数据进行预处理，包括：<br><br>(1) 数据清理。其目的是消除或减少数据噪声，处理空缺值。<br><br>(2) 相关性分析。由于数据集中的许多属性可能与分类任务不相关，若包含这些属性将减慢和可能误导学习过程。相关性分析的目的就是删除这些不相关或冗余的属性。<br><br>(3) 数据变换。数据可以概化到较高层概念。比如，连续值属性&#8220;收入&#8221;的数值可以概化为离散值：低，中，高。又比如，标称值属性&#8220;市&#8221;可概化到高层概念&#8220;省&#8221;。此外,数据也可以规范化,规范化将给定属性的值按比例缩放,落入较小的区间,比如[0,1]等。<br><br>2 分类算法的种类及特性<br><br>分类模型的构造方法有决策树、统计方法、机器学习方法、神经网络方法等。按大的方向分类主要有：决策树，关联规则，贝叶斯，神经网络，规则学习，k－临近法，遗传算法，粗糙集以及模糊逻辑技术。<br><br><br><br>2.1 决策树（decision tree）分类算法<br><br>决策树是以实例为基础的归纳学习算法。它从一组无次序、无规则的元组中推理出决策树表示形式的分类规则。它采用自顶向下的递归方式，在决策树的内部结点进行属性值的比较，并根据不同的属性值从该结点向下分支，叶结点是要学习划分的类。从根到叶结点的一条路径就对应着一条合取规则，整个决策树就对应着一组析取表达式规则。1986年<br><br>Quinlan提出了著名的ID3算法。在ID3算法的基础上，1993年Quinlan又提出了C4.5算法。为了适应处理大规模数据集的需要，后来又提出了若干改进的算法，其中SLIQ (super-vised learning in quest)和SPRINT (scalable parallelizableinduction of decision trees)是比较有代表性的两个算法。<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (1) ID3算法<br><br>ID3算法的核心是：在决策树各级结点上选择属性时，用信息增益（information gain）作为属性的选择标准，以使得在每一个非叶结点进行测试时，能获得关于被测试记录最大的类别信息。其具体方法是：检测所有的属性，选择信息增益最大的属性产生决策树结点，由该属性的不同取值建立分支，再对各分支的子集递归调用该方法建立决策树结点的分支，直到所有子集仅包含同一类别的数据为止。最后得到一棵决策树，它可以用来对新的样本进行分类。<br><br>某属性的信息增益按下列方法计算。通过计算每个属性的信息增益，并比较它们的大小，就不难获得具有最大信息增益的属性。<br><br>设S是s个数据样本的集合。假定类标号属性具有m个不同值，定义m个不同类Ci(i=1,&#8230;,m)。设si是类Ci中的样本数。对一个给定的样本分类所需的期望信息由下式给出：<br><br>其中pi=si/s是任意样本属于Ci的概率。注意，对数函数以2为底，其原因是信息用二进制编码。<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设属性A具有v个不同值{a1,a2,&#8230;&#8230;,av}。可以用属性A将S划分为v个子集{S1,S2,&#8230;&#8230;,Sv}，其中Sj中的样本在属性A上具有相同的值aj（j=1,2,&#8230;&#8230;,v）。设sij是子集Sj中类Ci的样本数。由A划分成子集的熵或信息期望由下式给出：<br><br>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br><br>熵值越小，子集划分的纯度越高。对于给定的子集Sj，其信息期望为<br><br>其中pij=sij/sj 是Sj中样本属于Ci的概率。在属性A上分枝将获得的信息增益是<br><br>Gain(A)= I(s1, s2, &#8230;,sm)-E(A)<br><br>ID3算法的优点是：算法的理论清晰，方法简单，学习能力较强。其缺点是：只对比较小的数据集有效，且对噪声比较敏感，当训练数据集加大时，决策树可能会随之改变。<br><br>(2) C4.5算法<br><br>C4.5算法继承了ID3算法的优点，并在以下几方面对ID3算法进行了改进：<br><br>1) 用信息增益率来选择属性，克服了用信息增益选择属性时偏向选择取值多的属性的不足；<br><br>2) 在树构造过程中进行剪枝；<br><br>3) 能够完成对连续属性的离散化处理；<br><br>4) 能够对不完整数据进行处理。<br><br>C4.5算法与其它分类算法如统计方法、神经网络等比较起来有如下优点：产生的分类规则易于理解，准确率较高。其缺点是：在构造树的过程中，需要对数据集进行多次的顺序扫描和排序，因而导致算法的低效。此外，C4.5只适合于能够驻留于内存的数据集，当训练集大得无法在内存容纳时程序无法运行。<br><br>(3) SLIQ算法<br><br>SLIQ算法对C4.5决策树分类算法的实现方法进行了改进，在决策树的构造过程中采用了&#8220;预排序&#8221;和&#8220;广度优先策略&#8221;两种技术。<br><br>1) 预排序。对于连续属性在每个内部结点寻找其最优分裂标准时，都需要对训练集按照该属性的取值进行排序，而排序是很浪费时间的操作。为此，SLIQ算法采用了预排序技术。所谓预排序，就是针对每个属性的取值，把所有的记录按照从小到大的顺序进行排序，以消除在决策树的每个结点对数据集进行的排序。具体实现时，需要为训练数据集的每个属性创建一个属性列表，为类别属性创建一个类别列表。<br><br>2) 广度优先策略。在C4.5算法中，树的构造是按照深度优先策略完成的，需要对每个属性列表在每个结点处都进行一遍扫描，费时很多，为此，SLIQ采用广度优先策略构造决策树，即在决策树的每一层只需对每个属性列表扫描一次，就可以为当前决策树中每个叶子结点找到最优分裂标准。<br><br>SLIQ算法由于采用了上述两种技术，使得该算法能够处理比C4.5大得多的训练集，在一定范围内具有良好的随记录个数和属性个数增长的可伸缩性。<br><br>然而它仍然存在如下缺点：<br><br>1)由于需要将类别列表存放于内存,而类别列表的元组数与训练集的元组数是相同的,这就一定程度上限制了可以处理的数据集的大小。<br><br>2) 由于采用了预排序技术，而排序算法的复杂度本身并不是与记录个数成线性关系，因此，使得SLIQ算法不可能达到随记录数目增长的线性可伸缩性。<br><br>(4) SPRINT算法<br><br>为了减少驻留于内存的数据量，SPRINT算法进一步改进了决策树算法的数据结构，去掉了在SLIQ中需要驻留于内存的类别列表，将它的类别列合并到每个属性列表中。这样，在遍历每个属性列表寻找当前结点的最优分裂标准时，不必参照其他信息，将对结点的分裂表现在对属性列表的分裂，即将每个属性列表分成两个，分别存放属于各个结点的记录。<br><br>SPRINT算法的优点是在寻找每个结点的最优分裂标准时变得更简单。其缺点是对非分裂属性的属性列表进行分裂变得很困难。解决的办法是对分裂属性进行分裂时用哈希表记录下每个记录属于哪个孩子结点，若内存能够容纳下整个哈希表，其他属性列表的分裂只需参照该哈希表即可。由于哈希表的大小与训练集的大小成正比，当训练集很大时，哈希表可能无法在内存容纳，此时分裂只能分批执行，这使得SPRINT算法的可伸缩性仍然不是很好。<br><br><br>贝叶斯分类是统计学分类方法，它是一类利用概率统计知识进行分类的算法。在许多场合，朴素贝叶斯(Na?ve Bayes，NB)分类算法可以与决策树和神经网络分类算法相媲美，该算法能运用到大型数据库中，且方法简单、分类准确率高、速度快。由于贝叶斯定理假设一个属性值对给定类的影响独立于其它属性的值，而此假设在实际情况中经常是不成立的，因此其分类准确率可能会下降。为此，就出现了许多降低独立性假设的贝叶斯分类算法，如TAN(tree augmented Bayes network)算法。<br><br>(1) 朴素贝叶斯算法<br><br>设每个数据样本用一个n维特征向量来描述n个属性的值，即：X={x1，x2，&#8230;，xn}，假定有m个类，分别用C1, C2,&#8230;，Cm表示。给定一个未知的数据样本X（即没有类标号），若朴素贝叶斯分类法将未知的样本X分配给类Ci，则一定是<br><br>P(Ci|X)&gt;P(Cj|X) 1&#8804;j&#8804;m，j&#8800;i<br><br>根据贝叶斯定理<br><br>由于P(X)对于所有类为常数，最大化后验概率P(Ci|X)可转化为最大化先验概率P(X|Ci)P(Ci)。如果训练数据集有许多属性和元组，计算P(X|Ci)的开销可能非常大，为此，通常假设各属性的取值互相独立，这样<br><br>先验概率P(x1|Ci)，P(x2|Ci)，&#8230;，P(xn|Ci)可以从训练数据集求得。<br><br>根据此方法，对一个未知类别的样本X，可以先分别计算出X属于每一个类别Ci的概率P(X|Ci)P(Ci)，然后选择其中概率最大的类别作为其类别。<br><br>朴素贝叶斯算法成立的前提是各属性之间互相独立。当数据集满足这种独立性假设时,分类的准确度较高，否则可能较低。另外，该算法没有分类规则输出。<br><br>(2) TAN算法<br><br>TAN算法通过发现属性对之间的依赖关系来降低NB中任意属性之间独立的假设。它是在NB网络结构的基础上增加属性对之间的关联(边)来实现的。<br><br>实现方法是：用结点表示属性，用有向边表示属性之间的依赖关系，把类别属性作为根结点，其余所有属性都作为它的子节点。通常，用虚线代表NB所需的边，用实线代表新增的边。属性Ai与Aj之间的边意味着属性Ai对类别变量C的影响还取决于属性Aj的取值。<br><br>这些增加的边需满足下列条件：类别变量没有双亲结点，每个属性有一个类别变量双亲结点和最多另外一个属性作为其双亲结点。<br><br>找到这组关联边之后，就可以计算一组随机变量的联合概率分布如下：<br><br>其中&#928;Ai代表的是Ai的双亲结点。由于在TAN算法中考虑了n个属性中(n-1)个两两属性之间的关联性，该算法对属性之间独立性的假设有了一定程度的降低，但是属性之间可能存<br><br>在更多其它的关联性仍没有考虑，因此其适用范围仍然受到限制。<br><br>2.3 基于关联规则的分类算法<br><br>关联规则挖掘是数据挖掘研究的一个重要的、高度活跃的领域。近年来，数据挖掘技术己将关联规则挖掘用于分类问题，取得了很好的效果。<br><br>ARCS(Association Rule Clustering System)基于聚类挖掘关联规则，然后使用规则进行分类。将关联规则画在2-D栅格上，算法扫描栅格，搜索规则的矩形聚类。实践发现，当数据中存在孤立点时，ARCS比C4.5稍微精确一点。ARCS的准确性与离散化程度有关。从可伸缩性来说，不论数据库多大，ARCS需要的存储容量为常数。<br><br>CBA(classification based on association)是基于关联规则发现方法的分类算法。该算法分两个步骤构造分类器。第一步：发现所有形如xi1∧x =&gt; Ci 的关联规则，即右部为类别属性值的类别关联规则(classification association rules，CAR)。第二步：从已发现的CAR中选择高优先度的规则来覆盖训练集，也就是说，如果有多条关联规则的左部相同，而右部为不同的类，则选择具有最高置信度的规则作为可能规则。文献[4]对该过程进行了较深入的研究，使得算法在此步骤不需要对训练数据集进行过多的扫描。<br><br>CBA算法的优点是其分类准确度较高，在许多数据集上比C4.5更精确。此外，上述两步都具有线性可伸缩性。<br><br>CBA(Classification Based on Association)是关联分类。此算法把分类规则挖掘和关联规则挖掘整合到一起。与CART和C4.5只产生部分规则不同的是,CBA产生所有的类关联规则CARs(Class Association Rules)，然后选择最好的规则去覆盖训练集。另外，在此算法的框架中，数据库可以驻留在磁盘中<br><br>CAEP使用项集支持度挖掘HV露模式(Emerging Pattern), 而EP用于构造分类。CAEP找出满足给定支持度和增长率阈值的EP。己经发现，在许多数据集上，CAEP比C4.5和基于关联的分类更精确。一种替代的、基于跳跃的HV露模式JEP(Jnmping Emerging Pattern)是一种特殊类型的EP，项集的支持度由在一个数据集中的0陡峭地增长到另一个数据集中的非0。在一此大的多维数据库中，JEP性能优于CAEP, 但在一些小型数据库中，CAEP比JEP优，这二种分类法被认为是互补的。<br><br>ADT(Association Decision Trec)分二步实现以精确度驱动为基础的过度适合规则的剪枝。第一步，运用置信度规则建立分类器。主要是采用某种置信度的单调性建立基于置信度的剪枝策略。第二步，为实现精确性，用关联规则建立一种平衡于DT(Dccision Tree)归纳的精确度驱动剪枝。这样的结果就是ADT(Association Based Decision Trec)。它联合了大量的关联规则和DT归纳精确性驱动剪枝技术。<br><br>基于多维关联规则的分类算法CMAR(Classification Based on Multiple Class-Association Rules)是利用FP-Growth算法挖掘关联规则，建立类关联分布树FP－树。采用CR－树(Classification Rulc Trcc)结构有效地存储关联规则。基于置信度、相关性和数据库覆盖来剪枝。分类的具体执行采用加权厂来分析。与CBA和C 4.5相比，CMAR性能优异且伸缩性较好。但CMAR优先生成的是长规则，对数据库的覆盖效果较差;利用加权x2统计量进行分类，会造成x2统计量的失真，致使分类值的准确程度降低。CPAR(Classification Based on Predictive Association Rules)整合了关联规则分类和传统的基于规则分类的优点。为避免过度适合，在规则生成时采用贪心算法，这比产生所有候选项集的效率高;采用一种动态方法避免在规则生成时的重复计算;采用顶期精确性评价规则，并在预测时应用最优的规则，避免产生冗余的规则。另外，MSR(Minimnm Set Rule)针对基于关联规则分类算法中产生的关联规则集可能太大的问题，在分类中运用最小关联规则集。在此算法中，CARS并不是通过置信度首先排序，因为高置信度规则对噪声是很敏感的。采用早期剪枝力方法可减少关联规则的数量，并保证在最小集中没有不相关的规则。实验证实，MSR比C45和CBA的错误率要低得多。<br><br><br>虽然数据挖掘的创始人主要是数据库领域的研究人员，然而提出的大多数算法则没有利用数据库的相关技术。在分类算法中，致力于解决此问题的算法有MIND （mining in database）和GAC-RDB（grouping and counting-relational database）。<br>(1) MIND算法<br>MIND 算法是采用数据库中用户定义的函数(user-defined function，UDF)实现发现分类规则的算法。MIND采用典型的决策树构造方法构建分类器。具体步骤与SLIQ类似。其主要区别在于它采用数据库提供的UDF方法和SQL语句实现树的构造。简而言之，就是在树的每一层，为每一个属性建立一个维表，存放各属性的每个取值属于各个类别的个数以及所属的结点编号。根据这些信息可以为当前结点计算每种分裂标准的值，选出最优的分裂标准，然后据此对结点进行分裂，修改维表中结点编号列的值。在上述过程中，对维表的创建和修改需要进行多次，若用SQL实现，耗时很多，因此用UDF实现。而分类标准的寻找过程则通过创建若干表和视图，利用连接查询实现。<br>该算法的优点是通过采用UDF实现决策树的构造过程使得分类算法易于与数据库系统集成。其缺点是算法用UDF完成主要的计算任务，而UDF一般是由用户利用高级语言实现的，无法使用数据库系统提供的查询处理机制，无法利用查询优化方法，且UDF的编写和维护相当复杂。此外，MIND中用SQL语句实现的那部分功能本身就是比较简单的操作，而采用SQL实现的方法却显得相当复杂。<br>(2) GAC-RDB算法<br>GAC -RDB算法是一种利用SQL语句实现的分类算法。该算法采用一种基于分组计数的方法统计训练数据集中各个属性取值组合的类别分布信息，通过最小置信度和最小支持度两个阈值找出有意义的分类规则。在该算法中，首先利用SQL语句计算每个属性进行类别判定的信息量，从而选择一个最优的分裂属性，并且按照信息量的大小对属性进行排序，随后重复地进行属性的选择、候选分类表的生成、剪裁以及分类误差的计算，直到满足结束条件为止，比如，直到小于误差阈值和误差没有改变为止。<br>该算法的优点是具有与现有的其他分类器相同的分类准确度，执行速度有较大提高，而且具有良好的伸缩性，应用程序易于与数据库系统集成。其缺点是参数的取值需用户完成等。 <br><br><img src ="http://www.cnitblog.com/damon/aggbug/36263.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/damon/" target="_blank">专心练剑</a> 2007-11-14 12:38 <a href="http://www.cnitblog.com/damon/articles/36263.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Lucene学习笔记二：Searcher基本class</title><link>http://www.cnitblog.com/damon/articles/35673.html</link><dc:creator>专心练剑</dc:creator><author>专心练剑</author><pubDate>Wed, 31 Oct 2007 12:06:00 GMT</pubDate><guid>http://www.cnitblog.com/damon/articles/35673.html</guid><wfw:comment>http://www.cnitblog.com/damon/comments/35673.html</wfw:comment><comments>http://www.cnitblog.com/damon/articles/35673.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/damon/comments/commentRss/35673.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/damon/services/trackbacks/35673.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1. IndexSearcher&nbsp; IndexSearcher is to searching what IndexWriter is to indexing. You can <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; think of IndexSearcher as a class that opens an index in a read-only mode.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2. Term&nbsp; A Term consists of a pair of string elements: the name of the field and the value <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; of that field.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3. Query Lucene comes with a number of concrete Query subclasses. Query is the common, <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; abstract parent class. It contains several utility methods, the most interesting of which is <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; setBoost(float), described in section 3.5.9.<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BooleanQuery, BoostingQuery, ConstantScoreQuery, ConstantScoreRangeQuery, <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CustomScoreQuery, DisjunctionMaxQuery, FilteredQuery, FuzzyLikeThisQuery, <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MatchAllDocsQuery, MoreLikeThisQuery, MultiPhraseQuery, MultiTermQuery, PhraseQuery, <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PrefixQuery, RangeQuery, SpanQuery, TermQuery, ValueSourceQuery, FuzzyQuery, <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RegexQuery, WildcardQuery<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4. TermQuery It&#8217;s used for matching documents that contain fields with specific values,<br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5. Hits The Hits class is a simple container of pointers to ranked search results—documents<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; that match a given query. For performance reasons, Hits instances don&#8217;t load from the index <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; all documents that match a query, but only a small portion of them at a time.<br><img src ="http://www.cnitblog.com/damon/aggbug/35673.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/damon/" target="_blank">专心练剑</a> 2007-10-31 20:06 <a href="http://www.cnitblog.com/damon/articles/35673.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Lucene学习笔记一：Indexer基本class</title><link>http://www.cnitblog.com/damon/articles/35672.html</link><dc:creator>专心练剑</dc:creator><author>专心练剑</author><pubDate>Wed, 31 Oct 2007 12:05:00 GMT</pubDate><guid>http://www.cnitblog.com/damon/articles/35672.html</guid><wfw:comment>http://www.cnitblog.com/damon/comments/35672.html</wfw:comment><comments>http://www.cnitblog.com/damon/articles/35672.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/damon/comments/commentRss/35672.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/damon/services/trackbacks/35672.html</trackback:ping><description><![CDATA[<br>&nbsp;&nbsp; 1. IndexWriter<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IndexWriter is the central component of the indexing process. This class creates<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a new index and adds documents to an existing index. You can think of Index-Writer<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as an object that gives you write access to the index but doesn&#8217;t let you read<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; or search it.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; variables:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Directory directory -&nbsp; where the index directory<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Analyzer analyzer&nbsp; -&nbsp; how to analyze text<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; methods:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; addDocument(Document, Analyzer )&nbsp;&nbsp;&nbsp; &nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; addIndexes(Directory[] dirs)&nbsp;&nbsp;&nbsp;&nbsp; merge another index<br>
<br>
&nbsp;&nbsp;&nbsp; 2. Directory<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The Directory class represents the location of a Lucene index. an abstract class<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; that allows its subclasses (two of which are included in Lucene) to store the index<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as they see fit.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Lucene has 5 concrete implementation of this abstract class.<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CompoundFileReader - for accessing a compound stream.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DbDirectory - a Berkeley DB 4.3 based implementation<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FSDirectory - Straightforward implementation of Directory as a directory of files<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JEDirectory - Port of Andi Vajda's DbDirectory to to Java Edition of Berkeley Database<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RAMDirectory - A memory-resident Directory implementation.<br>
<br>
&nbsp;&nbsp;&nbsp; 3. Analyzer<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The abstract class Analyzer is in charge of extracting tokens out of text to be indexed<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and eliminating the rest. Analyzers are an important part of Lucene and can be used for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; much more than simple input filtering.Lucene comes with several implementations of it.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BrazilianAnalyzer - br<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ChineseAnalyzer&nbsp;&nbsp; - cn<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CJKAnalyzer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - cjk<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CzechAnalyzer&nbsp;&nbsp;&nbsp;&nbsp; - cz<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DutchAnalyzer&nbsp;&nbsp;&nbsp;&nbsp; - nl<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FrenchAnalyzer&nbsp;&nbsp;&nbsp; - fr<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GermanAnalyzer&nbsp;&nbsp;&nbsp; - de<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GreekAnalyzer&nbsp;&nbsp;&nbsp;&nbsp; - el<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RussianAnalyzer&nbsp;&nbsp; - ru<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ThaiAnalyzer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - th<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; KeywordAnalyzer&nbsp;&nbsp; - "Tokenizes" the entire stream as a single token.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PatternAnalyzer&nbsp;&nbsp; -<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PerFieldAnalyzerWrapper - used to facilitate scenarios where different fields require<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; different analysis techniques.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SimpleAnalyzer&nbsp;&nbsp;&nbsp; - filters LetterTokenizer with LowerCaseFilter.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SnowballAnalyzer&nbsp; - Filters StandardTokenizer with StandardFilter-&gt;LowerCaseFilter<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&gt;StopFilter-&gt;SnowballFilter<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StandardAnalyzer&nbsp; - using a list of English stop words<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StopAnalyzer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Filters LetterTokenizer with LowerCaseFilter and StopFilter<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WhitespaceAnalyzer - An Analyzer that uses WhitespaceTokenizer<br>
<br>
&nbsp;&nbsp;&nbsp; 4. Document<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Documents are the unit of indexing and search. It represents a collection of fields.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Fields of a document represent the document or meta-data associated with that document.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The meta-data such as author, title, subject, date modified, and so on, are indexed<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and stored separately as fields of a document.<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Variables:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List fields;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; float boost;<br>
<br>
&nbsp;&nbsp;&nbsp; 5. Field<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Each field corresponds to a piece of data that is either queried against or retrieved<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from the index during search.<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Lucene offers four different types of fields:<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Keyword&nbsp; —&nbsp; Isn&#8217;t analyzed, but is indexed and stored in the index verbatim. This type<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; is suitable for fields whose original value should be preserved in its entirety, such<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; as URLs, file system paths, dates, personal names, Social Security numbers, telephone<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; numbers, and so on.<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UnIndexed&nbsp; —&nbsp; Is neither analyzed nor indexed, but its value is stored in the index as<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; is. This type is suitable for fields that you need to display with search results, but<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; whose values you&#8217;ll never search directly.<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UnStored — The opposite of UnIndexed. This field type is analyzed and indexed but isn&#8217;t<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stored in the index. It&#8217;s suitable for indexing a large amount of text that doesn&#8217;t<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; need to be retrieved in its original form, such as bodies of web pages, or any other type<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; of text document.<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Text&nbsp; —&nbsp; Is analyzed, and is indexed. This implies that fields of this type can be<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; searched against, but be cautious about the field size. If the data indexed is a String,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; it&#8217;s also stored; but if the data (as in our Indexer example) is from a Reader, it isn&#8217;t<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stored<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Finally, UnStored and Text fields can be used to create term vectors (an advanced topic, <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; covered in section 5.7).<img src ="http://www.cnitblog.com/damon/aggbug/35672.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/damon/" target="_blank">专心练剑</a> 2007-10-31 20:05 <a href="http://www.cnitblog.com/damon/articles/35672.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>垂直搜索的经济帐：开发一个垂直搜索需要多少钱？[转] </title><link>http://www.cnitblog.com/damon/articles/34636.html</link><dc:creator>专心练剑</dc:creator><author>专心练剑</author><pubDate>Wed, 10 Oct 2007 06:11:00 GMT</pubDate><guid>http://www.cnitblog.com/damon/articles/34636.html</guid><wfw:comment>http://www.cnitblog.com/damon/comments/34636.html</wfw:comment><comments>http://www.cnitblog.com/damon/articles/34636.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/damon/comments/commentRss/34636.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/damon/services/trackbacks/34636.html</trackback:ping><description><![CDATA[<p>A.关于路</p>
<p>a.1专门从事技术，以技术和方案出售为主。</p>
<p>客户：有内容数据库的单位，想实现情报检索或内部检索。一定程度上说，这叫企业搜索。</p>
<p>矛盾1：政府单位，企业，国营单位容易购买。商业企业不容易购买。</p>
<p>矛
盾2：技术需要验证，并不是自己说了算。google,baidu当初也只能拿检索的数据结果来出售，并不能出售技术本身。因为买来技术要运转，费用会远
远高于购入技术的成本。比如我们化100W买一个ERP系统，公司可能需要投入1000W的人力，物力，时间来运行它。</p>
<p>a.2运营一个垂直搜索</p>
<p>客户：开发式web查询客户，或专业数据库查询用户</p>
<p>矛盾：收费很难，现金流不容易出现。访问量无法拿上去。青黄不接的周期长，资金链崩溃。</p>
<p>b.3弄个模型，学习和技术积累</p>
<p>目的：只求学习，但有玉米可以测试</p>
<p>B.费用</p>
<p>a.1专门从事技术，以技术和方案出售为主：</p>
<p>假设聘请10个工程师，每月薪水7000元，其它开销3000元。人力开销120W/年。按三年技术成熟，约总计400W。</p>
<p>算第三年开始出售自己的技术。必须销售50W/套的系统或方案12套。方可在第三年持平。出现盈利。如果系统价值低于50W，从数量上来看无法盈利。因为数量增长很困难。</p>
<p>a.2运营一个垂直搜索：</p>
<p>聘请5个工程师开发，周期三年，每月薪水6000元，其它开销1000元，人力开销42W/年。按三年技术成熟，约总计150W。</p>
<p>期
间：从第一年的后四个月，服务器，线下计算部分需要硬件投入。假设线上部分投入6台服务器，每台成本3W，则是20W元。如果只有两台占用带宽(web
server)，其它是检索或数据库，则平均算4000/台年，托管需要24000/年。线下部分如果用入门级服务器10台(性能相关部分)和40台pc
处理。共需要成本32W元。&nbsp;三年的总费用约40W.</p>
<p>考虑人工开销，总计200W。</p>
<p>作为一个运营的垂直搜索，主要的在于技术提供的同时，必须作推广。这个投入的金额是无法估计的。我们初步估计为300W，公司其它开销100W。</p>
<p>则粗略估计，需要运营一个垂直搜索，前三年需要资金600W元。但并不像作硬件买卖。这个是纯粹的开发投入，很可能就是无法收回的。</p>
<p>而对垂直搜索的运营获利，我们不想去估计，因为前三年靠广告或反佣取得的一些利益，平时就花掉了。</p>
<p>b.3弄个模型，学习和技术积累：</p>
<p>服务器件一台3w,托管三年共18000元，线下10台pc,2W元，电费三年4000元。宽带费用5000元。技术开发反正是搞着玩，不花钱。</p>
<p>共计：77000元。</p>
<p>C.启动资金是多少</p>
<p>很多人关心这个，如果是web2.0的社区，我们讲，倒是不在技术而在社区居民的热情释放。</p>
<p>搜
索依赖的带宽，服务器价格，存储介质，存储容量在今天的技术条件下是不成问题了，但我想google当年的第一张支票的金额仍然是需要的。那就是100W
人民币。而且，参与开发的人除了吃饭，不要考虑拿一分钱。而且个个还得是天才，否则没有人伸出援手，当然更不能靠购买技术了(笑一下)。</p>
<p>yuetiantian估算，如果能提供玉米的模型网站供人访问，需要10W元。差不多。不过我的模型只花15000元，怎么组成呢。暂时保密。</p>
<p>D.结论。</p>
<p>很多还在做梦的人，早一点醒悟，早早的放弃这个想法。当然，你如果依靠技术给别人开发，那是不受到这个文章评估的影响的。但如果把问题想得简单的话，只能算无知的行为。</p><img src ="http://www.cnitblog.com/damon/aggbug/34636.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/damon/" target="_blank">专心练剑</a> 2007-10-10 14:11 <a href="http://www.cnitblog.com/damon/articles/34636.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>中文垂直搜索引擎、行业搜索引擎大全(最新计137家) (转贴) </title><link>http://www.cnitblog.com/damon/articles/34631.html</link><dc:creator>专心练剑</dc:creator><author>专心练剑</author><pubDate>Wed, 10 Oct 2007 05:06:00 GMT</pubDate><guid>http://www.cnitblog.com/damon/articles/34631.html</guid><wfw:comment>http://www.cnitblog.com/damon/comments/34631.html</wfw:comment><comments>http://www.cnitblog.com/damon/articles/34631.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/damon/comments/commentRss/34631.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/damon/services/trackbacks/34631.html</trackback:ping><description><![CDATA[<h2 style="font-weight: bold; text-decoration: underline;"><font><font size="2">原文作者不详。</font></font></h2>
<p><font size="2">排名不分先后，肯定还有很多新的搜索引擎未能搜集齐全，欢迎补充。 此处主要针对新涌现的行业搜索、垂直搜索引擎。<font color="#ff0000">累计137家</font>（不包括传统搜索及其分类搜索），这应该是目前最全面的整理结果。</font></p>
<p><font size="2">行业搜索：搜索对象针对所在的行业，采用类似传统通用搜索引擎的分词索引技术，返回关键词最匹配的结果。</font></p>
<p><font size="2">垂直搜索：搜索对象针对所在的行业，采用数据采集、数据挖掘、数据整理等技术，返回经过加工处理的结果。</font></p>
<p><strong><font color="#ff0000" size="2">一、综合搜索</font></strong></p>
<p><font size="2">酷讯</font><font color="#0066aa" size="2">www.kooxoo.com</font><font size="2"> ：招聘、房产、汽车、火车票、机票、餐饮、交友、购物、旅游</font></p>
<p><font size="2">奇虎</font><font color="#0066aa" size="2">www.qihoo.com</font><font size="2"> ：论坛、博客、新闻、招聘、房产、视频、音乐、图片、火车票、餐饮、经验？、折扣</font></p>
<p><font size="2">cgogo搜个够</font><font color="#0066aa" size="2">www.cgogo.com</font><font size="2"> ：社区、招聘、票务、住房、视频、本地（地图）、博客、无线</font></p>
<p><font size="2">我酷网 </font><font color="#0066aa" size="2">www.wooqoo.com</font><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （五花八门，该有都有）</font></p>
<p><font size="2">开拓搜索</font><font color="#0066aa" size="2">www.kaitoo.com</font><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （五花八门，该有都有）</font></p>
<p><font size="2">每步搜索 </font><font color="#0066aa" size="2">http://cnc.meibu.com/</font><font size="2"> （综合）</font></p>
<p><font size="2">八百搜</font><font color="#0066aa" size="2">www.800so.com</font><font size="2"> （五花八门，该有都有，站内搜索和站外搜索并列）</font></p>
<p><font size="2">酷爱 </font><font color="#0066aa" size="2">www.koooi.com</font><font size="2"> （网页 MP3 房产 餐饮 交友 搜人 资源）</font></p>
<p><font size="2">soso88&nbsp;&nbsp;&nbsp;</font><font color="#0066aa" size="2">www.soso88.net</font><font size="2"> （政府采购 人才职位 房源地产 建材装饰）</font></p>
<p><font color="#ff0000" size="2"><strong>二、求职招聘： （18）</strong></font></p>
<p><font size="2">职友集&nbsp;&nbsp;&nbsp;</font><font color="#0066aa" size="2">www.jobbui.com</font></p>
<p><font size="2">搜职网&nbsp;&nbsp;</font><font color="#0066aa" size="2">www.globehr.com</font></p>
<p><font size="2">南京搜职网&nbsp;&nbsp;</font><font color="#0066aa" size="2">www.sozhi.cn</font></p>
<p><font size="2">托托搜索 </font><font color="#0066aa" size="2">www.totojob.com</font></p>
<p><font size="2">1010job精英招聘 </font><font color="#0066aa" size="2">www.1010job.com</font></p>
<p><font size="2">牛耳搜职网 </font><font color="#0066aa" size="2">www.newerjob.com</font></p>
<p><font size="2">数字英才（职通车） </font><font color="#0066aa" size="2">www.01hr.com</font></p>
<p><font size="2">深度搜索 </font><font color="#0066aa" size="2">www.deepdo.com</font></p>
<p><font size="2">淘职网 </font><font color="#0066aa" size="2">www.go2work.com.cn</font></p>
<p><font size="2">我搜网 </font><font color="#0066aa" size="2">www.alsox.com</font></p>
<p><font size="2">校园招聘 </font><font color="#0066aa" size="2">www.zhaopinbbs.com</font></p>
<p><font size="2">易聘&nbsp;&nbsp;</font><font color="#0066aa" size="2">www.yipin.cc</font></p>
<p><font size="2">找工作 </font><font color="#0066aa" size="2">www.meijob.com</font></p>
<p><font size="2">热职工作引擎 </font><font color="#0066aa" size="2">www.rezhi.com</font></p>
<p><font size="2">职场快线 </font><font color="#0066aa" size="2">www.jobems.com</font></p>
<p><font size="2">职脉搜索 </font><font color="#0066aa" size="2">www.jobmet.com</font></p>
<p><font size="2">高八斗 </font><font color="#0066aa" size="2">www.gao8dou.com</font><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 区域搜索引擎联合，在各地都有独立一级域名，单一数据库。 </font></p>
<p><font size="2">安徽人才总网 </font><font color="#0066aa" size="2">www.ah668.com/rc/</font><font size="2"> （安徽区域搜索）</font></p>
<p><strong><font color="#ff0000" size="2">三、房屋房产 （9）</font></strong></p>
<p><font size="2">搜房引擎 </font><font color="#0066aa" size="2">search.soufun.com</font></p>
<p><font size="2">房老大 </font><font color="#0066aa" size="2">www.fanglaoda.com</font></p>
<p><font size="2">焦点房产</font><font color="#0066aa" size="2">seek.focus.cn</font><font size="2"> ？</font></p>
<p><font size="2">家家看网 </font><font color="#0066aa" size="2">www.jjto.com</font><font size="2"> </font></p>
<p><font size="2">我住网 </font><font color="#0066aa" size="2">www.wozhu.com</font></p>
<p><font size="2">搜房网 </font><font color="#0066aa" size="2">www.sofang.com.cn</font></p>
<p><font size="2">寻捕房 </font><font color="#0066aa" size="2">www.xpfang.com</font></p>
<p><font size="2">房网搜索 </font><font color="#0066aa" size="2">www.house163.com</font></p>
<p><font size="2">百房 </font><font color="#0066aa" size="2">www.100fang.com</font></p>
<p><strong><font color="#ff0000" size="2">四：商务商机、人文 （20）</font></strong></p>
<p><font size="2">联络家&nbsp;&nbsp;</font><font color="#0066aa" size="2">http://www.linkist.com/</font></p>
<p><font size="2">优库&nbsp;&nbsp;</font><font color="#0066aa" size="2">www.ucloo.com</font><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （搜人 公司 学校 ）</font></p>
<p><font size="2">Anyso商业搜索引擎&nbsp;&nbsp;</font><font color="#0066aa" size="2">www.anyso.com</font></p>
<p><font size="2">accoona&nbsp;&nbsp;</font><font color="#0066aa" size="2">www.accoona.cn</font><font size="2"> </font></p>
<p><font size="2">国通网 </font><font color="#0066aa" size="2">www.guton.com</font></p>
<p><font size="2">享者&nbsp;&nbsp;</font><font color="#0066aa" size="2">www.hengzhe.com</font></p>
<p><font size="2">品搜 </font><font color="#0066aa" size="2">www.pinsou.com</font></p>
<p><font size="2">品通 </font><font color="#0066aa" size="2">www.joingoo.com</font></p>
<p><font size="2">搜商 </font><font color="#0066aa" size="2">www.bseek.cn</font></p>
<p><font size="2">商搜 </font><font color="#0066aa" size="2">www.shangsou.com</font></p>
<p><font size="2">商宝 </font><font color="#0066aa" size="2">www.b2b8.com</font></p>
<p><font size="2">jow&nbsp;&nbsp;</font><font color="#0066aa" size="2">http://jqw.com/</font></p>
<p><font size="2">企业门户 </font><font color="#0066aa" size="2">www.yie.cn</font><font size="2"> ？</font></p>
<p><font size="2">搜库网 </font><font color="#0066aa" size="2">www.souku.com.cn</font></p>
<p><font size="2">伊索&nbsp;&nbsp;</font><font color="#0066aa" size="2">http://china.eceel.com/</font><font size="2"> </font></p>
<p><font size="2">天网商搜 </font><font color="#0066aa" size="2">http://china.eceel.com/</font></p>
<p><font size="2">信援 </font><font color="#0066aa" size="2">www.xinsos.com</font></p>
<p><font size="2">一呼百应 </font><font color="#0066aa" size="2">www.youboy.com</font></p>
<p><font size="2">易购搜索 </font><font color="#0066aa" size="2">www.ego321.com</font></p>
<p><font size="2">浙搜 </font><font color="#0066aa" size="2">http://zhesou.com/</font><font size="2"> （区域性搜索）</font></p>
<p><strong><font color="#ff0000" size="2">五、生活、购物消费 （17）</font></strong></p>
<p><font size="2">8848（比较购物）</font><font color="#800080" size="2">http://esearch.8848.com/</font></p>
<p><font size="2">丫丫比较购物 </font><font color="#0066aa" size="2">http://askyaya.com/</font></p>
<p><font size="2">大拿网（比较购物） </font><font color="#0066aa" size="2">http://www.danawa.com.cn/</font></p>
<p><font size="2">普加 Pojaa </font><font color="#0066aa" size="2">http://www.pojaa.com/</font></p>
<p><font size="2">搜狗 </font><font color="#003399" size="2">http://shopping.sogou.com/</font><br></p>
<p><font size="2">购物搜索</font><font color="#0066aa" size="2">www.gobygo.com</font><font size="2"> <br>中搜</font><font color="#003399" size="2">http://shopping.zhongsou.com/</font><font size="2"> </font></p>
<p><font size="2">Soaso </font><font color="#0066aa" size="2">http://www.soaso.com/</font></p>
<p><font size="2">搜评网 </font><font color="#0066aa" size="2">http://www.souping.com/</font></p>
<p><font size="2">无忧城市网 </font><font color="#0066aa" size="2">http://www.51city.com</font></p>
<p><font size="2">亿起搜&nbsp;&nbsp;</font><font color="#0066aa" size="2">http://www.eqiso.com/</font></p>
<p><font size="2">365.com&nbsp;&nbsp;</font><font color="#0066aa" size="2">www.365.com</font><font size="2"> （生活搜索综合）</font></p>
<p><font size="2">快搜测评网 </font><font color="#0066aa" size="2">www.ksou.com.cn</font><font size="2"> （IT硬件相关）</font></p>
<p><font size="2">搜教网 </font><font color="#0066aa" size="2">www.soojoo.cn</font><font size="2"> （教育资源相关）</font></p>
<p><font size="2">乐逊外卖搜索 </font><font color="#0066aa" size="2">www.lexun.com.cn</font><font size="2"> </font></p>
<p><font size="2">友买网 </font><font color="#0066aa" size="2">www.uobuy.com</font><font size="2"> </font></p>
<p><font size="2">马可波罗 </font><font color="#0066aa" size="2">www.makepolo.com/</font></p>
<p><font size="2">易购搜索 </font><font color="#0066aa" size="2">www.ego321.com</font><br></p>
<p><strong><font color="#ff0000" size="2">六、地图公交、出行 （15）</font></strong></p>
<p><font size="2">公交查询 </font><font color="#0066aa" size="2">http://www.8684.cn/</font></p>
<p><font size="2">瘦驴旅游搜索引擎&nbsp;&nbsp;</font><font color="#0066aa" size="2">http://www.souluu.com/</font></p>
<p><font size="2">E都市 </font><font color="#0066aa" size="2">http://www.edushi.com/</font></p>
<p><font size="2">Mapabc地图 </font><font color="#0066aa" size="2">http://www.mapabc.com/</font></p>
<p><font size="2">图吧&nbsp;&nbsp;</font><font color="#0066aa" size="2">http://main.mapbar.com/</font></p>
<p><font size="2">UUMAP </font><font color="#0066aa" size="2">http://www.uumap.com/</font></p>
<p><font size="2">城市通 </font><font color="#0066aa" size="2">http://www.52tong.com/</font></p>
<p><font size="2">华夏图网 </font><font color="#0066aa" size="2">http://www.map2china.com/</font></p>
<p><font size="2">都市圈－三维地图 </font><font color="#0066aa" size="2">http://www.o.cn/</font></p>
<p><font size="2">第1搜 </font><font color="#0066aa" size="2">http://www.d1so.com/</font></p>
<p><font size="2">都市吧 </font><font color="#0066aa" size="2">http://www.city8.com/</font></p>
<p><font size="2">活图网 </font><font color="#0066aa" size="2">http://www.livemap.cn/</font></p>
<p><font size="2">我要地图 </font><font color="#0066aa" size="2">http://www.51ditu.com/</font></p>
<p><font size="2">丁丁地图 </font><font color="#0066aa" size="2">www.ddmap.com</font></p>
<p><font size="2">坐车网 </font><font color="#0066aa" size="2">http://www1.zuoche.com/</font><font size="2"> （广州区域搜索）</font></p>
<p><font size="2">google、百度、搜狗、MSN虚拟地球</font><font color="#003399" size="2">http://virtualearth.msn.com/</font><font size="2"> </font><strong><br></strong></p>
<p><strong><font color="#ff0000" size="2">七、医疗健康</font></strong></p>
<p><font size="2">康Q </font><font color="#0066aa" size="2">www.kangq.com</font></p>
<p><font size="2">Souvv </font><font color="#0066aa" size="2">http://search.souvv.com/</font></p>
<p><font size="2">医搜 </font><font color="#0066aa" size="2">http://www.yiso.cc/</font></p>
<p><font size="2">放心医苑网 </font><font color="#0066aa" size="2">http://www.120so.com/</font></p>
<p><font size="2">博睿&nbsp;&nbsp;</font><font color="#0066aa" size="2">http://search.chinamtcm.com</font></p>
<p><strong><font color="#ff0000" size="2">八、图书搜索</font></strong></p>
<p><font size="2">爱搜书网 </font><font color="#800080" size="2">http://www.isoshu.com/</font></p>
<p><font size="2">读秀知识库 </font><font color="#800080" size="2">http://www.duxiu.com/</font></p>
<p><strong><font color="#ff0000" size="2">九、分类信息</font></strong></p>
<p><font size="2">国通网</font><font color="#800080" size="2">http://www.guton.com</font></p>
<p><strong><font color="#ff0000" size="2">十、手机搜索引擎</font></strong></p>
<p><font size="2">悠悠村&nbsp;&nbsp;</font><font color="#0066aa" size="2">http://www.uucun.com/</font></p>
<p><font size="2">儒豹手机搜索 </font><font color="#0066aa" size="2">http://www.roboo.com/</font></p>
<p><strong><font color="#ff0000" size="2">十一、软件IT、BT资源</font></strong></p>
<p><font size="2">迅雷资源搜索 </font><font color="#0066aa" size="2">http://so.xunlei.com</font><font size="2"> </font></p>
<p><font size="2">BT联盟搜索引擎 </font><font color="#0066aa" size="2">http://search.btchina.net/</font></p>
<p><font size="2">BT全球搜索 </font><font color="#0066aa" size="2">http://bt.it.com.cn/</font></p>
<p><font size="2">BT特工 </font><font color="#0066aa" size="2">http://bt.souyo.com/</font></p>
<p><font size="2">飞客BT搜索 </font><font color="#0066aa" size="2">http://bt.fkee.com/</font></p>
<p><font size="2">天天BT 电影 </font><font color="#0066aa" size="2">http://www.ttbt.cn/</font></p>
<p><font size="2">网游搜索 </font><font color="#0066aa" size="2">www.37ss.com</font></p>
<p><font size="2">FTP搜索引擎 </font><font color="#0066aa" size="2">www.tooooold.com</font></p>
<p><strong><font color="#ff0000" size="2">十二、娱乐综合、电影、音乐等</font></strong></p>
<p><font size="2">搜刮&nbsp;&nbsp;</font><font color="#0066aa" size="2">http://www.sogua.com/</font></p>
<p><font size="2">易搜 </font><font color="#800080" size="2">http://bt.souyo.com/</font><font size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （娱乐综合、软件IT、游戏、电影）</font></p>
<font size="2">狗载社区 </font><font color="#800080" size="2">http://www.ppgou.com/</font><font size="2"> </font>
<p><font size="2">OpenV开放视频 </font><font color="#0066aa" size="2">http://www.openv.tv/</font></p>
<p><font size="2">第九频道 </font><font color="#0066aa" size="2">www.tvix.cn</font></p>
<p><font size="2">动漫搜索 </font><font color="#0066aa" size="2">http://share.greedland.net/</font></p>
<p><font size="2">奇客网 </font><font color="#0066aa" size="2">http://v.qirss.com/</font></p>
<p><font size="2">CCTV视频搜索 </font><font color="#0066aa" size="2">http://vsearch.cctv.com/</font></p>
<p><font size="2">优酷视频搜索&nbsp;&nbsp;</font><font color="#0066aa" size="2">http://www.youku.com/</font></p>
<p><strong><font color="#ff0000" size="2">十三、电视节目</font></strong></p>
<p><font size="2">电视猫&nbsp;&nbsp;</font><font color="#0066aa" size="2">www.tvmao.com</font></p>
<p><font size="2">e准 - 电视节目预告 </font><font color="#0066aa" size="2">www.ezhun.com</font></p>
<p><font size="2">搜视网 </font><font color="#0066aa" size="2">http://www.tvsou.com/</font></p>
<p><font size="2">我爱电视剧 </font><font color="#0066aa" size="2">http://www.5idsj.com/</font><font size="2"> （剧情搜索）</font></p>
<p><strong><font color="#ff0000" size="2">十四、博客、论坛搜索</font></strong></p>
<p><font size="2">贴易 </font><font color="#0066aa" size="2">http://search.teein.com/</font></p>
<p><font size="2">Souyo </font><font color="#0066aa" size="2">http://www.souyo.com/</font></p>
<p><font size="2">博狗 </font><font color="#0066aa" size="2">http://www.blogool.com/</font></p>
<p><font size="2">大旗 </font><font color="#0066aa" size="2">http://search.chinabbs.com/</font></p>
<p><font size="2">博客查号台&nbsp;&nbsp;</font><font color="#0066aa" size="2">http://www.blog114.com.cn/</font></p>
<p><font size="2">博搜 </font><font color="#0066aa" size="2">http://www.booso.com/</font></p>
<p><font size="2">中文RSS搜索 </font><font color="#0066aa" size="2">http://www.booso.com/</font></p>
<p><font size="2">名人博客 </font><font color="#0066aa" size="2">http://www.starlogs.com/</font></p>
<p><font size="2">中国博客网搜索 </font><font color="#0066aa" size="2">http://search.blogcn.com/</font></p>
<p><strong><font color="#ff0000" size="2">十五、其它</font></strong></p>
<p><font size="2">搜农 </font><font color="#0066aa" size="2">www.sounong.net</font><font size="2"> （来自安徽的和农业相关综合搜索引擎）</font></p>
<p><font size="2">农搜 </font><font color="#0066aa" size="2">www.agrisou.com</font><font size="2"> </font></p>
<p><font size="2">性搜 </font><font color="#0066aa" size="2">http://www.sinsoo.com/</font></p>
<p><font size="2">中国建筑黄页 </font><font color="#0066aa" size="2">www.agoo.com.cn</font></p>
<p><font size="2">搜网（图片搜索） </font><font color="#0066aa" size="2">http://home.souwang.com/</font></p>
<p><font size="2">金聚网（游戏搜索） </font><font color="#0066aa" size="2">http://www.jj160.com/</font></p>
<p><font size="2">游戏网（搜索引擎？）</font><font color="#0066aa" size="2">http://ks.pcgames.com.cn/</font></p>
<p><font size="2">乐虎网（手机图片） </font><font color="#0066aa" size="2">http://www.joyhoo.com/</font></p>
<font size="2">全国驾校搜索 </font><font color="#0066aa" size="2">www.jxedt.com</font><br><font size="2">个性搜索&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font color="#0066aa" size="2">www.deyeb.cn</font><img src ="http://www.cnitblog.com/damon/aggbug/34631.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/damon/" target="_blank">专心练剑</a> 2007-10-10 13:06 <a href="http://www.cnitblog.com/damon/articles/34631.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Nutch学习笔记之四：部署搜索服务(Tomcat)</title><link>http://www.cnitblog.com/damon/articles/nutch4.html</link><dc:creator>专心练剑</dc:creator><author>专心练剑</author><pubDate>Thu, 04 Oct 2007 15:01:00 GMT</pubDate><guid>http://www.cnitblog.com/damon/articles/nutch4.html</guid><wfw:comment>http://www.cnitblog.com/damon/comments/34378.html</wfw:comment><comments>http://www.cnitblog.com/damon/articles/nutch4.html#Feedback</comments><slash:comments>13</slash:comments><wfw:commentRss>http://www.cnitblog.com/damon/comments/commentRss/34378.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/damon/services/trackbacks/34378.html</trackback:ping><description><![CDATA[crawl完成后，就可以部署到tomcat，提供搜索引擎服务了。步骤如下：<br><br><span style="text-decoration: underline; font-weight: bold;">1. 安装WAR文件</span><br>&nbsp;&nbsp; 将WAR文件$nutch$/nutch-*.war拷贝到目录$tomcat$/webapps/, <br>&nbsp;&nbsp; cp $nutch$/nutch-*.war $tomcat$/webapps/nutch.war<br>&nbsp;&nbsp; 这样就可以通过URL: http://127.0.0.1:8080/nutch 来打开搜索主页面<br><br>&nbsp;&nbsp; 如果是保存为ROOT.war, 对应的URL为http://127.0.0.1:8080<br>&nbsp;&nbsp; cp $nutch$/nutch-*.war $tomcat$/webapps/ROOT.war<br><br><span style="text-decoration: underline; font-weight: bold;">2. 指定搜索数据目录</span><br>&nbsp;&nbsp; 需要为搜索服务程序指定数据文件的位置。<br>&nbsp;&nbsp; 假设WAR文件保存为nutch.war，重启动Tomcat，解压缩成目录$tomcat$/webapps/nutch/。<br>&nbsp;&nbsp; 打开文件$tomcat$/webapps/nutch/WEB-INF/classes/nutch-site.xml，添加searcher.dir<br>&nbsp;&nbsp; 属性，例如数据文件保存在/local/nutch/crawl目录中，则添加：<br>
<div style="margin-left: 40px;">&nbsp;&nbsp; &lt;property&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;name&gt;searcher.dir&lt;/name&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;value&gt;/local/nutch/crawl&lt;/value&gt;<br>&nbsp;&nbsp; &lt;/property&gt;<br></div>
&nbsp;&nbsp; 这样search.jsp就知道数据文件的在哪里了。<br><br><span style="font-weight: bold; text-decoration: underline;">3. 让Tomcat支持中文输入</span><br>&nbsp;&nbsp; 如果要用中文词汇做为关键词来搜索，Tomcat必须要支持中文输入。为此必须修改tomcat的<br>&nbsp;&nbsp; 配置文件$tomcat$/conf/server.xml, 在端口8080上的Connector中加入两个属性<span style="color: red; font-style: italic;">URIEncoding</span><br>&nbsp;&nbsp; 和<span style="color: red; font-style: italic;">useBodyEncodingForURI</span>。代码如下：<br>
<div style="margin-left: 40px;">&nbsp;&nbsp;&nbsp; &lt;Connector port="8080" maxHttpHeaderSize="8192"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; maxThreads="150" minSpareThreads="25" maxSpareThreads="75"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; enableLookups="false" redirectPort="8443" acceptCount="100"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; connectionTimeout="20000" disableUploadTimeout="true"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: red; font-style: italic;">URIEncoding="UTF-8"</span> <span style="color: red; font-style: italic;">useBodyEncodingForURI="true"</span>/&gt;<br></div>
<br><span style="font-weight: bold; text-decoration: underline;">4. 如果要搜索大型网站，例如网络门户，还需要修改一些配置，因为缺省配置是搜索intranet的。<br></span>&nbsp;&nbsp; 修改db.max.outlinks.per.page，它定义一个网页的最大link数，超过此数的链接都要被忽略掉。缺省是100，改为1000足够了。<br>
<div style="margin-left: 40px;">&lt;property&gt;<br>&nbsp; &lt;name&gt;db.max.outlinks.per.page&lt;/name&gt;<br>&nbsp; &lt;value&gt;1000&lt;/value&gt;<br>&nbsp; &lt;description&gt;The maximum number of outlinks that we'll process for a page.<br>&nbsp; If this value is nonnegative (&gt;=0), at most db.max.outlinks.per.page outlinks<br>&nbsp; will be processed for a page; otherwise, all outlinks will be processed.<br>&nbsp; &lt;/description&gt;<br>&lt;/property&gt;<br></div>
<br>&nbsp;&nbsp; 修改urlfilter.order，指定URL过滤器的顺序。作者比较喜欢用正则表达式，所以设置为org.apache.nutch.urlfilter.regex.RegexURLFilter。
<div style="margin-left: 40px;">&lt;property&gt;<br>&nbsp; &lt;name&gt;urlfilter.order&lt;/name&gt;<br>&nbsp; &lt;value&gt;org.apache.nutch.urlfilter.regex.RegexURLFilter&lt;/value&gt;<br>&nbsp; &lt;description&gt;The order by which url filters are applied.<br>&nbsp; If empty, all available url filters (as dictated by properties<br>&nbsp; plugin-includes and plugin-excludes above) are loaded and applied in system<br>&nbsp; defined order. If not empty, only named filters are loaded and applied<br>&nbsp; in given order. For example, if this property has value:<br>&nbsp; org.apache.nutch.urlfilter.regex.RegexURLFilter org.apache.nutch.urlfilter.prefix.PrefixURLFilter<br>&nbsp; then RegexURLFilter is applied first, and PrefixURLFilter second.<br>&nbsp; Since all filters are AND'ed, filter ordering does not have impact<br>&nbsp; on end result, but it may have performance implication, depending<br>&nbsp; on relative expensiveness of filters.<br>&nbsp; &lt;/description&gt;<br>&lt;/property&gt;<span style="font-weight: bold; text-decoration: underline;"></span><br><span style="font-weight: bold; text-decoration: underline;"></span></div>
<span style="font-weight: bold; text-decoration: underline;"><br><br>5. 再次重启Tomcat</span><br>&nbsp;&nbsp; 用浏览器打开URL: "http://127.0.0.1:8080/nutch", 大功告成，现在开始enjoy nutch。<br><br><br>     <img src ="http://www.cnitblog.com/damon/aggbug/34378.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/damon/" target="_blank">专心练剑</a> 2007-10-04 23:01 <a href="http://www.cnitblog.com/damon/articles/nutch4.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>商业搜索无处不在</title><link>http://www.cnitblog.com/damon/articles/34359.html</link><dc:creator>专心练剑</dc:creator><author>专心练剑</author><pubDate>Thu, 04 Oct 2007 05:27:00 GMT</pubDate><guid>http://www.cnitblog.com/damon/articles/34359.html</guid><wfw:comment>http://www.cnitblog.com/damon/comments/34359.html</wfw:comment><comments>http://www.cnitblog.com/damon/articles/34359.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/damon/comments/commentRss/34359.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/damon/services/trackbacks/34359.html</trackback:ping><description><![CDATA[企业搜索市场在迅速膨胀，据国际数据公司（IDC）数据，这一市场去年增长了39%，已达到14亿美元。而这一市场上的产品，其价格和特性也相距甚远，从国际商业机器公司（IBM）免费的<span style="color: red;">OmniFind Yahoo Edition</span>到成本高达几十万美元的系统，无所不包。 <br><br>对于只有几个文档的内容仓库或者低流量的网站等轻量级搜索而言，OmniFind Yahoo Edition或起价为1,995美元的谷歌 <span style="color: red;">Mini Search Appliance</span>足以胜任。而那些拥有上千名员工的大公司，所有员工日常工作几乎都要用到搜索功能，比如法律部门就需要使用电子搜索（E-Discovery）服务，这些公司需要的可能就是<span style="color: red;">Autonomy</span>公司、F<span style="color: red;">ast Search &amp; Transfer</span>公司（下称Fast）、或者<span style="color: red;">Endeca</span>公司的高端搜索系统。&#8220;人们需要不同的工具解决不同的问题。&#8221;IDC分析师苏珊&#183;费尔德曼（Susan Feldman）一言以敝之。 <br><br>Web搜索工具与企业级搜索产品往往在公司中同时存在，面对Web，企业员工会使用精选的浏览器搜索工具；而在访问企业防火墙内的数据库时，他们又会选择公司提供的搜索应用软件。 <br><br>安装OmniFind Yahoo Edition，只需点击三下鼠标，以选择要搜索的内容仓库和内部站点。另一方面，如果某家公司希望根据员工岗位而对搜索进行个性化设置，增加安全层，对搜索结果进行分类，并直接给出问题的答案，那其用来部署这一项目的时间可能长达几个月。 <br><br>现在，企业级搜索工具栏已无处不在。Fast产品与微软公司（Microsoft，下称微软）的SharePoint之间建有连接程序；Autonomy公司也将其搜索引擎与微软的Outlook工具栏和思爱普公司（SAP）的应用软件集成在一起；客户关系管理（CRM）软件和工作流应用软件中也开始出现搜索框，而那通常是软件厂商自己设置的。 <br><br>现在的产品已能够对越来越多的商业信息进行搜索，包括PDF格式文件、SQL Server数据库、以及文件系统等在内。荷兰WCC公司等专业厂商甚至可以将指纹搜索与其他数据结合起来，以发现与目标身份相符的人。 <br><br>搜索将日益成为用户的好帮手，既可以自动地利用内容仓库中的信息完成填表操作，奥多比公司（Adobe）的Intelligent Document Platform即有此功能；亦可对法律文档进行扫描，以自动创建律师档案，就像Recommind公司的MindServer Legal所做的那样。<br><img src ="http://www.cnitblog.com/damon/aggbug/34359.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/damon/" target="_blank">专心练剑</a> 2007-10-04 13:27 <a href="http://www.cnitblog.com/damon/articles/34359.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>不知搜索向何方，但他们已经上路</title><link>http://www.cnitblog.com/damon/articles/34358.html</link><dc:creator>专心练剑</dc:creator><author>专心练剑</author><pubDate>Thu, 04 Oct 2007 05:24:00 GMT</pubDate><guid>http://www.cnitblog.com/damon/articles/34358.html</guid><wfw:comment>http://www.cnitblog.com/damon/comments/34358.html</wfw:comment><comments>http://www.cnitblog.com/damon/articles/34358.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/damon/comments/commentRss/34358.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/damon/services/trackbacks/34358.html</trackback:ping><description><![CDATA[以下这篇文章是InformationWeek美国的记者兄弟花大力气采访的结果，生动地描述了一些该领域探索者的兴奋心情。看到以后，忍不住做了一些附加采访和解释，加上赵红权的翻译，希望这些文字能够揭示当前搜索技术在商业道路上探索的一些方向，记录这个领域的今天，让它们给未来研究信息检索历史的人提供一些参考，至少证明人们一度在多么愉快地探索这个领域，探索自己的语言文字和计算的关系，让计算工具更好地理解不同的语言和文化的需求。<br>&nbsp;<br>信息检索不是特别容易被商业化的技术和学术方向，但是它对于满足信息用户好奇心的同时，让人类对它本身产生了更大的好奇心。微软，雅虎，百度和Google有很多研究者在不断地尝试破解一些新的文字检索规律。其中很多人的努力并不是完全为了明天的商业回报，而是为了几年甚至是几十年后更伟大的信息检索领域的发现。<br>&nbsp;<br>借此文向这些人，以及UPenn、香港两个大学、以及北大等学府中多年来默默无闻地处理着语料，建立这个领域基石的学者们表示感谢。<br>&nbsp;<br>劢闻<br>&nbsp; &nbsp;<br><span style="font-size: 14pt;"><span style="text-decoration: underline; font-weight: bold;">不知搜索向何方，但他们已经上路&nbsp;</span> </span><br>&nbsp;<br>&nbsp;<br>文/J. Nicholas Hoover，Zhang Maiwen (章劢闻) <br><br>译/赵红权<br>&nbsp;<br>搜索引擎，也就是那个浏览器里的应用，你在其中输入一个词，并点击回车，之后就满怀希望开始等待，可它返回的往往是数百万个毫不相关的互联网地址。微软公司（Microsoft，下称微软）称，人们平均要花11分钟的时间才能找到所需内容，而且还有一半的人在达成此目标之前即中途放弃搜索。据高德纳公司（Gartner）估计，由于访问者根本无法找到所需内容，有一半的潜在Web销售因此而丧失掉了。 <br><br>谷歌公司（Google）、微软、雅虎公司（Yahoo）、以及其他数十家专业搜索公司，其中也包括那些专注于商业领域的搜索公司在内，已开始展开新一代搜索技术的开发竞赛，以帮助人们更高效地获取所需信息。有了这些新兴的搜索工具，人们无需再使用混合语言一遍又一遍地简化搜索。他们可以用英语或其他语言查询问题，或者根本不提出任何问题，只是基于其以前的查询或所用的应用软件，就能自动收到查询结果。 <br><br>专注于中文搜索的百度公司（Baidu，下称百度）虽然没有就下一代搜索的话题表态，但是根据百度现有的一系列产品，从百度贴吧、百度知道、百度百科到百度空间等服务，不难看出这家公司正在利用用户生成内容（UGC）提高自身对于用户兴趣点捕捉的精确度。 <br><br>除了文字内容之外，用户实际得到的搜索结果还将包括音频和视频文件、PowerPoint幻灯和其他信息图表、以及结构化数据，这些信息全部精选自Web、PC、以及公司数据库，并最终汇成统一的信息流。假以时日，图像搜索甚至能在图像中检测信息，而无需对元数据进行解析。 <br><br>搜索结果将更加精确，并经过自动归纳总结，按照个人偏好依相关程度进行排序。<span style="color: red;">聚簇</span>、<span style="color: red;">标签云</span>（Tag Cloud）等可根据参数扩大或缩小搜索的新表达方法以及自动分类，可以简化对搜索结果的处理。同时，采用<span style="color: red;">标签服务</span>、<span style="color: red;">社会性书签服务</span>（Social Bookmarking）以及共享搜索等方式，充分发挥人类智慧特别是群体智慧的力量，搜索引擎将得到极大改进。 <br><br>而且，我们无需翘首以盼，等待这些高速搜索引擎的出现。如下一些高级功能已随处可见。 <br><br><span style="font-weight: bold;">语义搜索</span> <br><br>当今多数搜索引擎都要求使用速记语言，也就是某些人称作Keywordese的语言。&#8220;那就像跟一个2岁小孩说话。&#8221; Powerset公司首席执行官（CEO）巴尼&#183;佩尔（Barney Pell）形容道。<span style="color: red;">Powerset</span>是一家将自然语言处理技术应用于搜索领域的初创公司。未来10年，佩尔指出，搜索引擎&#8220;理解人类语言&#8221;的能力会更为强大。 <br><br>早在2000年，百度就曾经大力协助当时的ChinaRen公司推出了一个名为&#8220;<span style="color: red;">孙悟空搜索</span>&#8221;的提问式搜索引擎。&#8220;我当时使用过孙悟空搜索，感觉它对中文语义的理解已达到了相当的深度，虽然那时的技术可能还比较粗浅。&#8221;李鹏在接受《信息周刊》采访时回忆道。李鹏是加拿大英属哥伦比亚大学（University of British Columbia）计算机专业的在读博士，同时也是微软位于美国华盛顿州雷德蒙德园区（Redmond）的实习研究人员，专注于语义网（Semantic Web）的研究。 <br><br>现在，<span style="color: red;">Powerset</span>公司、<span style="color: red;">Hakia</span>公司、以及其他一些公司已开始开发新的搜索引擎，这些搜索引擎应用语言学解释问题，分析Web内容，并且必要时，还通过与用户的互动来优化搜索结果。Hakia公司CEO里萨&#183;博坎（Riza Berkan）憧憬说，未来搜索引擎会成为&#8220;知识渊博的工具，如果我们能教会它们如何讲话、如何理会用户的意思。 &#8221; <br><br>语义搜索引擎对语言进行解析，就像学生学英文一样，用字典和辞典来解释字的意思，并依据句法的基本规则将之连起来。比如，&#8220;国际商业机器公司（IBM）于1996年斥资7.43亿美元买下了Tivoli公司&#8221;这句话，包括了购买、购买的主语、购买的时间、以及买入价等几个概念。 <br><br>在理解问题之后，基于语义网的搜索引擎将会给出智能的回答。&#8220;比如，你表示要预约一个牙医，&#8221;李鹏给出了一个例子，&#8220;搜索引擎有可能从你的Outlook找出你的时间表，然后从你牙医的网站上找出他或她的时间安排情况，最后归纳出共同的时间点，再给你提出精确的预约建议。&#8221; <br><br>迄今为止，尽管Hakia公司的搜索引擎已能够利用语言提示在它自己甚至都不能领会的概念中发现大致意思，但人们应用语言规则，并对分类进行定义，以缩小搜索范围的做法仍然有助于推进搜索引擎的开发。&#8220;如果它能做到完全自动化，我们就能宣告自己创造了新的物种，&#8221;博坎调侃道。谷歌和雅虎等在开发Web搜索引擎时也都会雇佣语言学家，尽管他们的搜索引擎还远不能与Hakia或Powerset的语义搜索相提并论。谷歌的搜索引擎能进行拼写检查，并返回所搜索的单词的同义词和变体，但并不能始终准确地解答问题。 <br><br>联邦保存研究所（Federal Preservation Institute）的历史保存学习门户（Historic Preservation Learning Portal）采用的是企业搜索公司<span style="color: red;">Autonomy</span>公司的技术。该网站存有大量记录保存规则和保存方法的文档，研究所应用语义搜索帮助那些非专家类的用户发现其所需信息。&#8220;他们应用这些工具，用普通语言即可提问，而其问题中无需带有关键词可能会含的技术术语。&#8221;该研究所总监康斯坦丝&#183;拉米雷（Constance Ramirez）介绍说。比如说，有个网站访问者可能会询问加里福尼亚州红屋顶房屋的保存情况，&#8220;看到返问的各类结果都是相关的，那种感觉真是妙不可言。&#8221;拉米雷回味道。 <br><br>IBM也在致力于医疗卫生和政府等领域的专业文本分析研究。客户利用其名为<span style="color: red;">OmniFind Analytics</span>的搜索引擎，甚至可以分辨诸如情绪这样的细枝末节之处，而且不管搜索到的文档对某个主题的记录或分析是积极的还是消极的，客户还可对公司内使用的专业词汇、概念、以及专有名词进行定义。 <br><br>&#8220;但是，基于精确语义的搜索有一个前提，那就是信息来源必须基于资源描述框架（RDF）、Web本体语言（Web Ontology Language，OWL ）等信息格式。&#8221;李鹏指出，&#8220;信息源的格式化需要得到提供者的认可和规范，这本身就需要相当长的时间，是一个渐进的发展过程。&#8221; <br><br><span style="font-weight: bold;">无关键词搜索</span> <br><br>好运难遇。目前仍处于开发阶段的这类搜索引擎无需提示，即会根据你以前的查询替你完成搜索；否则它们可能会在背景中搜索，根据Word文档或Excel电子表中的上下文内容提供相关信息。苹果公司（Apple）的iTunes项目与此类似，如果听者从硬盘中播放了一部音乐作品，iTunes Store即会显示相关的其他音乐。 <br><br>说着容易，做起来难。&#8220;在搜索领域，遭遇意外的好运比登天还难。&#8221;国际数据公司（IDC）分析师苏珊&#183;费尔德曼（Susan Feldman）指出。在这种计算密集型的环境中，设计接口着实不易，她补充道。 <br><br><span style="color: red;">MediaRiver</span>公司开发了一种可下载的搜索工具，这款名为<span style="color: red;">Watson</span>的产品，无需用户发出查询请求，即可利用Web浏览器或PC应用程序中的信息对Web进行搜索，并返回结果。这是一款出色的产品，可不是一项好生意，MediaRiver的CEO阿尔&#183;瓦塞尔博格（Al Wasserberger）总结说。但是，Watson在MediaRiver的<span style="color: red;">ClickSurge Widget</span>中找到了用武之地，终于可以再现活力，后者负责确定网页上的重要概念，并将相关链接嵌入到网页的其他位置。<span style="color: red;">Blinkx</span>公司有款与此近似的产品<span style="color: red;">Pico</span>，但在该公司的网站上，Pico却居于次要地位，因为这家公司要全情贯注于视频搜索领域。 <br><br>尽管如此，无关键词搜索的前景依然一片光明。谷歌和雅虎长期以来一直在不断提醒用户，他们可以订阅搜索，当有新结果产生时他们即会收到电子邮件。用户只需轻轻点击一下StumbleUpon和Google Dice等浏览器工具栏按钮，系统即可根据Web历史记录将之带到推荐的站点上。雅虎的Y!Q服务和Mozilla公司的火狐浏览器（Firefox）都具备在网页上突出显示某个字或词的功能，用户只需于其上点击一下，即可执行搜索。 <br><br>雅虎的这项服务可以增强搜索页上下文的关联性。比如，在有关大学橄榄球的网页上搜索&#8220;佛罗里达鳄鱼队（Florida Gators）&#8221;，返回的结果肯定不会跟大沼泽国家公园（Everglades）中的那类爬虫有关。 <br><br><span style="font-weight: bold;">个性化搜索</span> <br><br>&#8220;内战&#8221;这个词，在不同的人心中会激起完全不同的情感，其含义也大相竞庭。在美国历史上，它意味着一个国家的诞生；而在利比亚，它是武装冲突的代名词；它还是枪与玫瑰乐队的一首歌的名字。搜索引擎对搜索者了解得越多，它对搜索者意图的猜测也才会越有根据。 <br><br>从用户数量来看，谷歌的个性化主页iGoogle是该公司旗下成长最为迅速的产品。谷歌明白用户需要什么，并通过RSS种子和谷歌Gadgets来体现其对用户需求的理解。而且，用户也能在谷歌的首页上创建推荐（Recommendations）标签，谷歌搜索系统可据这些用户以前的搜索提供相关信息，并置入该标签内。 <br><br>拥有谷歌账户的用户均有机会将其曾进行的搜索保存起来，&#8220;疑问因而解除&#8221;，谷歌个性化部门技术负责人塞普&#183;卡姆瓦尔（Sep Kamvar）指出。比如，有个女子对计算机感兴趣，而且她会定期搜索&#8220;苹果&#8221;这个词，这说明与其说她对计算机有兴趣，不如说她对计算机厂商的兴趣更大。利用存档数据，谷歌可通过浏览器工具栏按钮、iGoogle标签或者网络搜索历史（Web History）页面自动为用户推荐所需信息。 <br><br>大量与搜索相关的信息保存在谷歌的数据库中这一事实，引发了有关隐私的担忧；基于同样的原因，雅虎等谷歌竞争对手也不再无畏地长驱直入个性化搜索领域。谷歌争辩说，它在使用历史搜索数据时所公开的透明度，恰是其为避免引起用户激烈反对而采取的关键措施。&#8220;如果我们打算使用你搜索过的某些内容，我们希望你能了解这一点，而且你有权做出决定。&#8221;卡姆瓦尔表示。 <br><br>商业环境中也需要个性化。例如，Vivisimo公司搜索产品的管理程序给招聘人员的人事文档的赋值，比如说，就可以比给销售人员的高。&#8220;内部网的一个优势在于，人们无需再以匿名的形式存在。&#8221;IBM OmniFind搜索平台部门杰出工程师（Distinguished Engineer）兼产品经理迈克&#183;莫兰（Mike Moran）指出。OmniFind搜索平台有4个版本：企业版、分析版、可在搜索结果中添加原文链接的版本、以及与雅虎共同开发的免费版。出版商锐德商讯集团（Reed Business）搜索部门首席运营官（COO）格雷伊姆&#183;麦克雷肯（Graeme McCracken）强调说，事实表明，经常使用搜索的用户最需要个性化特性，而那些偶尔一用网络的访问者通常也对个性化没什么兴趣。 <br><br><span style="font-weight: bold;">社会搜索</span> <br><br>网络出现伊始，搜索即有其社会性的一面。雅虎创立之初，其网站不过是个链接列表，只是列出了公司创始人认为有趣的网站链接。谷歌的PageRank算法，其原理某种程度上也只是以网站上一个页面通向其他页的链接数量为基础。随着Web 2.0技术的兴起，搜索引擎也开始进一步推动社会搜索与社会性书签服务、标签服务、共享搜索、以及功能随用户数量增加而改善的搜索系统等概念的融合。 <br><br>雅虎的战略将因其社会特性而显得卓而不群，雅虎搜索副总裁提姆&#183;梅尔（Tim Mayer）指出。Yahoo Answers可针对Web查询提供人性化的解答，最近该服务已开始出现在常规搜索结果中。此外，雅虎收购了社会性书签站点Deli.cio.us，此举也可能会给雅虎带来一些变化，比如将社会性书签服务变为雅虎网站的一个标准特性。 <br><br>微软已经拥有名为Collections的共享搜索特性，人们可利用该特性共享注释图。目前，微软也在寻求解决办法，以在Web范围内部署可视的、用户生成的&#8220;<span style="color: red;">标签云</span>&#8221;，该公司搜索和广告部门高级副总裁萨特亚&#183;内德拉（Satya Nadella）介绍说。企业搜索公司<span style="color: red;">Vivisimo</span>公司也在对一项特性进行测试，公司员工利用该项特性，可以给搜索结果打标签、评级、分类、并做评注。而<span style="color: red;">Connectbeam</span>公司则将标签和社会性书签技术作为其他企业搜索产品上的一个层来销售。 <br><br>标签云和社会性书签服务也有局限性。标签太多会降低搜索的可靠性，太少又有可能导致相关信息的大量堆积，Autonomy公司CEO迈克&#183;林奇（Mike Lynch）分析道。领导着谷歌反垃圾团队的高级工程师马特&#183;卡茨（Matt Cutts）表示，标签和社会性书签服务是垃圾邮件制造者和搜索引擎优化滥用者攻击的主要目标。 <br><br>无论如何，谷歌已开始推进社会搜索服务。在iGoogle服务中，&#8220;魔术标签&#8221;可基于其他谷歌用户创建的标签，提供与搜索查询（比如说&#8220;旅行&#8221;一词）相关的谷歌小工具（Gadgets）和Feeds菜单。&#8220;我太喜欢这种算法了，因为它提供的Gadgets并不包括&#8216;旅行&#8217;这个词本身在内，但却极为相关。&#8221;卡姆瓦尔表示。 <br><br>Collarity公司则在其Relevance Engine中，运用&#8220;<span style="color: red;">协同过滤</span>&#8221;将上述概念又推进了一步。福克斯新闻网（FoxNews.com）即使用该个性化搜索引擎。如果某人在该站点上搜索&#8220;伊拉克&#8221;，这一搜索引擎会根据以前其他人在搜索&#8220;伊拉克&#8221;这个词之后的行为，列出推荐的链接清单。尽管如此，搜索引擎最终只能将那些在伊拉克新闻上花费大量时间的用户的浏览习惯纳入推荐引擎，因为这些人代表着对伊克拉有高度兴趣，而且应该也具备更多相关知识的一群人。&#8220;我们认为，最要紧的是在相关领域内，找到能最好地解答你的问题的人。&#8221; Collarity公司市场总监鲍勃&#183;拉斯塔德（Rob Rustad）表示。 <br><br><span style="font-weight: bold;">结果导向</span> <br><br>&#8220;谁说一个编辑框外加10个蓝色链接就是搜索引擎了？&#8221;微软的内德拉质疑道。这个问题提得好，但在搜索的新世界里，它就显得不那么重要了。现在，人们已发现了用于显示搜索结果的新办法，从<span style="color: red;">自动化聚簇</span>和<span style="color: red;">分类</span>到对问题的实际解答，各种都有。在微软的Live Search中，键入&#8220;西雅图交通&#8221;几个字，就会有一幅地图弹出来，上面绘有公路，并用色码标示出路面上车辆的行驶速度。与此近似，在谷歌网站上键入&#8220;亚伯拉罕&#183;林肯的生日&#8221;，第一个搜索结果会显示实际日期——1809年2月12日，后面跟着一系列相关地址链接。 <br><br>Vivisimo公司同时也运行着一个名为<span style="color: red;">Clusty</span>的消费者搜索引擎，该网站可通读网页的文本内容，并通过语义理解，在搜索返回的前200个文档中，迅速建立分类。 <br><br>Vivisimo的Clustering Engine可以确定诸如&#8220;漂亮&#8221;和&#8220;华丽&#8221;这样的词，其意思之间存在关联性，然后根据这类共性对搜索结果进行分组。&#8220;主题可帮助人们根据上下文进一步理解数据的含义，并且大致明白信息是如何被组织到一起的。&#8221;该公司市场副总裁丽贝卡&#183;汤姆逊（Rebecca Thompson）介绍道。 <br><br>在商业环境中，计算机生成的聚簇显得尤为重要。因为在商业环境中，用户不能根据某个站点的流行程度来确定其相关性。与Vivisimo一样，Endeca公司也使用自动分类的办法，并采用&#8220;导航&#8221;的方式，他们这样做基于如下理论：人们通常不对特定的内容进行搜索，而其期望搜索引擎能帮助发现的内容，往往是他们不知道如何清楚、准确地提问的。 <br><br>美国最大的家具建材零售商家得宝公司（Home Depot）的网站即采用<span style="color: red;">Endeca</span>技术，从中可管窥Endeca前述想法在实践中的应用。 例如，对&#8220;冰箱&#8221;一词的搜索会产生大量信息，并依类别、价格、以及品牌等进行分组，而且对于每一组都能进一步进行搜索。分类通常以每个搜索条目的元数据为基础。&#8220;未来的设想是，对信息进行归纳总结，整理成用户期望看到的形式。&#8221; Endeca公司战略拓展与市场副总裁马特&#183;艾什纳（Matt Eichner）介绍说。 <br><br><span style="color: red;">Factiva</span>公司的搜索工具采用Fast Search &amp; Transfer公司的技术，用于发现发表在网络日志、媒体站点上有关某个品牌的任何内容，并将这些内容分为喜欢的和不喜欢的，还对之进行相应的量化，辅以线图，以显示人们的认识随时间而改变的过程。 <br><br>另外一个较早利用搜索引擎收集新知识的例子是谷歌Trends。它是谷歌实验室（Google Labs）的一个项目，可以几乎同时满足搜索者完全不同的兴趣[比如太浩湖（Lake Tahoe）和雪橇]。&#8220;如果计算机能进一步理解这个世界，那又会是怎样的情形？&#8221;卡茨自问自答地说，&#8220;如果你能解决这个问题，你就能真正理解人们在搜索些什么。&#8221; <br><br><span style="font-weight: bold;">多样化搜索</span> <br><br>今天的Web搜索引擎可以对基于超文本链接标记语言（HTML）的文件、PDF格式文件、Office文件、以及音频、视频和图像元数据进行筛选。而未来的搜索引擎不仅可摆脱对元数据的依赖，可对图像、音频、以及视频直接进行搜索，还能在其他搜索结果中纳入这些形式的内容。&#8220;你不会看到分别面向音频、视频、以及文本的不同系统。&#8221; Autonomy公司CEO林奇简捷地总结道。 <br><br>尽管并非总能面向不同数据类型建立恰当的关联模型，谷歌的通用搜索仍可谓这一领域的开先河者；其他进展还包括：Autonomy技术可察觉情景的变化，并将视频分配到可搜索的内容中。而且，Autonomy公司、Sonic Foundry公司、以及<span style="color: red;">Nexidia</span>公司的搜索引擎都具备对视频或音频的音轨进行搜索的能力。 <br><br>衣服和服饰销售站点like.com，算得上说明图像搜索技术发展方向的一个典型例子。利用该网站提供的类似搜索（Likeness Search），用户可依各自的尺寸，从颜色、外形、以及款式等方面提供个人的设计参考意见。目前，微软和谷歌都已开发出了针对人的面孔的搜索技术。 <br><br>尽管如此，图像搜索还远不能与文本搜索相提并论，IBM的莫兰指出。在搜索引擎习惯观看图片并能用语言对之进行描述之前，在相当长一段时间内，人们还得继续给图像和视频添加文本标签。 <br><br>无论如何，在需求的推动下，搜索创新仍不断涌现。随着网络上和公司数据库中信息成PB（Petabyte，1Peta=1015）的增加，用于帮助人们发现所需的工具也必须得随之改变。<br><img src ="http://www.cnitblog.com/damon/aggbug/34358.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/damon/" target="_blank">专心练剑</a> 2007-10-04 13:24 <a href="http://www.cnitblog.com/damon/articles/34358.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>搜索引擎之比拚 </title><link>http://www.cnitblog.com/damon/articles/34357.html</link><dc:creator>专心练剑</dc:creator><author>专心练剑</author><pubDate>Thu, 04 Oct 2007 04:42:00 GMT</pubDate><guid>http://www.cnitblog.com/damon/articles/34357.html</guid><wfw:comment>http://www.cnitblog.com/damon/comments/34357.html</wfw:comment><comments>http://www.cnitblog.com/damon/articles/34357.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/damon/comments/commentRss/34357.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/damon/services/trackbacks/34357.html</trackback:ping><description><![CDATA[<span style="font-weight: bold; font-size: 14pt;">领先者</span> <br><br><span style="color: red;">Autonomy</span>公司 企业搜索产品支持归纳、聚簇、以及分析等功能。 <br><br>Fast公司 企业搜索平台提供移动搜索、个人搜索选择。 <br><br>谷歌公司 最新关注点在于个性化的搜索结果，并提供用于商业市场的搜索工具。 <br><br>微软公司 除了PC和Web搜索，还推出了Live Search Maps、Live Search for Mobile等服务。 <br><br>雅虎公司 通过收购Del.icio.us，大力推进社会性搜索，同时也推出了Yahoo Answers服务。 <br><br><span style="font-weight: bold; font-size: 14pt;">挑战者</span> <br><br>Collarity公司 <span style="color: red;">Relevance Engine</span>根据其他人曾经搜索的内容对搜索结果进行过滤。 <br><br>Endeca公司 信息访问平台（<span style="color: red;">Information Access Platform</span>）自动对搜索结果进行分类。 <br><br><span style="color: red;">Hakia</span>公司 语义网搜索引擎目前处于Beta版测试中。 <br><br>国际商业机器公司 <span style="color: red;">OmniFind</span>平台有企业版和分析版、以及与雅虎共同发起的免费版。 <br><br><span style="color: red;">Like.com</span> 可视搜索引擎处于测试中。 <br><br>MediaRiver公司 <span style="color: red;">ClickSurge</span>平台利用网页内容进行搜索或推荐相关内容。 <br><br>Powerset公司 目前与施乐帕洛阿尔托研究中心（Xerox PARC）一道，共同开发<span style="color: red;">自然语言Web搜索引擎</span>。 <br><br>Vivisimo公司 <span style="color: red;">Velocity企业搜索引擎</span>在聚簇中对结果进行分类。<br>  <img src ="http://www.cnitblog.com/damon/aggbug/34357.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/damon/" target="_blank">专心练剑</a> 2007-10-04 12:42 <a href="http://www.cnitblog.com/damon/articles/34357.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Nutch学习笔记之三：命令行</title><link>http://www.cnitblog.com/damon/articles/nutch3.html</link><dc:creator>专心练剑</dc:creator><author>专心练剑</author><pubDate>Wed, 03 Oct 2007 15:32:00 GMT</pubDate><guid>http://www.cnitblog.com/damon/articles/nutch3.html</guid><wfw:comment>http://www.cnitblog.com/damon/comments/34343.html</wfw:comment><comments>http://www.cnitblog.com/damon/articles/nutch3.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/damon/comments/commentRss/34343.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/damon/services/trackbacks/34343.html</trackback:ping><description><![CDATA[1. A complete <span style="font-weight: bold; color: red;">crawl </span>procedure can be presented by the following pseudo-code:<br><br>
<div style="margin-left: 40px;"><span style="font-style: italic;"><span style="font-weight: bold; color: red;">inject</span><span style="color: red;">: </span>pass links of urls file to webDB</span><br style="font-style: italic;"><span style="font-style: italic;">for (i = 0; i &lt; depth; i++) {</span><br style="font-style: italic;"><span style="font-style: italic;">&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: red;">generate</span><span style="color: red;">: </span>creat a new segment and generate a fetchlist from the WebDB;</span><br style="font-style: italic;"><span style="font-style: italic;">&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: red;">fetch</span><span style="color: red;">: </span>fetch content from URLs in the new fetchlist;</span><br style="font-style: italic;"><span style="font-style: italic;">&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: red;">parse</span><span style="color: red;">: </span>parse content of the new segment;</span><br style="font-style: italic;"><span style="font-style: italic;">&nbsp;&nbsp;&nbsp; <span style="font-weight: bold; color: red;">updatedb</span><span style="color: red;">: </span>add new links in the crawldb according to the new segment;</span><br style="font-style: italic;"><span style="font-style: italic;">}</span><br style="font-style: italic;"><span style="font-style: italic;"><span style="font-weight: bold; color: red;">invertlinks</span><span style="color: red;">: </span>create the linkdb, listing incoming links for each url;</span><br style="font-style: italic;"><span style="font-style: italic;"><span style="font-weight: bold; color: red;">index</span><span style="color: red;">: </span>create indexes for segments;</span><br style="font-style: italic;"><span style="font-style: italic;"><span style="font-weight: bold; color: red;">dedup</span><span style="color: red;">: </span>delete duplicate documents for each indexes segment;</span><br style="font-style: italic;"><span style="font-style: italic;"><span style="font-weight: bold; color: red;">merge</span><span style="color: red;">: </span>merge all indexes into single index corresponding;</span><br style="font-style: italic;"></div>
<br>2. Nutch provide a set of utility commands, there are:<br>
<div style="margin-left: 40px;">for webDB:<br>&nbsp; <span style="color: red; font-weight: bold;">readdb</span><span style="font-weight: bold;">: </span>Read utility<br>&nbsp; <span style="color: red; font-weight: bold;">mergedb</span><span style="font-weight: bold;">: </span>merger<br>&nbsp; <span style="color: red; font-weight: bold;">convdb</span>: old version converter<br>for linkdb:<br>
&nbsp; <span style="color: red; font-weight: bold;">readlinkdb</span>: Read utility<br>
&nbsp; <span style="color: red; font-weight: bold;">mergelinkdb</span>: merger<br>for segment:<br>
&nbsp; <span style="font-weight: bold; color: red;">readseg</span>: Read utility<br>
&nbsp; <span style="font-weight: bold; color: red;">mergesegs</span>: merger<br></div>
<br>3. Besides those above, there two system commands:<br>
<div style="margin-left: 40px;"><span style="font-weight: bold; color: red;">plugin</span>: registry of plugin<br><span style="font-weight: bold; color: red;">server</span>: a search server<br></div>
<br><br>4. Here is a complete list of all commands and their simple description<br>
<table style="width: 785px; height: 1541px;" border="1">
    <tbody>
        <tr>
            <td id="" class="" align="center" valign="middle">命令<br></td>
            <td>input<br></td>
            <td align="left" valign="middle">&nbsp;output</td>
            <td id="" class="" align="center" valign="middle">&nbsp;task</td>
        </tr>
        <tr>
            <td style="text-align: center;" valign="middle">&nbsp;crawl</td>
            <td style="text-align: center;" valign="middle">&nbsp;urls dir<br></td>
            <td style="text-align: center;" valign="middle">all&nbsp;</td>
            <td style="text-align: center;" valign="middle">&nbsp;do whole thing in single command</td>
        </tr>
        <tr>
            <td style="text-align: center;" valign="middle">&nbsp;inject</td>
            <td style="text-align: center;" valign="middle">&nbsp;urls dir</td>
            <td style="text-align: center;" valign="middle">&nbsp;webDB</td>
            <td id="" class="" style="text-align: center;" align="left" valign="middle" width="20">pass links of urls file to webDB&nbsp;</td>
        </tr>
        <tr>
            <td style="text-align: center;" valign="middle">&nbsp;generate</td>
            <td style="text-align: center;" valign="middle">&nbsp;webDB</td>
            <td style="text-align: center;" valign="middle">&nbsp;a segment</td>
            <td style="text-align: center;" valign="middle">creat a new segment and generate a fetchlist from the WebDB&nbsp;</td>
        </tr>
        <tr>
            <td style="text-align: center;" valign="middle">&nbsp;freegen</td>
            <td style="text-align: center;" valign="middle">&nbsp;urls dir<br></td>
            <td style="text-align: center;" valign="middle">a segment <br></td>
            <td style="text-align: center;" valign="middle">&nbsp;creat a new segment and generate a fetchlist from a plain text</td>
        </tr>
        <tr>
            <td style="text-align: center;" valign="middle">&nbsp;fetch</td>
            <td style="text-align: center;" valign="middle">a segment&nbsp;</td>
            <td style="text-align: center;" valign="middle">a segment&nbsp;</td>
            <td style="text-align: center;" valign="middle">fetch content from URLs in the fetchlist&nbsp;</td>
        </tr>
        <tr>
            <td style="text-align: center;" valign="middle">&nbsp;fetch2</td>
            <td style="text-align: center;" valign="middle">&nbsp;a segment</td>
            <td style="text-align: center;" valign="middle">a segment&nbsp;</td>
            <td style="text-align: center;" valign="middle">Another fether&nbsp;</td>
        </tr>
        <tr>
            <td style="text-align: center;" valign="middle">&nbsp;parse</td>
            <td style="text-align: center;" valign="middle">&nbsp;a segment</td>
            <td style="text-align: center;" valign="middle">&nbsp;a segment</td>
            <td style="text-align: center;" valign="middle">Parse content in a segment&nbsp;</td>
        </tr>
        <tr>
            <td style="text-align: center;" valign="middle">&nbsp;updatedb</td>
            <td style="text-align: center;" valign="middle">&nbsp;a segment</td>
            <td style="text-align: center;" valign="middle">webDB&nbsp;</td>
            <td style="text-align: center;" valign="middle">&nbsp;add new links into the crawldb according to new segment</td>
        </tr>
        <tr>
            <td style="text-align: center;" valign="middle">&nbsp;invertlinks</td>
            <td style="text-align: center;" valign="middle">&nbsp;segments</td>
            <td style="text-align: center;" valign="middle">linkdb&nbsp;</td>
            <td style="text-align: center;" valign="middle">&nbsp;maintains an inverted link map, listing incoming links for each url</td>
        </tr>
        <tr>
            <td style="text-align: center;" valign="middle">&nbsp;index</td>
            <td style="text-align: center;" valign="middle">&nbsp;segments, linkdb, webDB</td>
            <td style="text-align: center;" valign="middle">indexes&nbsp;</td>
            <td style="text-align: center;" valign="middle">Create indexes for segments&nbsp;</td>
        </tr>
        <tr>
            <td style="text-align: center;" valign="middle">&nbsp;dedup</td>
            <td style="text-align: center;" valign="middle">indexes dir&nbsp;</td>
            <td style="text-align: center;" valign="middle">indexes dir&nbsp;</td>
            <td style="text-align: center;" valign="middle">&nbsp;Delete duplicate documents in a set of Lucene indexes</td>
        </tr>
        <tr>
            <td style="text-align: center;" valign="middle">&nbsp;merge</td>
            <td style="text-align: center;" valign="middle">&nbsp;indexes dir<br></td>
            <td style="text-align: center;" valign="middle">index&nbsp;</td>
            <td style="text-align: center;" valign="middle">merge all indexes into single index&nbsp;</td>
        </tr>
        <tr>
            <td style="text-align: center;" valign="middle">&nbsp;readdb</td>
            <td style="text-align: center;" valign="middle">webDB&nbsp;</td>
            <td style="text-align: center;" valign="middle">information about webDB&nbsp;</td>
            <td style="text-align: center;" valign="middle">Read utility for the webDB&nbsp;</td>
        </tr>
        <tr>
            <td style="text-align: center;" valign="middle">&nbsp;mergedb</td>
            <td style="text-align: center;" valign="middle">&nbsp;webDBs</td>
            <td style="text-align: center;" valign="middle">&nbsp;webDB</td>
            <td style="text-align: center;" valign="middle">merge several webDB&nbsp;</td>
        </tr>
        <tr>
            <td style="text-align: center;" valign="middle">&nbsp;readlinkdb</td>
            <td style="text-align: center;" valign="middle">linkdb&nbsp;</td>
            <td style="text-align: center;" valign="middle">information about linkdb</td>
            <td style="text-align: center;" valign="middle">Read utility for the linkdb</td>
        </tr>
        <tr>
            <td style="text-align: center;" valign="middle">&nbsp;mergelinkdb</td>
            <td style="text-align: center;" valign="middle">linkdb  <br></td>
            <td style="text-align: center;" valign="middle">linkdb  <br></td>
            <td style="text-align: center;" valign="middle">&nbsp;merge several linkdb <br></td>
        </tr>
        <tr>
            <td style="text-align: center;" valign="middle">&nbsp;readseg</td>
            <td style="text-align: center;" valign="middle">&nbsp;segment</td>
            <td style="text-align: center;" valign="middle">&nbsp;information about segment</td>
            <td style="text-align: center;" valign="middle">Read utility for the segment&nbsp;</td>
        </tr>
        <tr>
            <td style="text-align: center;" valign="middle">&nbsp;mergesegs</td>
            <td style="text-align: center;" valign="middle">segment <br></td>
            <td style="text-align: center;" valign="middle">segment <br></td>
            <td style="text-align: center;" valign="middle">merge several segment <br></td>
        </tr>
        <tr>
            <td style="text-align: center;">convdb<br></td>
            <td id="" class="" style="text-align: center;" valign="middle">webDB</td>
            <td style="text-align: center;" valign="middle">webDB <br></td>
            <td style="text-align: center;" valign="middle">convert old webDB into new version<br></td>
        </tr>
        <tr>
            <td style="text-align: center;" valign="middle">&nbsp;plugin</td>
            <td style="text-align: center;" valign="middle">&nbsp;plugin class</td>
            <td style="text-align: center;" valign="middle">NA&nbsp;</td>
            <td style="text-align: center;" valign="middle">register a plugin&nbsp;</td>
        </tr>
        <tr>
            <td style="text-align: center;" valign="middle">&nbsp;server</td>
            <td style="text-align: center;" valign="middle">port, indexdir&nbsp;</td>
            <td style="text-align: center;" valign="middle">NA&nbsp;</td>
            <td id="" class="" style="text-align: center;" align="center" valign="top">run a search server&nbsp;</td>
        </tr>
    </tbody>
</table>
<br>              <img src ="http://www.cnitblog.com/damon/aggbug/34343.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/damon/" target="_blank">专心练剑</a> 2007-10-03 23:32 <a href="http://www.cnitblog.com/damon/articles/nutch3.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Nutch学习笔记之二：流程</title><link>http://www.cnitblog.com/damon/articles/nutch2.html</link><dc:creator>专心练剑</dc:creator><author>专心练剑</author><pubDate>Wed, 03 Oct 2007 13:36:00 GMT</pubDate><guid>http://www.cnitblog.com/damon/articles/nutch2.html</guid><wfw:comment>http://www.cnitblog.com/damon/comments/34342.html</wfw:comment><comments>http://www.cnitblog.com/damon/articles/nutch2.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/damon/comments/commentRss/34342.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/damon/services/trackbacks/34342.html</trackback:ping><description><![CDATA[Crawling is a cyclical process: the crawler generates a set of fetchlists from the WebDB, <br>a set of fetchers downloads the content from the Web, the crawler updates the WebDB with <br>new links that were found, and then the crawler generates a new set of fetchlists (for <br>links that haven't been fetched for a given period, including the new links found in the <br>previous cycle) and the cycle repeats. <br><br>This cycle is often referred to as the generate/fetch/update cycle, and runs periodically <br>as long as you want to keep your search index up to date.<br><br>URLs with the same host are always assigned to the same fetchlist. This is done for reasons <br>of politeness, so that a web site is not overloaded with requests from multiple fetchers in <br>rapid succession. <br><br>Nutch observes the Robots Exclusion Protocol, which allows site owners to control which <br>parts of their site may be crawled.<br><br>The crawl tool is actually a front end to other, lower-level tools, so it is possible to <br>get the same results by running the lower-level tools in a particular sequence. Here is <br>a breakdown of what crawl does, with the lower-level tool names in parentheses:<br><br>&nbsp;&nbsp; 1. Create a new WebDB (admin db -create).<br>&nbsp;&nbsp; 2. Inject root URLs into the WebDB (inject). creat initial link set<br>&nbsp;&nbsp; <br>&nbsp;&nbsp; 3. Generate a fetchlist from the WebDB in a new segment (generate).<br>&nbsp;&nbsp; 4. Fetch content from URLs in the fetchlist (fetch).<br>&nbsp;&nbsp; 5. Update the WebDB with links from fetched pages (updatedb).<br><br>&nbsp;&nbsp; 6. Repeat steps 3-5 until the required depth is reached.<br><br>&nbsp;&nbsp; 7. Update segments with scores and links from the WebDB (updatesegs).<br><br>&nbsp;&nbsp; 8. Index the fetched pages (index).<br>&nbsp;&nbsp; 9. Eliminate duplicate content (and duplicate URLs) from the indexes (dedup).<br><br>&nbsp; 10. Merge the indexes into a single index for searching (merge).<br><br><br>After creating a new WebDB (step 1), the generate/fetch/update cycle (steps 3-6) is <br>bootstrapped by populating the WebDB with some seed URLs (step 2). When this cycle <br>has finished, the crawler goes on to create an index from all of the segments (steps 7-10). <br><br>Each segment is indexed independently (step 8), before duplicate pages (that is, pages <br>at different URLs with the same content) are removed (step 9). Finally, the individual <br>indexes are combined into a single index (step 10).<br><br>The dedup tool can remove duplicate URLs from the segment indexes. This is not to remove <br>multiple fetches of the same URL because the URL has been duplicated in the WebDB--this <br>cannot happen, since the WebDB does not allow duplicate URL entries. Instead, duplicates <br>can arise if a URL is re-fetched and the old segment for the previous fetch still exists <br>(because it hasn't been deleted). This situation can't arise during a single run of the <br>crawl tool, but it can during re-crawls, so this is why dedup also removes duplicate URLs.<br><br>While the crawl tool is a great way to get started with crawling websites, you will need <br>to use the lower-level tools to perform re-crawls and other maintenance on the data <br>structures built during the initial crawl. We shall see how to do this in the real-world <br>example later, in part two of this series. Also, crawl is really aimed at intranet-scale <br>crawling. To do a whole web crawl, you should start with the lower-level tools. (See the <br>"Resources" section for more information.)<br><br><br>   <img src ="http://www.cnitblog.com/damon/aggbug/34342.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/damon/" target="_blank">专心练剑</a> 2007-10-03 21:36 <a href="http://www.cnitblog.com/damon/articles/nutch2.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Nutch学习笔记之一：数据结构</title><link>http://www.cnitblog.com/damon/articles/nutch.html</link><dc:creator>专心练剑</dc:creator><author>专心练剑</author><pubDate>Wed, 03 Oct 2007 13:30:00 GMT</pubDate><guid>http://www.cnitblog.com/damon/articles/nutch.html</guid><wfw:comment>http://www.cnitblog.com/damon/comments/34341.html</wfw:comment><comments>http://www.cnitblog.com/damon/articles/nutch.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/damon/comments/commentRss/34341.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/damon/services/trackbacks/34341.html</trackback:ping><description><![CDATA[<span style="font-size: 14pt; font-weight: bold; text-decoration: underline;">1. WebDB or web database</span><br><br>It persists as long as the web graph that is being crawled (and re-crawled) exists.<br>The WebDB stores two types of entities: pages and links.<br><br>A page represents a page on the Web, and is indexed by its URL and the MD5 hash of <br>its contents. Other pertinent information is stored, too, including the number of <br>links in the page (also called outlinks); fetch information (such as when the page <br>is due to be refetched); and the page's score, which is a measure of how important <br>the page is (for example, one measure of importance awards high scores to pages that <br>are linked to from many other pages).<br><br>A link represents a link from one web page (the source) to another (the target). <br><br>In the WebDB web graph, the nodes are pages and the edges are links.<br><br><span style="font-size: 14pt; font-weight: bold; text-decoration: underline;">2. segment</span><br>A segment is a collection of pages fetched and indexed by the crawler in a single run. <br><br>The fetchlist for a segment is a list of URLs for the crawler to fetch, and is generated <br>from the WebDB. The fetcher output is the data retrieved from the pages in the fetchlist. <br>The fetcher output for the segment is indexed and the index is stored in the segment. <br><br>Any given segment has a limited lifespan, since it is obsolete as soon as all of its <br>pages have been re-crawled. The default re-fetch interval is 30 days, so it is usually <br>a good idea to delete segments older than this, particularly as they take up so much <br>disk space. <br><br>Segments are named by the date and time they were created, so it's easy to tell how old <br>they are.<br><br><span style="font-size: 14pt; text-decoration: underline; font-weight: bold;">3. index</span><br>The index is the inverted index of all of the pages the system has retrieved, and is <br>created by merging all of the individual segment indexes. Nutch uses Lucene for its <br>indexing, so all of the Lucene tools and APIs are available to interact with the <br>generated index. <br>Since this has the potential to cause confusion, it is worth mentioning that the Lucene <br>index format has a concept of segments, too, nd these are different from Nutch segments. a<br><br>A Lucene segment is a portion of a Lucene index, whereas a Nutch segment is a fetched <br>and indexed portion of the WebDB.<br><br><br> <img src ="http://www.cnitblog.com/damon/aggbug/34341.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/damon/" target="_blank">专心练剑</a> 2007-10-03 21:30 <a href="http://www.cnitblog.com/damon/articles/nutch.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>