好文档 - 专业文书写作范文服务资料分享网站

大数据技术文档

天下 分享 时间: 加入收藏 我要投稿 点赞

v1.0 可编辑可修改 ( score(q,d) = coord(q,d) · queryNorm(q) · tf(t in d) · idf(t)2 · () · n∑ t in orm(t,d) ) q 其中:

tf(t in d) 关联到项频率,项频率是指 项 t 在 文档 d 中出现的次数 frequency。默认的实现是:

?

tf(t in d) = frequency

idf(t) 关联到反转文档频率,文档频率指出现 项 t 的文档数 docFreq。docFreq 越少 idf 就越高。默认实现:

numDocs

idf(t) = 1 + log ( ––––––––– )

docFreq+1

coord(q,d) 评分因子,是基于文档中出现查询项的个数。越多的查询项在一个文档中,说明些文档的匹配程序越高。默认是出现查询项的百分比。

queryNorm(q)查询的标准查询,使不同查询之间可以比较。此因子不影响文档的排序,因为所有有文档都会使用此因子。默认值:

1

queryNorm(q) = queryNorm(sumOfSquaredWei––––––––––––

ghts) =

––

sumOfSquaredWeights?

16

v1.0 可编辑可修改 每个查询项权重的平分方和(sumOfSquaredWeights)由 Weight 类完成。例如 BooleanQuery 地计算:

2

sumOfSquaredWeights = () ·

∑ ( idf(t) · () )

2

t in q

()查询时期的 项 t 加权(如:java^),或者由程序使用 setBoost()。 norm(t,d)压缩几个索引期间的加权和长度因子: Document boost - 文档加权,在索引之前使用 () Field boost - 字段加权,也在索引之前调用 ()

lengthNorm(field) - 由字段内的 Token 的个数来计算此值,字段越短,评分越高,在做索引的时候由 计算。

以上所有因子相乘得出 norm 值,如果文档中有相同的字段,它们的加权也会相乘:

norm(t,d) = () · lengthNorm(field) ·

()

field f in d named as t

索引的时候,把 norm 值压缩(encode)成一个 byte 保存在索引中。搜索的时候再把索引中 norm 值解压(decode)成一个 float 值,这个 encode/decode 由 Similarity 提供。

solr使用了Lucene的内核,也继承了Lucene的打分规则,我们可以根据自己的应用实现评分算法,换掉默认的;也可以使用默认的,利用修改solr配置文件,来调节评分。

Page Rank算法 一个网页的重要性等于指向它的所有网页的重要性相加之和。 如果网页j存在一个指向网页i的连接,则表明j的所有者认为i比较重要,从而把j的一部分重要性得分赋予i。这个重要性得分值为:PR(pj)L(pj) 17

v1.0 可编辑可修改 PR(pj)为网页j的PageRank值,L(pj)为网页j的出链数。 一个页面的PageRank是由所有链向它的页面(链入页面)的重要性经过递归算法得到的。一个有较多链入的页面会有较高的等级,相反如果一个页面没有任何链入页面,那么它没有等级。 由于存在一些出链为0,也就是那些不链接任何其他网页的网, 也称为孤立网页。因此需要对 PageRank公式进行修正,即在简单公式的基础上增加了阻尼系数(damping factor)q, q一般取值q=。 PR(pi)?PR(pj)1?q ?(q)?pjNL(pj)PR(pi)即网页i的PageRank值;所以公式的意义是:网页i的PageRank值=(1-d)+d*(链接到网页i的所有PR值/该网页的所有出链数量之和)。

信息采集搜索系统的安装

本系统采用分布式集群进行信息的采集与搜索,集群的配置情况如下图:

表() 系统配置

序号 1 名称 描述 使用MapReduce进行并行爬取,使用HDFS存储数据,Nutch的任务提交在Hadoop集群上,支持分布式 2 3 主要负责爬取数据,支持分布式 主要负责检索,对爬完后的数据进行搜索,查询,海量数据支持分布式 4 5 6 18

Linux系统,在上面运行hadoop、nutch等应用 应用服务器,给Solr提供容器运行 提供JAVA运行环境 v1.0 可编辑可修改 7 8 IKAnalyzer 提供Nutch等源码编译 对网页内容与标题进行分词,便于全文检索 hadoop系统的运行环境配置

hadoop需要在Java环境和Unix系统下运行,也可以跨平台运行,本系统是在linux操作系统下运行,需要配置完成以下运行环境:

Java环境: 版本 vi /etc/profile export JAVA_HOME=/usr/ export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH 从而完成所需要的java环境配置。

hadoop集群配置:我在这里做了5个机器的hadoop集群

在 上 vi /etc/profile

export HADOOP_HOME=/home/hadoopmaster/ PATH=$PATH:$HADOOP_HOME/bin

19

v1.0 可编辑可修改 vi /etc/hosts localhost

localhost

配置无密码登录,在这里我不做介绍。 进入下 vi masters slaves vi conf /

20

大数据技术文档

v1.0可编辑可修改(score(q,d)=coord(q,d)·queryNorm(q)·tf(tind)·idf(t)2·()·n∑tinorm(t,d))q其中:tf(tind)关联到项频率,项频率是指项t在文档d中出现的次数frequency。默认的实现是:?
推荐度:
点击下载文档文档为doc格式
1x2o96lr1k5o77k30e8m0fvqu4yw2700pg3
领取福利

微信扫码领取福利

微信扫码分享