分布式系统学习笔记
Lab1.Distributed Password Cracker
实验内容:
概述
实现一个基于互联网环境的分布式”密码”暴力破解应用,”密码”由不可逆的Hash函数生成
Lucene只是一个提供建立索引和搜索功能的工具箱
以下是一个普通搜索程序的必要组件
获取内容
包括从网络,文件系统,数据库,获取数据内容,获取内容的难易程度和功能需求紧密相关,Lucene不提供内容获取功能
建立文档
将原始内容转化为便于索引的部件(Document).文档包含一些带值的域用于描述文档.
例如:documen.add(new TextField("fieldName","content"))
问题的关键是将内容分割成合适的Document和Field
文档分析
Lucene提供了大量的分析器,可以对文档的整个内容进行语义上的分析,分割,提取等等控制性的操作,最后生成对建立索引有益的语汇单元
文档索引
将文档加入到索引列表
从索引中查找单词,从而找到包含该单词的文档
用户界面(UI)
互联网高度发达的今天用户交互体验已经上升到了决定产品成败的关键地位.用户从用户界面提交一个搜索请求,该请求首先转换成合适的查询(query)对象格式,供搜索引擎使用
建立查询(Build Query)
Lucene提供QueryParse,将用户输入的文本处理成查询对象
搜索查询(Search Query)
查询索引并返回于查询语句匹配的文档,可以对查询结果进行搜集,过滤,排序
展现结果