Inside Lucene/超人气搜索引擎学习(0.5)-前传
上一节 下一节
搜索引擎的典型周期: 搜集数据->建立索引->应答搜索请求
无论有多少精彩的应用, 这个印刷时代就诞生的公式都不会作废, 公式中最关键的成分是 1. 数据, 2.算法. 虽然二者中谁对结果质量更重要依然引起争论, 我的精力并未放在这两者上. 关于spider已有数本出名的专著, 算法原理的本质也早不是秘密, 这是搜索引擎必备的条件, 是基础设备而不是制胜的杀手锏. 面对一个活生生的搜索引擎, 研究这两者就像面对解剖台上的小白鼠, 却放下手术刀去查上课用的内脏图解. 我只注意实现, 实现是商业效率的体现, 这才是真刀真枪狼烟四起的地方.
抛开数据采集, 上边的周期分成两个相(phase), 1. Indexing(建立索引), 2.Searching(搜索). 还有一个现在看来显得古怪的词-检索, 图书馆系统大多用这个词. 中国人的词汇总是显得睿智, “索”本有求取寻找的意思, "索引"原本就是为搜索创造的. 那些题目是"倒排索引原理"大篇幅对索引和模式匹配进行比较的文章, 因此有些让人哭笑不得. 上述的两个phase正是lucene覆盖的范围(Lucene核心不提供crawler), 这两个phase一个用于生成索引(index), 一个用于从index取出数据, 可以看出Lucene的一切行为都和index有关. 幸好Lucene官方指南 Lucene in Action 在附录中用浅显的语言介绍了index的结构, 这让人了解Lucene怎么把一片片文档塞进去, 就像绞肉机把一片片五花肉里脊肉搅成肉酱. 但是有点遗憾的感觉: 搜索过程怎么把index中支离破碎的数据记录(index的结构用法着实很像数据库)恢复成检索结果? 就像主妇们怎么用屠夫的肉酱作出香喷喷的肉丸?
我从Query 的构造开始, 详细检验了Lucene处理Query的过程. 这种努力使我了解到index中的记录(就是数据库中的record概念), 如何在检索过程中起作用. 这是深入把握Lucene实现的基础, 若要对Lucene作基础的调整和改动, 自然缺不了这一步(这是我的动机之一). 这种探索也帮助我了解原始文档资料的各种属性如何决定搜索结果, 进一步的研究可以揭示出文档各属性的重要性以及文档对查询条件的敏感性, 从这里出发可以提炼出更普遍的原理, 再结合通用的Search Engine原理, 把"Search Engine是什么, 长什么样"深深地刻在脑海中. 这对我是一次很好的搜索引擎进阶的途径. 接下来的就是所谓SE优化( Search Engine Optimizing ), 不敢讲这种天怒人怨的话题...
Inside Lucene/超人气搜索引擎学习(0.5)-前传相关推荐
- Inside Lucene/超人气搜索引擎学习(2.0)-读取索引
上一节 下一节 Index in Practice 索引: 按图索骥 TermDoc从哪读取数据,自然是硬盘上已经建好的某个index, 具体说, 是从index中的某个文件读取. 要了解TermDo ...
- 搜索引擎学习资源收集(转)
原文: http://blog.chinaunix.net/u/4764/showart_270897.html 搜索引擎学习资源收集 一.搜索引擎技术/动态资源 <一>.综合类 1.卢亮 ...
- 搜索引擎学习资源(作者:dongdonglang)
搜索引擎学习资源收集 作者:dongdonglang http://www.dunsh.org/forums/thread-2716-1-2.html 一.搜索引擎技术/动态资源 <一> ...
- 【java毕业设计】基于java+Lucene+Tomcat的搜索引擎设计与实现(毕业论文+程序源码)——搜索引擎
基于java+Lucene+Tomcat的搜索引擎设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Lucene+Tomcat的搜索引擎设计与实现,文章末尾附有本毕业设计的论文和源 ...
- 下载频道2013下半年超人气精华资源汇总---全都是免积分下载。
下载频道2013下半年超人气精华资源汇总---全都是免积分下载. 十分感谢这些免积分分享精华资源的好人!! 转自:http://bbs.csdn.net/topics/390674613 Androi ...
- Hawk搜索引擎平台0.6.9测试版(提供下载)
Hawk搜索引擎平台0.6.9测试版(提供下载) Hawk 搜索引擎平台是面向中小型网站,可以定制的垂直搜索引擎平台.本搜索引擎平台目标是方便用户搭建站内搜索.某个领域的垂直搜索.以及检索个人文档以及 ...
- 博客秘诀:超人气博客是怎样炼成的(提升博客人气不可不用的绝招)
博客秘诀:超人气博客是怎样炼成的(提升博客人气不可不用的绝招) 基本信息 原书名: ProBlogger: Secrets for Blogging Your Way to a Six-Figure ...
- 仅30行代码,实现一个搜索引擎(1.0版)
说到搜索引擎,一般人都会觉得这东西十分"高大上",对于不了解搜索引擎实现方式的小伙伴而言,确实能够感同身受. 国内著名的搜索引擎代表非百度莫属,而国外著名的搜索引擎代表则非谷歌莫属 ...
- PHP取经(二)变量、标量、特殊类型、常量——超详细PHP学习笔记
初学小白超详细PHP学习笔记 定义变量 PHP-变量名的命名规则 变量的数据类型 标量类型--布尔类型 详述数据类型中的整型 标量类型 标量类型-浮点型 标量类型-字符串 当字符串中引号遇到美元咋办? ...
最新文章
- 基于WordNet词典的本体源
- hdu 4607 Park Visit 求树的直径
- Xml,XPath,XSLTxue 学习方法
- android_launcher的源码详细分析和壁纸修改 .
- 【吾悟】《易经》有感程序人生
- 04_ReplaceBlank
- python判断字符串是纯数字_python判断字符串是否纯数字的方法
- Java的堆与栈,科普给大家
- 用w32tm设置服务器时间同步
- 专访 openEuler 江大勇:对美好的向往就是越有能力越开放
- 脚本——web_custom_request函数详解
- 集成源码深度剖析:Fescar x Spring Cloud 1
- 计算机系统 I 第二章 逻辑门与逻辑函数化简 学习笔记
- TypeError: ufunc ‘true_divide‘ output (typecode ‘d‘) could not be coerced to provided outp
- Frenet和笛卡尔坐标系互转
- 苹果亮度自动调节怎么关闭_笔记本黑苹果系统亮度调节驱动
- iPhone手机 app加密和换图标
- html5账号秘密,JavaScript有关的10个秘密和怪癖
- 1737 - 满足三条件之一需改变的最少字符数 - 枚举 - 贪心
- 深度解读《关于防范NFT相关金融风险倡议》透露哪些监管信号与数字藏品新发展之路?
热门文章
- 44个路由器知识要点
- 金仓数据库 KingbaseES PL/SQL 过程语言参考手册(12. 异常处理)
- ssh 修改超时时间
- 【设计模式05】单例模式
- Uniapp 应用消息通知插件 Ba-Notify
- 软工网络15团队作业7——Alpha冲刺之事后诸葛亮
- android 备份游戏数据,用于Android游戏存档备份和存档还原的教程(图形中的详细信息)...
- Docker容器添加映射端口
- 微信小程序云开发安装云函数依赖时候,一直显示install-save不能识别的命令
- LinuxC中“库函数”的使用和常用的“输出函数”。