我正在寻找能够搜索MySQL数据库并以与Google搜索类似的方式返回结果的搜索引擎。有关我正在寻找的内容的示例,您可以查看
http://historio.us和http://saveandsearch.com/
这两个应用程序都允许您将网站保存到您自己的个人数据库中,然后再搜索它们。它就像一个个人谷歌搜索引擎,你只能填写你喜欢的网站。因此,它不是搜索整个网络,而只搜索已添加到其数据库的网站。
我是否可以使用某种开源搜索引擎作为起点?
答案 0 :(得分:0)
您在这里寻找的搜索引擎只是数据库。您将数据插入数据库,然后通过userid和关键字进行搜索。它并不比那更复杂。
我举一个例子(只是一些指针,SQL)。用户登录您的系统并获得用户ID 7,然后他进入新网站“www.newsite.com”,您将其输入您的数据库。
insert into sites (id,sitename) values (site_new_id, 'www.newsite.com');
insert into user_sites(userid,siteid) values (7,site_new_id);
现在接下来是困难的部分,你需要知道网站的关键字是什么。在那里你必须做一些研究,如何做,也许有人知道现成的模块(也许这就是你实际问的)。以某种方式检查关键字(使用cURL或其他东西)。将这些关键字记录到表中,并将这些关键字链接到网站。
insert into keywords(id,keyword) values (keyword_new_id,'awesome');
insert into keywords(id,keyword) values (keyword_new_id2,'software');
insert into keywords(id,keyword) values (keyword_new_id3,'here');
insert into site_keywords(siteid,keywordid) values (site_new_id,keyword_new_id);
... etc
现在用户再次登录并使用关键字“awesome”进行搜索。您进行了查询:
SELECT sitename
FROM sites s, keywords k, site_keywords sk, user u
WHERE k.keyword = 'awesome' AND k.id=sk.keywordid AND sk.siteid=s.id
AND u.site_id = s.id AND u.id = 7
这样的事情。现在我想到了,你问过这个引擎的来源,我不知道,呃,对不起。但是您可以使用以下提示构建自己的一个:/