【问题标题】:what are the steps to make a word search for a website?对网站进行单词搜索的步骤是什么?
【发布时间】:2013-10-05 05:46:13
【问题描述】:

我想写一个单词搜索,它连接到一个特定的网站(巨大的),从用户那里获取单词,搜索站点并返回包含该单词的字符串;这应该用 java 和作为 applet 编写.我已经阅读了一些关于此的教程和问题,并了解必须做的是:

1.连接到网站并获取网站内容并将其保存为字符串。(这应该使用网络爬虫完成,该爬虫将由我自己的代码制成,用于连接网站并将内容保存到字符串+ jsoup 库来解析 html 代码)。

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

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

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

5.制作一个显示搜索结果的UI(我使用swing.japplet)。

现在我的问题是:

1.我是否正确理解了我必须执行的步骤?(如果步骤是不必要或必要的,请详细说明)

2.有必要有数据库吗?

注意:我想自己实现,不使用现成的东西,如lucene,nutch,solr,...

edit:3个人告诉我applet不适合这样的事情,那么应该换什么?

非常感谢您的帮助。

【问题讨论】:

    标签: java search search-engine web-crawler keyword-search


    【解决方案1】:

    您应该考虑使用 Lucene,因为它可以完成您想要的大部分工作。

    你不应该使用小程序。

    【讨论】:

    • 不,我想自己实现。不是通过 lucene 等现成的东西,为什么不用小程序?
    • @user2841094 - 我已经在我的回答中解释了为什么小程序是一个坏主意。
    • 它应该是什么而不是一个小程序?一个网络服务?
    【解决方案2】:

    对于小数据集,数据库应该足够了。 mysql等数据库自带full text search functions

    对于更大的数据集,您可能需要考虑LuceneSolr

    【讨论】:

    • 你的意思是我应该使用mysql而不是nosql数据库?
    • 如果我是你,我会选择 solr。
    【解决方案3】:

    这是实现这一点的一种方法。另一种(更简单)的方法是使用现有的文本搜索/索引引擎,如 Lucene/Solr。使用数据库技术重新实现“文本搜索/索引”轮在我看来是浪费精力,除非您有充分的技术理由这样做。

    您确实需要某种数据库,因为动态索引网站根本行不通。 Lucene 会处理这个问题。

    我认为您选择 Java 小程序来构建 UI 是个坏主意。还有其他技术可以提供同样好或更好的结果......没有 Java 浏览器插件的安全风险。


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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-29
    • 2012-06-27
    • 2020-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多