搜索引擎软件使用说明书.doc
《搜索引擎软件使用说明书.doc》由会员分享,可在线阅读,更多相关《搜索引擎软件使用说明书.doc(16页珍藏版)》请在冰点文库上搜索。
![搜索引擎软件使用说明书.doc](https://file1.bingdoc.com/fileroot1/2023-4/30/929b9fef-b8d2-475b-9ab5-47adf2e6e125/929b9fef-b8d2-475b-9ab5-47adf2e6e1251.gif)
16
搜索引擎软件V1.0
搜索引擎软件
使用说明书
1软件概述
1.1编写目的
随着计算机产业的迅猛发展,搜索引擎也应运而生。
用户直接获得自己想要的信息其实是很简单,但是面对着简单的搜索框,很多用户都只是了解大概,要想了解的更彻底关键在于学会怎么来用。
为了用户能够更快更方便的获得想要的信息,本人针对自己开发的搜索引擎包特编写了使用说明书。
1.2搜索引擎介绍
1.2.1搜索引擎定义
搜索引擎主要用于帮助互联网用户查询信息的搜索工具,它以一定的策略在互联网中搜集、发现信息,对信息进行理解、提取、组织及处理,并且能为用户提供检索服务,从而起到信息导航的目的因此,搜索引擎是用来在网上找资料的工具。
1.2.2搜索引擎系统结构图
图1系统结构图
1.2.3主要功能
本人开发的搜索引擎主要是进行信息检索,从而返回检索结果。
搜索引擎将用户所产生的一些信息列入了排序因素中,具有对各大商城的网站进行抓取、建立索引、搜索比价的功能。
它是网络营销中最重要的组成部分,是向终端客户传递信息的重要环节。
搜索界面如下图:
1.2.4主要特点
1.2.4.1快速地为搜索文件建立索引,支持追加,重建,和不同编码的搜索文件。
1.2.4.2搜索引擎支持关键字搜索,与或非逻辑搜索,支持按需返回搜索结果。
1.2.4.3web服务器能快速连接搜索引擎,支持用户的多样化搜索,并展示搜索结果。
2如何编译fts
1.aclocal
2.automake--add-missing
3.autoconf
4../configure
5.make
编译成功以后,在../src/目录下,有index.exe,search.exe和shutdown.exe。
2.1index.exe
index.exe是对网络爬虫抓来的网页建立索引,-D源目录,-d索引目录,-R重建索引(只在第一次用),-c国标或台湾
$./index-D/cygdrive/c/tf/src/-d/cygdrive/c/tf/trg-R-cGB2312
Startindexing...
Indexing/cygdrive/c/tf/src/Copyofbaima.t4i
#ofFilesProcessed:
1
#ofFilesIndexed:
1
TotalDataProcessed:
136.242KB.
AverageProcessingRate:
45.4141KBps.
TotalTimeUsed:
3seconds.
TotalProcessorTimeUsed:
2.875seconds.
CPUUsage:
95.8333%
2.2search.exe
Search.exe会在已建立的索引上运行一个socket服务器,可以接收多个搜索请求,默认听在端口30001。
$./search-d/cygdrive/c/tf/trg/
InfoAcerFTSSearchEngineisrunningonport30001.
搜索请求的格式是:
GET3<关键词>
WITH_HILITE 在搜索结果中高亮关键词
WITH_RANKING按照评分的标准
WITH_ID_PATH返回文件路径或URL
WITH_SORT 排序
返回结果以TLV来切分多个结果。
2.3shutdown.exe
Shutdown.exe用来安全关闭search.exe的服务。
3如何使用
3.1搜索引擎准备事项
3.1.1搜索引擎软件包
图2搜索引擎软件包
我们要用到以下两个文件:
Index.exe用来建立索引。
Search.exe用来开启搜索引擎。
3.1.2t4i文件
t4i文件即为*.t4i文件,它是要检索的内容来源。
与该搜索引擎匹配的t4i文件须有如下格式:
<1>content1<\1><2>content2<\2><3>content3<\3>.......
红色部分为详细内容。
比如一手机信息的t4i文件为:
图3
现版本搜索引擎仅支持Big5和GB2312编码,所以t4i文件中应采用以上两种编码。
为支持全文搜索,强烈建议增加最后一个栏位,添加所有信息。
如图中栏位<6>。
3.1.3文件拷贝
通常,把t4i文件拷贝到search/tf/src/目录下(假定search.exe和index.exe在search/目录下),如图4所示:
图4
另在tf目录下新建文件夹trg。
(缺少该步骤建索引时会报错)
3.2建立索引并开启搜索引擎
3.2.1建索引
index.exe是对t4i文件建立索引,-D源目录,-d索引目录,-R重建索引(只在第一次用),-c国标或台湾–r遍历子目录可用–h查看帮助。
运行命令提示符,转到搜索引擎目录。
建索引命令格式
index.exe–Dtf\src–dtf\trg–R-r–cGB2312
索引建立完毕,结果如下:
3.2.2开启搜索引擎
Search.exe会在已建立的索引上运行一个socket服务器,可以接收多个搜索请求,默认听在端口30001。
命令如下,执行后程序便会在30001端口监听搜索请求。
3.3使用搜索引擎
需要发送两条TCP包和接受两条TCP包来完成搜索过程。
第一步:
与search.exe建立socket连接。
第二步:
发送搜索请求。
QUERYVECTOR:
(keyword)#Num;\n
其中keyword表示要查询的关键字,Num表示栏位号码。
如想在栏位6中搜索“诺基亚”,搜索请求命令这样写:
QUERYVECTOR:
(诺基亚)#6;\n
另外,还支持多栏位搜索,可通过&|!
来创建与或非逻辑表达式。
如果想搜索太平洋商城的诺基亚,搜索请求命令这样写:
QUERYVECTOR:
(诺基亚)#6&(太平洋)#0;\n
一般说来,搜索引擎反馈结果为OK2;\n
是搜索引擎内部的ID,有多少个ID就有多少个cache搜索结果。
是此次搜索共有多少个结果。
如OK20100表示搜索到100个结果。
如果接收到FAILED2-1;\n或其他,表示本次搜索失败。
通常是搜索请求命令有错。
第三步:
发送接收搜索结果命令。
GET3WITH_SORTWITH_HILITEWITH_ID_PATH;\n
是从上一个OK回复得来的,同时也知道有多少个命中
表示请求搜索结果的ID。
可把搜索结果想象一数组,两参量表示数组下标。
WITH_HILITE是返回需要高亮的关键词(不一定和用户输入结果一致)
WITH_SORT是对结果进行排序WITH_ID_PATH是返回原始文件本地路径
如想得到前两个结果:
GET301ITH_SORTWITH_HILITEWITH_ID_PATH;\n
搜索引擎响应:
OK13#<>
content是该t4i的内容。
此回复会含多个<.ranking>,具体数目是由决定的。
如果不涉及价位区间搜索,到此就该结束了。
如果要做区间,可参考下面文字(图5)。
图5
4前期处理
图6前期处理流程图
在网络爬虫程序把目标网页存到本地后,应该用处理程序进行初步处理,根据不同的字典来进行扫描,将html控制代码,多余的广告的无用信息去除,只保存有命中率的页面并存成纯文本格式,这样会提高索引准确率和效率。
这里提到的字典是人工创建的,开发人员应将不同类别的关键词汇放到字典文件中,由前期处理程序读取并记录每个目标页面关键词的命中率,当所有关键词的命中率为0时,此页面将被丢弃,否则转换成文本格式以便建索引。
如何建立字典?
除了人们日常的词汇,开发人员应下载一些不同类别的目标页面,搜集最新关键词来丰富词典,从而提高字典的准确性。
如果想要不同的分类,比如餐饮,电子和旅游,那么就要有三个字典,分别包含餐饮,电子和旅游的关键词。
这样通过前期处理程序就会有三类文本文件,分别对应餐饮,电子和旅游这三类。
也就意味着有三个分类索引,这样用户就可选择不同类别的搜索。
这样用户可以选择不同类别来搜索,可以增大命中率。
当然也可以选择所有类别来搜索。
5搜索界面
应由java语言写成,提供不同类别的搜索界面,就像雅虎的分类搜索,列出所有的类别。
用户也可以搜索所有类别,但搜索引擎就会跨越所有类别,速度和准确率都会有所下降。
6Handler环境搭建与配置
Handler是搜索引擎与客户端的中间环节,负责向搜索引擎请求搜索数据,并把返回结果展示给客户端。
该部分是基于RubyonRails开发的,接下来将带你一步步搭建和配置该环境,并进行测试。
步骤如下:
üRubyonRails的下载与安装
ü工程文件导入
ü开启搜索引擎
ü开启服务器
ü测试,界面浏览
6.1RubyonRails的下载与安装
InstantRails最新版本为2.0,下载地址是
http:
//rubyforge.org/frs/?
group_id=904&release_id=17517。
下载这一个
InstantRails是绿色软件,下载完毕后解压即可使用。
6.2工程文件导入
üRails工程文件导入
将test文件解压到%railsroot%\InstantRails-2.0-win\rails_apps下,其中%railsroot%是InstantRails的安装路径。
下图为本机上的解压路径。
üt4i文件导入
将t4i文件拷贝到%serchroot%\Search\tf\src下,%serchroot%是搜索引擎search所在目录。
6.3开启搜索引擎
ü建立索引
运行命令提示符,进入搜索引擎search所在目录。
输入命令如下:
结果如下:
ü启动搜索引擎
命令如下,执行后程序便会在30001端口监听搜索请求。
6.4开启服务器
在开启服务器之前,需要针对搭建环境修改部分代码。
ü更改IP
如果不是本机测试,即搜索引擎和handler不在同一台机器上运行,需要修改%railsroot%\InstantRails-2.0-win\rails_app\test\app\controllers\bridge_controller.rb文件,将Line20中“127.0.0.1”改为搜索引擎所在主机的IP地址。
%railsroot%是InstantRails的安装路径。
本机运行跳过此步骤。
ü重定位资源文件目录
打开%railsroot%\InstantRails-2.0-win\rails_apps\test\app\views\bridge\search.html.erb
将Line29中的
"E:
\\java\\workspace\\heritrix\\jobs\\JingDongShangCheng-20110707095841078\\mirror"替换为抓取的网页所在目录。
否则浏览时不能显示图片。
ü启动服务器
打开%railsroot%\InstantRails-2.0-win\InstantRails.exe,点击“工”字形图标,在弹出网页中选择RailsApplications\ManageRailsApplications...
在弹出的RailsApplications页面下勾选test工程,点击ConfigureStartupMode...可以配置端口,这里我使用的是3003端口。
点击按钮StartwithMongrel。
服务器启动完毕效果如下:
6.5界面浏览测试
打开IE,键入地址http:
//localhost:
3003/bridge/index,结果如图7所示:
图7
在图8中输入搜索关键字,如“华为”,点击“search“按钮,可搜索到商品网页。
图8
图9
如图9中的商品网页,有相关的广告栏位、分类选项、搜索结果等。
搜索结果的价格可以做比较,点击图9中的“比购一下”按钮,则会弹出各个商家的报价信息(如图10所示),通过价格比较,确保您能找到最低价的商品。
图10
点击图9中标注的“more”,则会出现商品(华为U8800手机)的详细信息,如图11。
图11
搜索结果的图片可以放大,将鼠标放在手机图片上,则会出现华为手机大图(图12)。
图12