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 索引文件结 ...
随机推荐
- java执行字符串数学表达式【记录】
https://stackoverflow.com/questions/3422673/evaluating-a-math-expression-given-in-string-form 1. goo ...
- SQL SERVER 2016研究四
SQL Server 2016 白皮书 内容:内存优化表 问题? -----内存优化表在2014版本推出,主要是如何作用?如何使用?目前有何变化? 内存优化表是可以将表放入内存中,能提升操作性能. - ...
- Redis入门到高可用(八)——list
一.结构 key - value 结构,value是一个有序队列. 可进行左边的添加及弹出,右边的添加及弹出. 可获取列表的长度,删除列表中指定元素,获取列表的子列表,按照索引获取列表的指定元素. 特 ...
- double类型相减有小数误差
如 :19.9-9.9=9.9999999999999,而不是10double相减会转换成二进制,因double有效位数为 16位这就会出现存储小数位数不够的情况,这种情况下就会出现误差 //两个Do ...
- 调用run与调用start的区别
调用start的结果 package TestException; public class test1 { public static void main(String[] args) { // 3 ...
- 122A
Copy #include <stdio.h> int main() { int dig; int flag=0; scanf("%d", &dig); if( ...
- PBFT(拜占庭容错)简述
共识算法 区块链中最重要的便是共识算法,比特币使用的是POW(Proof of Work,工作量证明),以太币使用的是POS(Proof of Stake,股权证明)使得算力变的不怎么重要了,而今PO ...
- 24-Python3 OS
24-Python3 OS ''' OS文件/目录方法 ''' ##os.access():检验权限模式 fo1 = open('/Users/ligaijiang/PycharmProjects/f ...
- [pat]A1072 Gas Station
这道题的结点编号是字符串类型,处理的过程很有意思,用getID将house和GasStation进行区分 #include<bits/stdc++.h> using namespace s ...
- React对比Vue(06 路由的对比)
其实差不多, 都需要先安装路由 React 先安装 cnpm install react-router-dom --save 在再根组件引入 import { BrowserRouter as Ro ...