现在就让我们来安装一个属于自己的搜索引擎,不用买域名、不用买服务器只需要你有一台PC电脑就可以了。
首先下载一个phpStudy2018.exe软件(比较新的是这个phpStudy-x64-8.1.1.2.exe),用这个软件来搭建一个运行PHP的服务器平台。然后再下载一个开源的PhpSou搜索引擎(整合Sphinx) V3.1或其它你自己觉得合适的源码。
安装好phpStudy后,同时把PhpSou搜索引擎源码复制到phpStudyPHPTutorialWWW,然后点击 其它选项菜单-站点域名管理,网站域名填入127.0.0.1(这个ip地址就是我们等会打开搜索引擎要用到的)。网站目录E:phpStudyPHPTutorialWWW(这个www是放你搜索引擎源码的文件夹)
设置好后点击新增-保存设置并生成配置文件,接下来就是运行配置搜索引擎了。点击 其它选项菜单-My homePage(也可以在游览器地址栏直接输入刚才设置的ip地址127.0.0.1)如果是第一次运行,按软件要求设置数据库名称、密码什么的就可以了,然后进入PhpSou后台管理,按自己需要填好网站的基本设置.
这时数据库是空的(有些源码可能会带有一些数据)我们要在常规数据管理这里的网站管理、网址管理、网页管理这三项都添加一些网址进去,然后点击 网络爬虫管理-抓取网站-开启网络爬虫或点击 网络爬虫管理-抓取网页doang-开启网络爬虫
然后就会自动的不停的去抓取网址或者网页了。
是不是很清爽,没有了烦人的广告,是不是很厉害。
其实说得这么厉害,可惜对个人来说还是自娱自乐的性质。
一.需要设计一个搜索引擎数据库用于存放一些文章的信息及关键字,一旦有文章更新则更新文章中的信息及关键字段,搜索引擎在内存中完成所有的文章关键字段搜索,并且在此期间不允许有其他的 *** 作,比如说文章的更新等等。在此列出两个表:
Info Table
Document ID Key max 10-digit integer
Search ID max 10-digit integer
Symbol varchar(?) stock symbol
Country varchar(3)
PID varchar(?) performance ID
Sector Code max 5-digit integer
Ind Code max 10-digit integer industry code
Language varchar(2)
Report Year max 4-digit integer
Report Quarter max 1-digit integer
Call Date varchar(10) “yyyy/mm/dd”
Editor ID 5-digit integer
Words Table:
WordID int identity
Wordvarchar(30) ?
TranscriptIDint referenced TranscriptID from Info Table
二.Info Table:用于存放文章的基本信息,Words Table用于存放文章的关键字段。
假定关键字段如下: stock market quote price exchange,Mutual Fund, Hedge Fund, ETF Investment Research这些字段将存储在Words Table,并且有一个DocumentID与Info Table进行关联。
1.Words Table中列可能非常多,过亿后数据查询性能将非常低,该如何设计。(SQL版本为标准版)
2.关键字如何存储比较好,比如stock market quote price exchange是否需要进行拆分为单个的单词来存储,还是保存为短语比较好?另外,如果使用全文索引,性能如何?
3.搜索期间不允许其他的 *** 作,使用何种锁,事物级别更好?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)