2012-04-03 175 views
0

我正在寻找一种搜索引擎,可以搜索MySQL数据库并以类似的方式返回搜索结果。对于什么样的例子中,我找了你可以检查出搜索私人数据库的自定义搜索引擎

http://historio.ushttp://saveandsearch.com/

这两个应用程序让你的网站保存到自己的个人数据库,然后通过他们以后搜索。它就像一个个人Google搜索引擎,您只需填写您喜欢的网站即可。因此,不是搜索整个网站,而只是搜索您添加到其数据库的网站。

是否有某种开源搜索引擎可以作为起点?

+0

有很多全文,数据库存储的数据相关的搜索引擎。由于有很多,这取决于你*特别需要的东西。您提供的示例非常广泛,我建议您从带有WHERE子句的简单MYSQL SQL查询开始。 – hakre 2012-04-03 06:53:28

+0

这是与您的查询:http://stackoverflow.com/questions/4309325/php-mysql-search-for-the-website – 2012-04-03 06:54:13

回答

0

您在这里找的搜索引擎仅仅是数据库。您将数据插入数据库,然后通过用户名和关键字进行搜索。没有比这更复杂的了。

我给你一个例子(只是一些指针,SQL的)。用户登录到你的系统,并得到用户名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 

现在用户再次登录并搜索关键字'真棒'。你做你的查询:

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 

就是这样的。现在想起来了,你问这个引擎的源代码,我不知道,呃,对不起。但你可以使用这些技巧来构建你自己的一个:/

+0

是的,但我可以用什么来搜索它? – Nick 2012-04-03 07:15:41

+0

我给了你一个例子,但对你原来的问题,我不知道这种应用程序的任何来源,对不起。 – raPHPid 2012-04-03 09:14:50