在上学的时候就对搜索有着极大地兴趣,图书馆也借了好多的书看过,也用过Python写过爬虫。

有好多人在初步学习Lucene的时候都以为他是一个搜索引擎,或者搜索工具。

在此我要特别强调一下,Lucene绝对不是一个搜索引擎或者是搜索工具,他就是一个jar包(一系列),一个工具,一个API,而且他是一个检索工具,也不是搜索工具。

所谓搜索引擎,比如:百度,搜狗,猎兔,恕我愚昧只知道国内的。这才是搜索引擎,搜索引擎,大概(非常宏观的哦)分为两部分:

1、爬虫。也是非常重要的一部分,需要对互联网上的信息非常全面的下载到本地服务器,比如百度服务器,那数据量真的就海了去了,用爬虫爬遍互联网的每一个角落,每一个页面,将内容下载到服务器本地。

2、检索。这才是我们Lucene需要干的活,下载到本地之后,我们就需要类似Lucene将海量的数据进行扫描、分词,根据一定的分词规则,建立索引,然后,有需要搜索的时候再去本地索引检索。

当然啊,百度那肯定是一个非常复杂的系统,比如爬虫什么时候爬?怎么爬?怎么做到实时更新?爬到的信息权重怎么算?索引按照什么区分词?等等等等。都是非常复杂的,我肯定不知道,这里只是作为一个引子,引出我们需要讨论的Lucene。

还有一个问题就是,Lucene.nutch.solr.这三个东西经常一起出现,而且特别容易搞混,刚开始的时候我就比较混。

所以,我也想写一下,全篇都是个人理解啊,有问题请您一定指出来(虽然也不一定有人看,手动尴尬。。。自娱自乐。。。)

Lucene,正如前文所说,是一个工具!工具!工具!重要的事情说三遍,他就是一个API,没有什么复杂的应用。但是nutch,solr都是从Lucene开发出来的,或者说进一步封装了一些应用在里面。

solr 在Lucene的基础上封装了一些功能,或者你就可以理解成为,有人基于Lucene这个jar包开发出来了一个可用的web工程,有页面,有接口,有一些高亮了其他功能。(暴龙兽进化)

nutch  这个就叼了,这是完全的一个搜索引擎,你可以叫做“小百度”,搜索引擎的很多功能基本都有了,爬虫,我们刚说的,对不对,索引,分词,查询对不对,都有了。搞懂了之后你就可以自己搭一个搜索引擎了,叼不。呵呵。(暴龙兽超进化)

究极进化,我也不知道在哪。

这几天太闲了,继续研究,具体怎么玩儿,明天再写吧,一会儿三篇好嘞呀,浪一会儿可以回家了。

Lucene 个人领悟 (一)的更多相关文章

  1. Lucene 个人领悟 (三)

    其实接下来就是贴一下代码,熟悉一下Lucene的正常工作流程,或者说怎么使用这个API,更深层次的东西这篇文章不会讲到. 上一篇文章也说了maven的配置,只要你电脑联网就可以下载下来.我贴一下代码. ...

  2. Lucene 个人领悟 (二)

    想了想,还是继续写吧,因为,太无聊了,媳妇儿也还有半个小时才下班. 前面拖拖拉拉用了三篇文章来做铺垫,这一篇开始正经搞了啊. 首先,我要加几个链接 http://www.cnblogs.com/xin ...

  3. Lucene 实例教程(四)之检索方法总结

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本人声明.否则将追究法律责任. 作者: 永恒の_☆ 地址: http://blog.csdn.net/chenghui031 ...

  4. lucene 基础知识点

    部分知识点的梳理,参考<lucene实战>及网络资料 1.基本概念 lucence 可以认为分为两大组件: 1)索引组件 a.内容获取:即将原始的内容材料,可以是数据库.网站(爬虫).文本 ...

  5. 用lucene替代mysql读库的尝试

    采用lucene对mysql中的表建索引,并替代全文检索操作. 备注:代码临时梳理很粗糙,后续修改. import java.io.File; import java.io.IOException; ...

  6. Lucene的评分(score)机制研究

    首先,需要学习Lucene的评分计算公式—— 分值计算方式为查询语句q中每个项t与文档d的匹配分值之和,当然还有权重的因素.其中每一项的意思如下表所示: 表3.5 评分公式中的因子 评分因子 描 述 ...

  7. 《高性能javascript》 领悟随笔之-------DOM编程篇(二)

    <高性能javascript> 领悟随笔之-------DOM编程篇二 序:在javaSctipt中,ECMASCRIPT规定了它的语法,BOM实现了页面与浏览器的交互,而DOM则承载着整 ...

  8. 《高性能javascript》 领悟随笔之-------DOM编程篇

    <高性能javascript> 领悟随笔之-------DOM编程篇一 序:在javaSctipt中,ECMASCRIPT规定了它的语法,BOM实现了页面与浏览器的交互,而DOM则承载着整 ...

  9. Lucene的分析资料【转】

    Lucene 源码剖析 1 目录 2 Lucene是什么 2.1.1 强大特性 2.1.2 API组成- 2.1.3 Hello World! 2.1.4 Lucene roadmap 3 索引文件结 ...

随机推荐

  1. 生成器-代码举例:()和yield

    怎么自定义一个生成器:两个方法: 1.小括号包裹表达式 2.函数中用yield返回 方法一:①小括号包裹表达式 G=(x*2 for x in range(5)) print(G)输出:<gen ...

  2. (1.4)mysql sql mode 设置与使用

    关键词: mysql sql mode 1.查阅 mysql> mysql> show variables like 'sql_mode%';+---------------+------ ...

  3. finecms同时调用子栏目和子栏目的文章怎么操作

    之前ytkah写过dedecms如何调用当前栏目的子栏目及子栏目文章,那如果是finecms如何同时调用子栏目和子栏目的文章呢? {list action=category pid=0 id=31} ...

  4. 下载pywinauto

    1.下载pywinauto 链接:http://pywinauto.github.io/ 2.将安装包放到D:python36\script,进入pywinauto目录,按shift+右键,进入命令窗 ...

  5. mybatis {arg0} 与 {0}

    解决方案: MyBatis的XML的配置文件中声明设置属性的useActualParamName参数值为假 <setting name="useActualParamName" ...

  6. CentOS在VMware中 网络配置

    一. 将centos安装好之后,发现ping, ifconfig等常见的命令都用不了,出现unknown service或command not found这样的字眼,这让我十分无语.查了一下资料,i ...

  7. 【LeetCode每天一题】Search in Rotated Sorted Array(在旋转数组中搜索)

    Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.(i.e., ...

  8. ts转化为js

    1.安装步骤:npm/cnpm install -g typescript 2.tsc -v (查看版本是否安装成功) 3.demo文件下detail步骤操作 i:新建一个demo.html 页面[引 ...

  9. [LeetCode] 111. Minimum Depth of Binary Tree_Easy tag:DFS

    Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...

  10. System.ArgumentException: 目标数组的长度不够。请检查 destIndex 和长度以及数组的下限

    扫码支付接口将要上线,近几天在优化系统性能.昨天把日志Helper类的日志记录改成了使用Queue<T>对象来实现异步处理.做了单元测试,并模拟多线程来测试后,发现正常.今天将站点部署到准 ...