2013-10-05 28 views
0

我想写一个单词搜索,它连接到一个特定的网站(巨大的),从用户那里接收单词,搜索网站并返回包含单词的字符串;这应该用java编写,并作为一个小程序。我已阅读了一些关于此的教程和问题,并了解必须完成的工作是:有什么步骤来为网站进行词语搜索?

1.连接到网站并获取网站的内容并将其保存为字符串(应该使用webcrawler这将从我自己的代码连接到网站,并将内容保存到一个字符串+ jsoup库来解析HTML代码)。

2.将数据保存到数据库(在我的情况下是nosql数据库)。

3.索引数据库中的数据。

4.查询数据库以显示结果。

5.生成用于显示搜索结果的UI(我使用swing.japplet)。

现在我qustions是:

1.have我的理解正确,我得走了(请说明我在细节,如果一个步骤是不必要的或必要的)

2.Is有必要的步骤?有一个数据库?

通知:我要实现它自己,而不使用现成的东西,如Lucene的,Nutch的,Solr的,...

编辑:3人告诉我,小应用程序不适合这样的事情,那么应该怎么是替代品吗?

很多非常感谢您的帮助。

回答

0

你应该看看使用Lucene,因为它可以完成你想要的大部分功能。

你不应该使用小程序。

+0

不,我想自己实现它。没有准备好诸如lucene之类的东西,为什么不使用applets? – fereshteh

+0

@ user2841094 - 我已经解释了为什么applet在我的答案中是个坏主意。 –

+0

它应该是什么,而不是一个小程序?一个Web服务? – fereshteh

0

对于小数据集,数据库应该足够了。像mysql这样的数据库附带full text search functions

对于较大的数据集,你可能想要考虑LuceneSolr

+0

你的意思是我应该使用mysql而不是nosql数据库? – fereshteh

+0

如果我是你,我会和solr一起去。 – interskh

0

这是实现此目的的一种方式。另一种(更简单)的方法是使用像Lucene/Solr这样的现有文本搜索/索引引擎。使用数据库技术来重新实现“文本搜索/索引”轮的努力会让我感到浪费精力,除非您有足够的技术理由这样做。

您确实需要拥有某种数据库,因为在飞行中索引网站根本不起作用。 Lucene将处理该问题。

我认为你选择Java applets来构建UI是一个坏主意。还有其他技术可以使结果一样好或更好......没有Java浏览器插件的安全风险。


最后,让您的网站搜索的另一种方法是让Google为您做。使您的网站内容可以索引,然后使用Google的搜索API。

+0

我可以用更好的技术指导我吗? – fereshteh

+0

开始看着这个:http://stackoverflow.com/questions/2055430/list-of-rich-web-application-technologies –

+0

非常感谢斯蒂芬,这真的是我应该看看。 – fereshteh

相关问题