Lucene 个人领悟 (一)
在上学的时候就对搜索有着极大地兴趣,图书馆也借了好多的书看过,也用过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 个人领悟 (一)的更多相关文章
- Lucene 个人领悟 (三)
其实接下来就是贴一下代码,熟悉一下Lucene的正常工作流程,或者说怎么使用这个API,更深层次的东西这篇文章不会讲到. 上一篇文章也说了maven的配置,只要你电脑联网就可以下载下来.我贴一下代码. ...
- Lucene 个人领悟 (二)
想了想,还是继续写吧,因为,太无聊了,媳妇儿也还有半个小时才下班. 前面拖拖拉拉用了三篇文章来做铺垫,这一篇开始正经搞了啊. 首先,我要加几个链接 http://www.cnblogs.com/xin ...
- Lucene 实例教程(四)之检索方法总结
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本人声明.否则将追究法律责任. 作者: 永恒の_☆ 地址: http://blog.csdn.net/chenghui031 ...
- lucene 基础知识点
部分知识点的梳理,参考<lucene实战>及网络资料 1.基本概念 lucence 可以认为分为两大组件: 1)索引组件 a.内容获取:即将原始的内容材料,可以是数据库.网站(爬虫).文本 ...
- 用lucene替代mysql读库的尝试
采用lucene对mysql中的表建索引,并替代全文检索操作. 备注:代码临时梳理很粗糙,后续修改. import java.io.File; import java.io.IOException; ...
- Lucene的评分(score)机制研究
首先,需要学习Lucene的评分计算公式—— 分值计算方式为查询语句q中每个项t与文档d的匹配分值之和,当然还有权重的因素.其中每一项的意思如下表所示: 表3.5 评分公式中的因子 评分因子 描 述 ...
- 《高性能javascript》 领悟随笔之-------DOM编程篇(二)
<高性能javascript> 领悟随笔之-------DOM编程篇二 序:在javaSctipt中,ECMASCRIPT规定了它的语法,BOM实现了页面与浏览器的交互,而DOM则承载着整 ...
- 《高性能javascript》 领悟随笔之-------DOM编程篇
<高性能javascript> 领悟随笔之-------DOM编程篇一 序:在javaSctipt中,ECMASCRIPT规定了它的语法,BOM实现了页面与浏览器的交互,而DOM则承载着整 ...
- Lucene的分析资料【转】
Lucene 源码剖析 1 目录 2 Lucene是什么 2.1.1 强大特性 2.1.2 API组成- 2.1.3 Hello World! 2.1.4 Lucene roadmap 3 索引文件结 ...
随机推荐
- wps去广告
彻底解决WPS弹出热点广告.WPS购物图标的办法 方法一:(一定有效) https://www.cnblogs.com/ytaozhao/p/5654149.html 一直用WPS,但一直有一个问题迟 ...
- mysql常用压测工具
关键字:mysql压测工具 mysqlslap.sysbench 基准测试sysbench 压力测试 tpcc 具体怎么使用百度
- mac上Android反编译工具apktool、dex2jar入门
MAC上Apktool的安装 官网链接 image.png 使用步骤如图1-6 第一:下载一个shell脚本,保存的名字就是”apktool”,不要带.sh后缀.可以复制到sublimetext, ...
- SQL Server服务器CPU爆高解决
昨天下午,测试反映trunk测试环境的数据库CPU一直100%,一开始以为是病毒,内网这段时间老是有个挖矿的病毒,查了一下被隔离了,但是数据库还是慢,停掉SQL server的服务CPU降下来,启动S ...
- git diff 与 git diff --cached的不用
git diff比较的是工作目录中当前文件和暂存区域快照之间的差异, 也就是修改之后还没有暂存起来的变化内容.若要查看已暂存的将要添加到下次提交里的内容,可以用 git diff --cached 命 ...
- System.getProperty("user.dir")
/**获得当前类的完整路径.最后一句*/package test;import java.net.MalformedURLException;import java.net.URI;import ja ...
- python----GIL的概念
问题:多核没有利用上 GIL:全局解释锁 因为有GIL ,所以同一时刻,只有一个线程被CPU执行 任务:IO密集型,计算密集型 对于IO密集型的任务:python的多线程的是有意义的 可以采用多进程+ ...
- [LeetCode] 643. Maximum Average Subarray I_Easy tag: Dynamic Programming(Sliding windows)
Given an array consisting of n integers, find the contiguous subarray of given length k that has the ...
- 9.C# 类
1.类定义格式 [访问修饰符]class 类名 [:父类名,接口名,接口名] { //类成员 } 类的访问修饰符有public.internal两个,没有标明访问修饰符默认为internal,被int ...
- Linux基础(三)Shell test 命令
Shell test 命令 Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值.字符和文件三个方面的测试. 数值测试 参数 说明 -eq 等于则为真 -ne 不等于则为真 -gt ...