拥有自己的搜索引擎

拥有自己的搜索引擎,第1张

虽然现在已经很少人使用PC电脑去找资料了,但有时候还是不可避免要用到,当你搜索资料时你会发现现在的搜索引擎首先出现的是一大堆的广告,是不是很烦。

现在就让我们来安装一个属于自己的搜索引擎,不用买域名、不用买服务器只需要你有一台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.搜索期间不允许其他的 *** 作,使用何种锁,事物级别更好?


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10100457.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存